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.

[参考译文] RTOS/TM4C123BH6ZRB:RTOS 引导加载程序

Guru**** 2473270 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/679617/rtos-tm4c123bh6zrb-rtos-bootloader

器件型号:TM4C123BH6ZRB
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

大家好、我已经在 TI 控制器的帮助下开发代码超过6年了。 我最近开始使用 TI RTOS。 我希望将我的旧非 RTOS 项目移动到 RTOS。 我已经成功地实现了与引导加载程序相当大的不同。 我在我的旧非 ROS 项目中实现了自定义引导加载程序。 我很难在 TI RTOS 中使用旧的自定义引导加载程序。 您能不能就此为我提供指导。 我不知道我打算如何将旧的自定义引导加载程序合并到我的新 RTOS 项目中、因为我在从引导程序切换到主应用程序的同时切换各种中断处理程序、而且我也不知道如何跳转到主应用程序。 我是否必须动态创建 HWI 并相应地切换 HWI 处理程序? 谢谢

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

    因此、如果我理解正确、您已经获取了非 RTOS 应用程序并尝试将其移至 TI-RTOS。
    您还有一个使用非 RTOS 应用程序的自定义引导加载程序、现在您正尝试使其与 TI-RTOS 应用程序配合使用?
    自定义引导加载程序的作用是什么、使其与 TIRTOS 应用程序不兼容? 是的、我可以理解引导加载程序和应用程序之间存在一些相关性、但不知道问题是什么...很难告诉您需要做什么。

    您的引导加载程序是否为您的非 RTOS 项目对 HWI 进行了编程? 应用程序的 HWI 应在 TIRTOS 中编程、它将覆盖您在引导加载程序中执行的任何操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    HWI 模块需要知道您将应用程序的矢量表移动到何处(复位和中断)。 地址应与.cmd 链接器文件中的偏移量匹配(复位矢量通常放置在第一个地址)。 您可以通过 XGCONF GUI 或手动编辑.cfg 文件来完成此操作、如本教程所示: processors.wiki.ti.com/.../TI-RTOS_USB_DFU

    TI 没有用于合并编译的.out 或.bin 文件的工具、但我相信某些第三方工具会这样做。

    跳转至与非 RTOS 相同的 RTOS 起始地址。 PC 获取从矢量表加载的值。 您的自定义引导加载程序的功能是否有所不同?

    我没有看到动态 HWI 有问题、但我不了解应用。 我不希望固件在初始化之后创建新的中断。

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

    尊敬的先生,

                      TI 提供了 Tiva C 系列的引导加载程序示例。  您可能需要对此进行研究。 您可能会找到一些线索。

    此致、

    Digvijay。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否获得了足够的想法来尝试解决此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的回答!

    我决定向前迈进的方式是

    • 将 RTOS 应用程序项目矢量设置为某个地址、例如0x4000
    • 使用 TI 提供的引导加载程序(位于地址0x0000)

    我遇到的问题

    • 不知道将 RTOS 应用程序项目引导至地址0x4000涉及哪些步骤
    • 我必须采取哪些其他步骤来向量 RTOS 应用程序项目

    请就此向我提供帮助。谢谢

    此致、

    MOH

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

    MOH、

    我不熟悉引导加载程序在 TM4C 器件上的工作原理、但要更改 RTOS 应用程序矢量地址、您可以执行以下操作:

    var ti_sysbios_family_arm_m3/hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
    TI_SYSBIOS_family_ARM_m3/Hwi.vectorTableAddress = 0x4000;

    犹大

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

    感谢您的回复。 我是否需要对.cmd 文件执行一些操作?

    我已经尝试过您建议的更改。 这对我不起作用。  

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

    当您进行这些更改时会发生什么情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mohsin、

    这是否得到了解决?

    Todd

    [已更新。我将此标记为已关闭、因为没有活动。 如果您不同意、请发布回复。]