ubuntu12.04->mini2440移植内核模块

准备移植驱动【内核模块】,从hello开始,

摘:Linux设备驱动属于内核的一部分,Linux内核的一个模块可以以两种方式被编译和加载:

  (1)直接编译进Linux内核,随同Linux启动时加载;

  (2)编译成一个可加载和删除的模块,使用insmod加载(modprobe和insmod命令类似,但依赖于相关的配置文件),rmmod删除。这种方式控制了内核的大小,而模块一旦被插入内核,它就和内核其他部分一样。

摘:最近开始搞内核模块的交叉编译,意思是在pc机上面编写能在arm上面insmod的模块,以下是注意点:

1)打开2440开发板自带的光盘,把开发板操作系统的内核拷贝到电脑linux系统下面,名称为linux-2.6.32.2-mini2440-20110413.tar,解压,发现里面有config_mini2440_w35将这个文件重命名为.config

2)转到交叉编译链目录下,创建硬链接ln arm—angstrom——gnueabi-objdump arm-linux-objdump

ln arm—angstrom——gnueabi-objcopy arm-linux-objcopy ln arm—angstrom——gnueabi-nm arm-linux-nm

下一步make要用到这个

3)转回mini2440的内核目录,make

这个时候应该就没有问题了,必须要编译这个内核,因为编译内核模块代码的时候,需要用到此编译过程中的.o文件,如果不编译,会出现很多找不到文件的错误,及其郁闷!!

现在就可以写arm内核模块了。

Kconfig产生menuconfig上面的选项

make menuconfig产生./config文件,make 产生vmlinuz文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值