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.

[参考译文] TM4C1294NCPDT:以太网闪存引导加载程序

Guru**** 2391095 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1378851/tm4c1294ncpdt-ethernet-flash-bootloader

器件型号:TM4C1294NCPDT

工具与软件:

你(们)好

我想让 BOOT_EMAC_FLASH (以太网引导加载程序)等待一段时间、然后检查是否有更新、以便随后进入应用程序、这是因为我不希望应用程序在复位时将控制权传递给我刚想要的引导加载程序、是引导加载程序可以更新软件的唯一时间吗?

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

    您好!

     您可以配置 bl_config.h、以便如果指定引脚上有状态变化、则它将强制更新。  

     另请参阅引导加载程序目录中的 bl_startup_ccs.s 文件。 我可能会在另一篇文章中向您解释过。 复位后、引导加载程序将首先通过检查应用程序的栈指针和复位矢量来检查是否存在有效的应用程序映像。 如果它们有效(这是您的情况)、引导加载程序只需跳转到应用程序即可。 不过、请查看第264行。 如果要引导加载程序检查其他条件或 希望等待一段时间、可以在跳转到应用程序之前定义挂钩函数的方式。 您可以使用连接功能自由地自定义引导加载程序。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    user4441152 说:
    如果您希望引导加载程序检查其他条件或 希望等待一段时间、可以在跳转到应用程序之前定义挂钩函数的方式。 您可以使用连接功能自由地自定义引导加载程序。  [报价]

    从中我可以自定义此功能。 它存在于哪里?

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

    有关详细信息、请参阅 bl_config.h 文件。 取消注释第1379行并定义您自己的挂钩函数 MyHwInitFunc()。  

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

    我将此代码添加到 BL_STARTUP_CCS.s RESTISR 代码中、并且发生了奇怪的行为、当我首次对应用程序(boot_demo_emac)进行编程时、它烧得很好、但当我尝试在点击重置后更新代码时、LM 闪存器无法识别以太网连接、但当应用程序 Tun 开始识别以太网连接时。   

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

    在跳转到应用之前、您在循环中等待多长时间? 当您处于环路中时、以太网尚未设置。 您可能想要尝试在设置以太网后添加挂钩。 请参阅下面以红色突出显示的、其中可能会堵塞挂钩。  

    [报价]

    我等待一分钟根据延迟,这是什么钩子,我应该在哪个文件中定义,它的目的是什么?

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

    我想、在调用 CheckForceUpdate 之前、你需要调用 bl_hw_init_fn_hook 函数。 在  bl_hw_init_fn_hook 中、您还应配置以太网。 如果您只在 bl_hw_init_fn_hook 中放置一些 wait 语句、那么如何在尚未配置 MCU 以太网时防止 LM 闪存编程器向 MCU 发送以太网数据包。