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/TM4C1294KCPDT:TI-RTOS 和应用的独立二进制映像

Guru**** 2482105 points
Other Parts Discussed in Thread: TM4C1294KCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/705447/rtos-tm4c1294kcpdt-separate-binary-images-for-ti-rtos-and-application

器件型号:TM4C1294KCPDT

工具/软件:TI-RTOS

您好!

我们目前正在研究涉及 TM4C1294KCPDT 和 TI RTOS 版本2.16的产品开发要求。 我们使用的是 IDE 版本 CCS 6.2版本。 产品要求规范要求我们为应用和 TI RTOS 生成单独的二进制文件(类似于 Windows/Linux OS 和应用程序安装方法中通常遵循的二进制文件)。 我们有以下问题、需要您的帮助。

目标是、如果有应用程序版本升级、我们不会在现场更改产品中的 RTOS 二进制文件。 我们仅更新应用程序二进制文件。

1>是否可以仅为 TI RTOS (不使用应用程序)生成单独的二进制文件?

2>生成安装二进制文件的推荐方法是什么
(a)将应用程序和 RTOS 组合在一起、或
(b)单独生成 RTOS 二进制文件和应用二进制文件

3>嵌入式应用和 TI RTOS 的二进制文件分离方法是否可行且可靠? 如果是、请您向我们提供相关文档来完成此操作。

4>请告知我们在遵循单独的二进制实现方法时是否存在已知/报告的问题。

5>是否有专家可以与我们联系进行讨论? 如果是、请分享详细信息。

非常感谢您的帮助和支持。

 

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

    这是可能的。 今天是美国的假期、所以本周晚些时候有人会回来找您。

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

    您好 Harshal、

    以下是一份满足您需求的书面报告草稿。 它用于不同的器件、但概念是相同的。

    e2e.ti.com/.../StandAloneBIOSLib.pdf

    以下是可用于 TM4C 的 makefile (而不是 PDF 中提到的 CC13_CC26):

    e2e.ti.com/.../makefile_5F00_tm4c

    最后、这里是一个使用"关闭"的 TM4C 项目。 注意我需要向项目中添加更多内容(例如 NDK 库和包含路径)、因为 PDF 中提到的器件不需要这些内容。

    e2e.ti.com/.../TM4CExampleProject.zip

    Todd

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

    e2e.ti.com/.../0312.empty.cfg

    哎呀! 我忘记添加我使用过的 empty.cfg。 我需要在底部添加几个内容。 注意:我使用的是 empty.cfg 而不是 empty_min.cfg、因为 empty.cfg 启用了更多调试功能。 您当然可以进行相应的更改。

    Todd

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

    您好 Todd、
     感谢您的快速响应。


     在我关闭 TI-RTOS 之前、我想确认一些其他事项。


     我将更简短地介绍系统要求。

    下面是存储器映射。

    --------------------------------------
    |  保留                                              |
    --------------------------------------

    --------------------------------------
    | *主 Application.bin (使用 TI-RTOS)   |
    --------------------------------------
    --------------------------------------
    |  保留                                              |
    --------------------------------------
    --------------------------------------
    |  TI-RTOS.bin                                                 |
    --------------------------------------
    --------------------------------------
    |  保留                                                      |
    --------------------------------------
    --------------------------------------
    |  固件升级 Application.bin          |
    --------------------------------------
    --------------------------------------
    |  保留                                                       |
    --------------------------------------
    --------------------------------------
    |  Bootloader.bin                                              |
    --------------------------------------

    注:
    *只有主应用程序使用 TI-RTOS。
    **也可以接受任何其他文件.hex 或.elf,而不是.bin 文件。

     系统执行序列如下所示:
       加电时、引导加载程序应启动。
       在定期执行中、引导加载程序应启动使用 TI-RTOS 的主应用程序。
       在升级模式下、引导加载程序应启动不使用 TI-RTOS 的固件升级应用程序。
       固件升级应用程序应负责更新 TI-RTOS (更新 TI-RTOS 时)和主应用程序(使用 TI-RTOS)。 升级主应用程序时、TI-RTOS 不应更新。

     对于上述要求、我需要为 Bootloader.bin、Firmware Upgrade Application.bin、TI-RTOS.bin 和 Main Application.bin 生成二进制文件。

     是否可以生成 TI-RTOS.bin?
     如果是、如何生成 TI-RTOS.bin?
     "TI-RTOS 关闭"是否会生成 TI-RTOS.bin?

     非常感谢您的帮助和支持。

    此致、
    Harshal

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

    封闭方法只是将内核作为独立项目进行管理。 它仍然与应用程序链接。 因此、不会、Closure 不会生成 TI-RTOS.bin。

    虽然您需要的技术是可行的、但遗憾的是、必须考虑许多因素(例如编译器、RTS 等)。 要提供生成独立版本内核的确切详细信息、以及如何以您希望的方式使用内核、超出了论坛的范围。 话虽如此、您基本上需要手动创建一个链接器文件、将内核函数和引用的对象放置在特定位置。 确切的函数和对象取决于您的应用需求。 但是、由于构建动态、您将无法将所有内核项目放置到此映像中。 另请注意、您必须修复许多内核配置选项才能完成此操作。 例如,BIOS.sertsEnabled 必须为 true 或 false。 您不能让应用程序对此进行配置。

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

    Harshal