wuyage

I.MX6之程序下载

0
阅读(346) 评论(0)

    从过去的单片机转到处理器+Linux,变化真是挺大的。 没有基础的,单是编译和下载就得折腾一段时间。为了加快入门步伐,我出血花了1千多大洋买了一个开发板来学习。选的是米尔科技的IMX6ULL 开发板。

    本以为直接用人家现成的工具下载进去就可以运行,没想到也没那么顺利,我遇到的问题,下载后出现了

Booting from mmc ...
reading myd-y6ull-gpmi-weim.dtb
** Unable to read file myd-y6ull-gpmi-weim.dtb **

无法启动的问题。后来经过一番学习找到了问题。通过这个问题我也大概了解了IMX6的下载流程。

     原因是在Uboot工程的include/configs/myd_y6ull.h 中的

"setenv fdt_file myd-y6ull-gpmi-weim.dtb; fi; " \

    这句话出现了问题,将其改为

"setenv fdt_file myd-y6ull-emmc.dtb; fi; " \

重新编译再下载就可以了。


  http://blog.csdn.net/hbk320/article/details/49975841 和 https://www.cnblogs.com/helloworldtoyou/p/6053195.html

  介绍了Mfgtools的下载原理。


   我遇到的问题是Uboot寻找dtb文件时指定的文件名不对。Uboot里dtb的文件名应该和

<!-- burn dtb -->
<CMD state="Updater" type="push" body="send" file="files/zImage-myd-y6ul-%6uldtb%-emmc.dtb" ifdev="MX6UL">Sending Device Tree file</CMD>
<CMD state="Updater" type="push" body="send" file="files/zImage-myd-y6ul%lite%-%6uldtb%-emmc.dtb" ifdev="MX6ULL">Sending Device Tree file</CMD>


<CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/myd-y6ul-emmc.dtb" ifdev="MX6UL">write device tree to sd card</CMD>
<CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/myd-y6ul%lite%-emmc.dtb" ifdev="MX6ULL">write device tree to sd card</CMD>

 写入到emmc中的名字一致。注意不是上面下载的文件名

    

疑问:

1)Linux/OS Firmware/firmware/ 中的文件是什么编译出来的? 什么时候需要修改?


2)mmc=1 什么意思