如何使用SAM-BA提升SAM9X60EK开发板的镜像烧录速度?
SAM9X60EK开发板sam-ba烧录速度慢优化方案
你的推测是准确的,当前8KB的传输缓冲区、默认串口波特率偏低是烧录慢的核心原因,可通过以下方案优化:
- 调整sam-ba传输缓冲区大小
sam-ba支持自定义传输缓冲区参数,建议设置为和NAND擦除块对齐的大小(最大不超过开发板可用SRAM上限,SAM9X60可设置为128KB即131072字节),减少串口交互开销,命令示例:sam-ba -p serial -b sam9x60-ek -a nandflash --buffer-size 131072 -c write:microchip-headless-image-sam9x60ek.ubi:0x800000 - 拉高串口通信波特率
sam-ba默认串口波特率通常为115200,可提升至开发板ROM bootloader支持的最高值(常用921600),直接提升串行传输速率,命令示例:sam-ba -p serial:ttyACM0:921600 -b sam9x60-ek -a nandflash --buffer-size 131072 -c write:microchip-headless-image-sam9x60ek.ubi:0x800000 - 更换烧录接口为USB
SAM9X60的SAM-BA bootloader原生支持USB设备模式,传输速率远高于串口,仅需将接口参数改为USB即可,速度提升效果最明显,150MB镜像可在数分钟内完成烧录,命令示例:sam-ba -p usb -b sam9x60-ek -a nandflash -c write:microchip-headless-image-sam9x60ek.ubi:0x800000 - 预先擦除对应NAND区域
烧录前先单独执行擦除操作,避免边擦边写的额外开销,也可一定程度提升烧录速度,先执行擦除命令(150MB对应长度为0x9600000):
擦除完成后再执行烧录命令即可。sam-ba -p usb -b sam9x60-ek -a nandflash -c erase:0x800000:0x9600000
内容的提问来源于stack exchange,提问作者JihèdCh
相关产品推荐
相关产品推荐

