am335x usb启动更新

本文详细介绍了AM335x芯片如何从USB启动并进行系统更新的过程,包括基本原理、具体实现步骤和关键点。涉及uniflash工具、u-boot版本选择和配置,以及DHCP和TFTP服务的使用。通过修改配置文件、制作debrick.scr脚本,以及正确设置Uniflash,可以成功实现从USB更新系统镜像。
摘要由CSDN通过智能技术生成

前段时间由于工作需要研究了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启动更新原理可以参考:http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Tools.html#sitara-uniflash

二.具体实现

1.使用spl支持usb启动,在配置文件include/configs/xxx.h

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值