关于内核移植和驱动加载的问题

1.什么是内核

内核其实就是你下载的内核软件包里的东西,比如:linux-2.6.28.tar解压后里面的所有的文件和代码就是内核。

2.板子上移植的uImage或则zImage是什么

其实板子上我们用的uImage其实也就是内核,但他不是我们平时能编写的内核程序,他其实是内核源代码经过编译后的一个可执行的镜像文件。就有点想我们单片机写好代码编译后的hex文件。

3.编译内核出现的问题


内核编译时出现这个问题,解决的方法可能有几种(前提是你的Makefile是正确的

(1)、需要建立内核树:#make modules           #make modules_install

这两个命令执行完后 一般会在   /lib/modules/ 里生成对应的文件

(2)、如果上面命令执行完后make还是不行,就试试 make oldconfig && make prepare

 执行完后在make

(3)、如果上面的都不行就要改Makefile了:把makefile里的   $(PWD) modules 改成 $$PWD 就可以了


4、在终端运行时出现这个错误:

insmod: cannot insert 'myled.ko': invalid module format

那么一定是编译的内核版本和arm里的内核版本不一致。(不一致的原因很多,有可能是你移植的内核就跟你编译的内核不一样,也有可能是你的开发板根本没有从你的SD/mmc里启动 他是从flash里启动的,所以当你怎么改sd卡的内核,发现板子的内核始终没有变是,肯定是这个原因,解决办法就是设置板子从SD卡启动



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值