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.

[参考译文] TM4C123GH6PM:如何解决使用 IAR 编译引导加载程序导致的错误?

Guru**** 2484615 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/729792/tm4c123gh6pm-how-to-solve-the-errors-caused-by-compiling-bootloader-with-iar

器件型号:TM4C123GH6PM

大家好、:

我的项目需要用于引导加载程序、因此我首先使用 IAR 编译引导加载程序源代码。

但由于找不到主函数、因此发生编译错误。  

错误和项目文件的详细信息如下所示。   

要解决此问题、请修改编译配置或根据我自己的要求将 main 函数添加到引导加载程序?  

但斯克很多!

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

    我没有 IAR 方面的经验、您可能需要 IAR 的支持来解决这个问题、但我可以说:

    1) 1)您无法向引导加载程序添加主函数、这不是它的工作方式、主函数存在于您上传的代码中、而不是引导加载程序
    2) 2)您可能需要查看链接器设置、对于 CCS、主要项目差异之一是引导加载程序没有链接器文件。
    3) 3)您是否尝试导入诸如 boot_serial 的 TivaWare 引导加载程序示例? 这将使您能够看到正确的 IAR 项目设置、以便您可以比较这两者。

    您可能需要询问 IAR 什么设置允许忽略缺少主函数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph Jacobi:

    感谢您的回复。 我有另一个问题。 我希望您能回答这个问题。

    我将使用 CAN 作为引导加载程序。 我已:文档 SPMU301D。 我希望在我的应用中升级。 :、我必须在应用程序中调用函数"AppUpdateerCAN"。 要在应用程序中实现对 AppUpdater CAN 的调用、还必须将引导加载程序源代码与应用程序集成以进行编译?

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

    Alex、您好!

    您将在设备上加载两个固件。 首先加载为 CAN 引导加载配置的闪存引导加载程序。 然后,您将刷写包含 AppUpdateerCAN API 的应用程序固件。  抱歉,需要自行更正,您不在应用程序中调用 AppUpdateerCAN,而是调用 JumpToBootLoader 或等效项。 您可以在 诸如 boot_demo1的项目中看到 JumpToBootLoader。

    应用程序固件不需要集成引导加载程序源代码、只需确保引导加载程序刷写到存储器中、应用程序固件可以在需要时调用引导加载程序。