- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.使用TIUniFlash工具通过USBRNDIS烧写
BeagleBone Black eMMC 烧写全记录(基于AM335x SDK06)
eMMC 存储介质目前越来越广泛的应用在嵌入式系统中,AM335x 的用户也越来越多
的使用EMMC 作为系统的主要存储介质。目前AM335x 的几款官方demo 板中,只有
BeagleBone Black 上加入了对eMMC 芯片的支持,很多用户也是参考BeagleBone Black 进
行自己AM335x 系统的eMMC 设计。笔者最近分别通过TI Uniflash 和SD 卡完成了
BeagleBone Black 上eMMC 芯片的烧写验证工作,软件基于AM335x Linux SDK06 ,总结出
来供大家参考。
1. 使用TI UniFlash 工具通过USB RNDIS 烧写
1.1 TI Uniflash 简介
Uniflash 是TI 开发的存储器烧写工具,可以支持AM335x 系统的NAND Flash,NOR
Flash, SPI Flash,eMMC 烧写。可以参考wiki 上的guide :
/index.php/Sitara_Uniflash_Quick_Start_Guide,在Windows 宿
主机上下载并安装Uniflash,并按照其中3.3 节所述在Windows 宿主机上安装USB RNDIS
驱动。
1.2 eMMC 烧写原理
本文介绍的验证方法是使用Uniflash 工具通过USB 对BeagleBone Black 上的eMMC 进
行烧写,原理是通过Romcode,SPL 和u-boot 三个阶段,将一个专门用于eMMC 烧写的
Linux 操作系统在BeagleBone Black 板上运行起来,并自动运行脚本进行烧写。
第一阶段,通过设置AM335x 的sysboot 管脚,使AM335x 的启动项包含USB0 启动。
BeagleBone Black 的默认启动设置为:MMC1-MMC0-UART0-USB0,MMC1 和MMC0 分
别连接了eMMC 和SD 卡,如果eMMC 为空,并且不插SD 卡,芯片上电后执行的
Romcode 就会执行USB 启动。Romcode 会初始化USB RNDIS 以太网络通信协议,通过
Windows 宿主机上Uniflash 自带的DHCP 服务器进程拿到分配的IP 地址,然后再通过
Windows 宿主机上Uniflash 自带的TFTP 服务器进程将Uniflash 设定的tftp 目录下用于
eMMC 烧写的特殊的SPL 下载到AM335x 的内部ram 中并运行。
第二阶段,用于eMMC 烧写的特殊的SPL 执行之后,会初始化USB RNDIS 以太网络通
信协议,并通过Windows 宿主机上Uniflash 自带的DHCP 服务器程序拿到分配的IP 地址,
然后再通过宿主机上Uniflash 自带的TFTP 服务器程序将Uniflash 设定的tftp 目录下用于
eMMC 烧写的特殊的U-boot.img 下载到板子上的DDR3 中并运行。
第三阶段,用于eMMC 烧写的特殊的U-boot.img 执行之后,通过执行u-boot 中的
DHCP 和TFTP 命令,将Windows 宿主机上Uniflash 设定的tftp 目录下的用于烧录eMMC
的Linux uImage 下载到板子的DDR3 中并运行。这个Linux uImage 会通过执行启动脚本,
通过tftp 的方式,将Windows 宿主机上Uniflash 设定的tftp 目录下名为debrick.sh 脚本下
载并执行,debrick.sh 可实现eMMC 的擦除和烧写。
1.3 eMMC 烧写流程
1.3.1 制作u-boot-spl-restore.bin 和u-boot-restore.img
用于烧录eMMC 的特殊的SPL 和u-boot.img 可以通过指定特定的编译参数编译SDK06
的U-boot 源码获得,在编译之前需要加几个patch 如下:
1) 延长USB RNDIS 连接等待时间的patch:
修改/drivers/usb/gadget/ether.c 文件:
index de880ff..926c6f2 100644
a/drivers/usb/
文档评论(0)