a5d2启动分析

2019-04-14 13:06发布

A5D2对外部存储设备的启动顺序如下图:
SDMMC_1接的sd卡,SDMMC_0接的emmc, SPI_0接的串行flash,当外部存储都不可用或没有启动程序的话,会直接进入sam-ba monitor,就可以执行sam-ba提供的各种烧写脚本了。 目前我们使用的烧写脚本有, 1. 串行flash烧写脚本  2. 熔丝位烧写脚本  3. 启动顺序寄存器的操作(断电失效) 在对新的新片进行烧写操作之前,首先要烧写熔丝位

首先要使能这一位,以使外部存储器使能,在sam-ba脚本里是BCW_EXT_MEM_BOOT_ENABLE这个变量 ,然后,使用BootCfg.writeFuse写入熔丝位
另外通过写GPBR寄存器,可以覆盖熔丝位的值,临时改变启动顺序
使用BootCfg.writeGPBR写入GPBR寄存器,可以覆盖掉启动配置字寄存器,临时改变启动顺序 另外需要写BSCR寄存器,使用BootCfg.writeBSCR写入BSCR_GPBR_VALID ,BSCR_GPBR_0