am335x usb启动更新

前段时间由于工作需要研究了am335x的usb启动功能,由于在网上找的方法不全,很多细节需要自己摸索,在这里我记录了自己的实现过程,现在已经能从usb更新系统镜像。
uniflash版本:3.3或3.4。 (5.x的好像不支持am33xx系列的芯片)
uniflash下载地址:https://processors.wiki.ti.com/index.php/CCS_UniFlash_v3.4.1_Release_Notes
uboot版本: uboot-201x的都可以,只要移植好能够在am335x上运行的都可以。
(网上说补丁我没有找到,其实不需要,自己简单改一下,也就是更改等待时间和开启cache加速)
系统版本最好为win7, win10的为识别为串口设备,需要手动安装驱动

一.基本原理

1.第一阶段

am335x从usb启动,irom中实现了usb虚拟网卡功能,上位机软件uniflash实现了dhcp服务和tftp服务,板子启动后通过dhcp获取到ip后,就会下载spl镜像到sram中运行(spl镜像名字为:u-boot-spl-restore.bin,是uboot编译出的u-boot-spl.bin改名得到的,这个名字是在uniflash的dhcp服务中设定的,板子的dhcp在获取到ip后,会接收到dhcp服务发出的vendor-class-identifier字段,这个里面包含的文件名为u-boot-spi-restore.bin);

2.第二阶段

spl配置为usbeth启动后(uboot配置时添加定义宏:CONFIG_SPL_USBETH_SUPPORT),spl会再次通过usb模拟网络,电脑会再次识别网络设备。这时spl再次通过dhcp获取ip,下载u-boot-restore.bin到板子的drr中运行,这时uboot就正常启动,更新过程就由 uboot控制了。
具体am335x的usb启动更新原理可以参考:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值