东方青 发表于 2015-12-26 22:51:08

Android-PAD版,编译内核后,更新内核无效,为何?

本帖最后由 东方青 于 2015-12-26 23:22 编辑

我使用的是Android4.4 PAD版系统,我自己写了个驱动,想使用,
编译内核时,使用:make firefly-rk3288-linux_defconfig更新生成默认的.config,
然后再使用make menuconfig配置添加我的驱动程序。
编译成功后,生成kernel.img和resource.img镜像;
我将这两个镜像在Linux环境下使用命令:
sudo upgrade_tool di -k kernel.img
和命令:sudo upgrade_tool di resource resource.img
更新内核和资源镜像,但是整一个系统直到启动成功,也没有发现运行了我的代码!
以上可能是我的配置有问题!
但是我按照暴走的阿sai的视频教程,http://developer.t-firefly.com/thread-298-1-1.html
直接按照他的做法将他的代码copy进内核,修改好drivers目录下的Kconfig和Makefile文件,
然后使用make menuconfig配置好.config文件,最后编译,同样的将生成的kernel.img和resource.img镜像烧录到板卡中,正常启动板卡后,也没有看到相应的现象在串口打印出来!

这是为何?我还需要配置其他东西吗?parameter文件我已经检查过了,没有变化,理论上我只是更新内核和资源,不需要更改parameter文件的。并且我确定使用视频例程时,例程已经编译了,生成了hello.o文件。
请问这是为何??

madman 发表于 2015-12-27 17:56:22

可以看串口log 的kernel的时间信息是不是你编译的,另外有些boot会包含kernel,不包含kernel的boot.img一般就1.2m大小

jingjin221 发表于 2015-12-28 10:33:21

第一:增加驱动,要更新BOOT和RESOURCE连个BLOCK
第二:需要在ANDROID下./mkimage -ota才行!

东方青 发表于 2015-12-28 12:56:53

jingjin221 发表于 2015-12-28 10:33
第一:增加驱动,要更新BOOT和RESOURCE连个BLOCK
第二:需要在ANDROID下./mkimage -ota才行!

嗯嗯!是的!分别测试了一下,老的镜像只需要更新kernel和resource就可以!但是新的镜像,需要更新boot!启动方式调整了吧!

东方青 发表于 2015-12-28 14:11:01

madman 发表于 2015-12-27 17:56
可以看串口log 的kernel的时间信息是不是你编译的,另外有些boot会包含kernel,不包含kernel的boot.img一般 ...

谢谢!经你的提醒!已经解决!应该是现在新的版本的启动方式和老版本的启动方式的差异,所以我的更新无效!

madman 发表于 2015-12-28 15:18:29

./mkimage 不家ota参数的情况下,你把生成bo o t.img烧一下就可以了,bo o t.img包含kernel的话会优先使用boot里面的
页: [1]
查看完整版本: Android-PAD版,编译内核后,更新内核无效,为何?