打印
[PIC32/SAM]

MPU烧录了启动程序到外部的flash中,为什么不能启动呢?

[复制链接]
1402|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MCHPMPU|  楼主 | 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


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


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




822395c8625a010ede.png (44.92 KB )

822395c8625a010ede.png
沙发
零三翟邢止胃| | 2019-3-12 09:57 | 只看该作者
可以的啊! 真是可以的啊!

使用特权

评论回复
板凳
operating| | 2019-3-12 16:22 | 只看该作者
原来是这个样子啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

22

帖子

2

粉丝