大家好,目前很多人都在关注AM335x flash tool(UniFlash)的进展情况,这篇帖子会对当前的进展情况进行汇总,并就客户使用过程中遇到的问题,给出了相应的解决方案。欢迎大家加入讨论,给出宝贵意见。
目前的UniFlash官方发布的版本中,仅支持NAND FLASH的烧录,近期版本中将会更新对eMMC烧录功能的支持。
UniFlash的下载地址:
UniFlash的主机端安装用户指南:
UniFlash的image编译,脚本编译使用指南(Linux环境下):
使用注意事项及问答:
使用该Uniflash进行NAND FLASH烧写时,Uniflash会先将u-boot-spl-restore.bin和u-boot-restore.img下载到开发板中,启动开发板进入到UBOOT阶段,从而调用脚本文件进行FLASH的烧写,所以需要先对SDK6.0开发包进行UBOOT的移植。移植时,一定要加入UBOOT 的patch:http://processors.wiki.ti.com/index.php/Sitara_Linux_AM335x_Flash_Programming_Linux_Development#Build_SPL_.28MLO.29_and_U-Boot_for_Flashing
请注意,制作用于NAND flash烧写的启动image时,确认使用的编译选项为:
am335x_evm_restore_flash_usbspl
在Uniflash进行u-boot-spl-restore.bin的下载时,如果出现usb网络反应超时,请确认是否已经安装我们的usb patch:0001-u-boot-Change-default-cdc_connect_timeout-to-15s.patch。另外,一定要确认网络防火墙和杀毒软件是否已经关闭。
在u-boot-spl-restore.bin下载运行成功后,下载u-boot-restore.img时,网络一直在发IP请求,却没有得到回应,请参考以下解决方案:
解决方案:在操作过程中,插上USB时能在主机上找到USB RNDIS网络,默认时配置该网络IP为192.168.2.1。在烧写的不同阶段,部分主机会将该网络会识别成另外的USB RNDIS网络,因此,与之前的网络不同且没有IP配置,此时只需要再配置该网络的IP为192.168.2.1,即可正常使用(可能会弹出提示:该IP被未使用的网络占用,是否要清除未使用的网络?此时选择否)。
鉴于部分用户,对于SPI FLASH的烧写有强烈的需求,如果对Uniflash的烧录进度条显示并无严格需求时,可以参考SDK6.0开发包下的/board-support/u-boot-2013.01.01-psp06.00.00.00/doc/am335x.net-spl/debrick-spi.txt文件,进行SPI烧写脚本的编写,其使用方式与NAND flash烧写的使用方式类似,使用以下mkimage命令即可完成脚本的制作:
./mkimage -A arm -O U-Boot -C none -T script -d debrick-nand.txt debrick.scr
经实例验证,该方式可以正常的进行SPI flash的烧写,但Uniflash中的进度条显示无法正常同步,该方式仅可作为进行功能验证的draft版。(烧写成功的显示可参考该链接中的文本:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/51935.aspx)
官方支持的SPI FLASH Tool脚本,将在后续的时间内发布。
有任何疑问或者建议,欢迎大家随时发表、讨论!谢谢!