This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123FH6PM:无法设置使用跳线引导至引导加载程序。

Guru**** 2512895 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/879758/tm4c123fh6pm-cannot-set-up-booting-to-boot-loader-using-jumper

器件型号:TM4C123FH6PM

您好!

我的设计包含特殊的跳线、用于通过输入引导加载程序来设置固件更新。 下面是原理图部分:

针对 LCD 的线路引导/EXT_RST 与复位复用。 测量 CPU 的引脚10时、我看到电平较高、然后未安装跳线、电平较低。

我将配置 BOOTCFG 如下:

uint32_t BCfg = 0xFFFFFFFE;
BCfg &=~FLASH_BOOTCFG_PORT_M;
BCfg |= FLASH_BOOTCFG_PORT_D;
BCfg &=~FLASH_BOOTCFG_PIN_M;
BCfg |= FLASH_BOOTCFG_PIN_7;
//BCfg &=~FLASH_BOOTCFG_POL;
BCfg &=~FLASH_BOOTCFG_EN;
if (BCfg!= HWREG (FLASH_BOOTCFG))
{
HWREG (FLASH_FMD)= BCfg;
HWREG (FLASH_FMA)= 0x75100000;
HWREG (FLASH_FMC)= FLASH_FMC_WRKEY | FLASH_FMC_COMT;
while (HWREG (FLASH_FMC)& FLASH_FMC_COMT);
}

然后添加了"BCfg &=~FLASH_BOOTCFG_POL;"行、POL 位为1、无论是否安装了跳线、器件均可引导至应用程序。 然后我取消注释此行、无论跳线如何、引导加载程序都会启动。

出什么问题了?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Oleg、

    从配置角度来看、看起来不错。

    在这两种情况下为器件加电时、您能否使用示波器测量引脚上的电压? 我想知道、当器件启动时、是否存在改变引脚电平的硬件问题、尤其是由于 LCD 连接。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是复位序列的范围屏幕截图。 蓝色表示复位输入、黄色表示 D7输入/输出。 正如您在复位期间看到的、D7为高电平、并在100ms 内保持高电平、直到应用程序启动并下拉 RESET 以初始化 LCD。 (抱歉、未看到时间刻度、但每个网格线为50ms)。 安装跳线时、D7为低电平、因为跳线将其短接至 GND。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是上电屏幕截图。 如您所见、D7也是阿尔瓦高。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Oleg、

    鉴于此处提供的信息... 如果您觉得短时间低电平就足够了、那么您能否在未连接 LCD 屏幕并下拉该引脚的情况下尝试测试此功能? 除了现在的简短拉低之外、我看不到任何其他原因、我想在尝试进一步调查之前完全排除这一问题。