linux下arm驱动开发环境配置

倒腾了好几天的环境配置了,算是知道怎么玩这个鬼东西了,

首先:驱动有两种情况,一种是linuxPC端的驱动,一个是arm端的linux驱动,

而驱动程序写了之后,需要有内核代码里面的文件帮助编译,也就是说,一个驱动程序要编译,需要内核的代码,而环境配置,就是把需要的内核文件进行整理,让驱动程序能成功编译。

原料:linux源代码,arm-linux-gcc

因为你需要把驱动代码(,ko)编译好了之后放到开发板里面运行,所以一定是要交叉编译的,

解压linux源码:

tar zxvf linux-XXX.tar.gz

然后Cd进去,找到linux下面的arch/arm/configs/

cp s3c2410-defaults .config  //注意有一个点在config前面

vim Makefile 大概在190行左右改为

ARCH ?=arm

CROSS_XXXX?=arm-linux-

然后mv .config到根目录,既linux-xxx下面

然后make menuconfig

在systemp->support里面找到对应的开发板,我的是2440的

然后退出,之后

make

make install

就编译完了,,如果期间出现了一些错误,基本是缺少库文件,直接百度,然后扎到对应的文件yum或者apt-get就可以了

编译完了之后/arch/arm/boots/下面会出现一个zImage

然后make modules

make modules_install

这样之后/lib/modules/下面会出现一个代表linux版本的文件,这就是整理好的内核代码需要的库文件

接下来在编写Makefile的时候,用这个目录下的 build就可以了。


PS:arm版的linux版本要和你编译的linux的版本一致,不然运行的时候会出错的



你可能感兴趣的:(linux下arm驱动开发环境配置)