[32位单片机及处理器] MPU烧录了启动程序到外部的flash中,为什么不能启动呢?

[复制链接]
208|2
 楼主 | 2019-3-11 17:12 | 显示全部楼层 |阅读模式
本帖最后由 MCHPMPU 于 2019-3-12 10:22 编辑

最近有许多小伙伴刚刚接触Microchip的小伙伴本来信来电咨询,为什么用SAM-BA烧录到SAMA5D2系列的板子的外部flash(QSPI flash,SPI flash,亦或者NAND flash)的启动程序不自动执行呢?只有孤零零的RomBoot的串口打印输出。
其实自查起来很简单:
1. 可能SAM-BA烧录的时候命令用错了。因为是启动代码,所以烧录的时候-c参数要用 "writeboot".例如:
sam-ba -p usb -b sama5d2-xplained-a qspiflash -c writeboot:sama5d2_xplained-dataflashboot-uboot-3.8.7.bin
2. 如果上述命令无误的话,请检查备份寄存器和fuse的启动配置,是否使能了该NVM。例如:
sam-ba -p serial -bsama5d2-xplained -a bootconfig -c readcfg:bscr
sam-ba -p serial -bsama5d2-xplained -a bootconfig -c readcfg:fuse
或者通过该修改该寄存器来使能启动NVM,例如:
sam-ba -p usb -b sama5d2-xplained-a bootconfig -c writecfg:bscr:4 -c writecfg:bureg0:QSPI0_IOSET3,QSPI1_disabled,SPI0_disabled,SPI1_disabled,NFC_disabled,SDMMC0_disabled,SDMMC1_disabled,UART1_IOSET1,JTAG_IOSET1,EXT_MEM_BOOT


当然这些都是根据实际需求来设置参数的。
975285c8625ba39637.png

特别提醒:如果没有特殊需求,请放过fuse位的烧写,让它静静的存在!因为这个操作同样可以设置启动NVM,可是这个保险丝只能编程一次,如果写死了,就不能更改了哦。所以无严格需求,还是仅仅做bscr的设置就好!




822395c8625a010ede.png
| 2019-3-12 09:57 | 显示全部楼层
可以的啊! 真是可以的啊!

使用道具

评论回复
| 2019-3-12 16:22 | 显示全部楼层
原来是这个样子啊

使用道具

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

快速回复 返回顶部 返回列表