参考文档:
http://www.doc88.com/p-085374466799.html
http://wenku.baidu.com/view/a6206d363968011ca3009110.html
http://blog.163.com/wenwen10090215@126/blog/static/173322114201242615338510/
拿到M6板子及相对应的编译指南,编译还算顺利,按照文档步骤,顺利编译成功。
之后,拿到板子开始烧写。
首先制作SD卡,SD预留10M的空间,因为没有仔细看SD卡柱面大小, 文档的例子是预留3个柱面作为u-boot空间,呀,结果 我的每个柱面也就 0.46兆,那里有够10兆哦,
按文档使用winHex 一直说文件大小不对,后来改成 21个柱面还是不对,NND 干脆放弃 winHex 在linux 下,使用DD 命令完成了 SD 卡的制作,不过奇怪,制作的SD卡好像没用(也就是把文件直接copy到SD内,就进行了u-boot的烧写),我的烧写u-boot的命令是:
mmcinfo;
fatload mmc 0:1 82000000 u-boot.bin; ----- 从SD卡下载u-boot.bin到制定位置。
sf probe 2;---------------------------------------------探测SPI flash
出现:SPI NOR Flash have write protect!!!
sf erase 0 60000;------------------------------------擦出0---60000区间的字节
sf write 82000000 0 60000; -------------------- 将内存从82000000 开始的 60000字节 写入SPI
reset --------------------------------------------------- 重新启动板子CPU。
在reset后出现:
Wrong Image Format for bootm command
ERROR: can't get kernel image!
之后断电,直接进入了刚烧写的u-boot 。
证明烧写u-boot成功了。
下面开始升级,悲具来临了,在uboot下,执行
mmcinfo;
fatload mmc 0:1 82000000 uImage_recovery;-----------------------------------从SD卡加载recovery 升级包。
bootm
在没有烧写uboot之前,我启动板子(板子自带android4.04的系统),刚启动时ctrl+c 进入板子自带的uboot,执行上面的加载升级版,我顺利进入了升级界面。
现在我烧写了新的uboot再执行以上升级命令,NND 启动过程中 中断,没能进入升级界面。(NND的谁说新东西一定好)
之后联系技术支持,技术支持也没辙,把他们的uboot发给我,我准备重新烧写,悲具再次出现,板子的串口出现问题了。
串口,输出正常,无法输入了,原因复杂了,输入线貌似不停的向芯片输入乱码,导致一直输出oxff,经公司硬件检测,串口出现问题,而且无法修复 悲剧..........
公司硬件人员修理好串口,从新安装ubuntu系统(注意需要的系统版本以及需要安装的软件),配置交叉工具链,总算编译成功,并完成烧写。
本次编译疑问:使用fatload mmc 加载uboot 等 是否还需要制作SD启动卡,也就是预留的10兆空间,还是用DD命令把uboot拷贝的这个空间内,我怎么感觉没用上。
我想可能是板子已经有uboot所以,不用SD启动,也不用制作SD卡;如果板子没有Uboot应该需要从SD卡启动,进入SD中uboot后,再少些 uboot