1 测试平台:EK-TM4C1294XL , ARM型号:TM4C1294NCPDT。2 目的:设置BOOTCFG寄存器,使的PA6引脚上高电平时使得ARM进入ROM中的bootloader。3 测试程序:利用例程blinky,在其中添加设置BOOTCFG寄存器代码如下:void CheckBootCfg(void){ long i=0; unsigned long regVal; regVal = HWREG(FLASH_BOOTCFG); if(regVal & FLASH_BOOTCFG_NW) { HWREG(FLASH_FMA) = 0x75100000; regVal = FLASH_BOOTCFG_PORT_A | FLASH_BOOTCFG_PIN_6 | FLASH_BOOTCFG_KEY | FLASH_BOOTCFG_DBG1; HWREG(FLASH_FMD) = regVal; regVal = FLASH_FMC_WRKEY | FLASH_FMC_COMT; HWREG(FLASH_FMC) = regVal; while((HWREG(FLASH_FMC) & FLASH_FMC_COMT) == FLASH_FMC_COMT) { } }}4 现象:程序下载后,如果系统上电时,PA6引脚处于高电平,通过连接USB到电脑,观察设备管理器出现的USB DFU设备,确认ARM进入ROM中的bootloader; 如果系统上电时,PA6引脚处于低电平,此时电脑设备管理器并未出现USB DFU设备,可推断ARM并未进入ROM中的bootloader,此时应该进入flash中的blinky程序,闪烁lED,但事实是ARM无任何动作,并未运行blinky程序。
5 问题总结:通过PA6引脚高电平可控制ARM进入ROM中的bootloader,但当PA6上电处于低电平时,ARM无法正常加载flash中的用户程序运行。
经过多次测试,问题依然如此,请大家帮忙分析一下原因。
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
需要设置 blinky 的ROM起始地址,然后重新编译下载。
一周热门 更多>