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.

[参考译文] MSPM0C1104:如何将 FLASH_BSL 演示用作辅助引导加载程序

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1650055/mspm0c1104-how-to-use-flash_bsl-demo-as-secondary-bootloader

器件型号: MSPM0C1104

您好、

我目前正在将 FLASH_BSL 用作辅助引导加载程序、并将 Skyfire 用作我的应用程序。
 
我的 Skyfire 应用程序将 MCU 配置为 I2C 从器件、以便与主器件(主机)进行通信。 主机系统运行 BuildRoot。
 
现在我可以使用 flash_bsl 将 skyfire.bin 刷写到 MCU 中、但我的应用程序似乎运行错误。主机可以使用 i2cdetect 来检测 MCU 的地址、但一旦主机尝试实际通信、MCU 的 I2C 外设就会挂起。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我在应用程序的 main.c 中添加了以下部分。现在、我的应用程序可以正常运行、但我不确定是否存在任何潜在风险。

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

    还是 有一个优雅的解决方案?我使用的 IDE 是 CCS20.50。

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

    尊敬的 Gryphon:

    VTOR 是中断向量表的偏移地址。 如果应用程序不是从 0x0000 地址开始、您需要将 VTOR 寄存器设置为应用程序中断矢量表的起始地址、否则应用程序无法找到中断处理程序函数条目。   

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

    嗨、Pengfei、

    是的、我已经认识了它,我正在寻找一个优雅的方式来保存 VTOR。你有任何建议吗?

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

    尊敬的 Gryphon:

    通常我们会在程序跳转发生之前或在 Reset_Hander () 中的第一句中设置 VTOR。 但是将它放在 main () 程序的第一句中也是没问题的。 关键是确保在应用程序中触发第一个中断之前设置 VTOR。

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

    嗨、Pengfei、

    谢谢你的建议,我会采取.