请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM Thread 中讨论的其他器件:EK-TM4C123GXL
我在 EK-TM4C123GXL LaunchPad 上运行 TivaWare 2.1.3.156闪烁示例的修改版本、尝试使 ROM 引导加载程序正常工作。
我已添加以下内容作为 main()的第一行:
if (HWREG (FLASH_BOOTCFG)& FLASH_BOOTCFG_NW)
{
//尚未提交
HWREG (FLASH_FMD)=(HWREG (FLASH_BOOTCFG)& 0x7fff00ec)|(FLASH_BOOTCFG_PORT_F | FLASH_BOOTCFG_PIN_4 | FLASH_BOOTCFG_KEY | FLASH_BOOTCFG_DBG1);
HWREG (FLASH_FMA)= 0x75100000;
HWREG (FLASH_FMC)= FLASH_FMC_WRKEY | FLASH_FMC_COMT;
while (HWREG (FLASH_FMC)& FLASH_FMC_COMT)
{}
}
使用调试器、我可以验证 在首次运行程序时将值0x7fffb0fe 写入 BOOTCFG。 在对 LaunchPad 进行下电上电时、将提交对 BOOTCFG 的更改、但 LED 不再闪烁。 (我有一根跳线将 PF4连接到+3.3V;LaunchPad 上没有上拉电阻)。
我不知道主程序为什么不执行。 奇怪的是、如果我将代码更改为使用引脚 PB1、则一切都按预期工作。 PF4不是受保护的引脚、因此这不应受到勘误表 MEM#19的影响。 我不知道为什么。