本人用的是iTop4412的开发板,在学习linux驱动教程中,发现在平台文件下注册设备后,接着编译内核make zImage时,下到开发板中总是重启,一度很纠结,
方法:在make zImage前,加入cp config_for_linux_pop/scp_elite .config,即可解决问题。
问题分析:
make zImage在编译前,一定要配置好缺省文件,即是如果你之前make zImage时用过
cp config_for_xxxx_scp/pop_elite .config
命令后,你的ubuntu系统会默认你每次编译内核都是在此默认环境下编译的,
但当你要烧写linux系统内核(不是之前的xxxx系统时)时,就要注意了:
1、不同系统的uboot都是一样的;
2、平台文件注册设备生效就得重新编译内核,make zImage
2、根文件系统.ramdisk-uboot.im和system.img也是不一样的;
3、你是在linux系统下注册设备编译内核,所以uboot和根文件系统没有改动,只是将内核重新编译下即可,然后fastboot进开发板,但是若不配置下缺省文件,make zImage后的内核可能是你之前一次配置缺省文件的xxxx系统内核,fastboot开发板后和你的根文件系统不匹配,当然出问题了,重启,键盘按键失效都有可能,
所以,要明确自己是要编译什么系统,然后配置对应的缺省文件,在编译内核,若是linux系统就是
cp config_for_linux_pop/scp_elite .config
安卓系统是
cp config_for_andro_pop/scp_elite .config