设为首页 加入收藏

TOP

针对TQ2440开发板上Linux2.6.30.4内核的交叉编译和驱动程序的移植
2014-11-23 21:31:43 来源: 作者: 【 】 浏览:15
Tags:针对 TQ2440 开发 Linux2.6.30.4 内核 交叉 编译 驱动程序 移植

一,内核的交叉编译:


1.准备2.6.30.4版本的内核源码包,这个我使用的是天嵌公司提供的内核源码包linux-2.6.30.4_20121214.tar.bz2。


2.打开终端输入指令:tar vxjf linux-2.6.30.4_20121214.tar.bz2 解压内核源码包得到一个名字为opt的文件夹,然后输入指令:sudo mv opt /usr/local/ 将源码剪切至usr/local下,当然这个你可以选择移动到其他你喜欢的文件夹下。


3.输入指令:cd /usr/local/opt/EmbedSky/linux-2.6.30.4 进入到内核源码的目录,然后输入指令:ls 查看文件,找到一个名字为config_EmbedSky_W43(我的触摸屏是4.3寸的,所以选择这个),然后在当前目录下输入指令:cp config_EmbedSky_W43 .config,复制一份把他的名字修改为 .config。


4.登录root,输入指令:make menuconfig,然后弹出linux配置的界面--Linux Kernel Configuration,选择最后一项--Save an Alternate Configuration File,然后选择ok保存配置。


5.输入指令:make 进行编译即可(root权限)。什么交叉编译路径的配置和支持平台的配置,人家天嵌公司在源码里面的Makefile文件里早就给你配置好了,这个无需担心。等待编译结束后,进入内核的源码文件夹下vmlinux,交叉编译成功!


二,驱动程序的移植:


当顺利完成内核的交叉编译工作后,接下来就可以着手把驱动程序移植到目标板的系统内核中了,你只需要注意Makefile文件的编写,把2.6.30.4内核的路径和交叉编译工具链arm-linux-gcc加进去,然后接下来直接输入make指令,便编译出了可以加载进TQ2440目标板系统内核的驱动模块了。


具体Makefile的源码如下(假设我要编译的驱动程序的名字为mybeep):


obj-m:=mybeep.o


CC=arm-linux-gcc


KERNELDIR=/usr/local/opt/EmbedSky/linux-2.6.30.4


PWD:=$(shell pwd)


default:


$(MAKE) -C $(KERNELDIR) M=$(PWD) modules


clean:


$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇TQ2440上LED灯闪烁效果的驱动程序.. 下一篇Linux内核驱动入门之阻塞操作实验..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: