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/TMS320C6655:如何将 TI-RTOS 设置为在运行时在具有不同 RAM 大小的系列器件上运行

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/572722/rtos-tms320c6655-how-to-set-up-ti-rtos-to-run-on-a-family-of-devices-with-different-ram-sizes-at-run-time

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

工具/软件:TI-RTOS

您好!

我们使用 Code Compose Studio 6.1.00022使用 BIOS 6.46和 XDC 工具3.32在6655 DSP 上开发应用

该系统相当大、具有大量工程和库、并使用包含 RTSC 配置的单独工程进行配置。

我们需要设置操作系统、使其能够使用相同的可执行文件(bin 文件)在具有不同 RAM 大小的一系列硬件平台上运行。

我的理解是、器件 RAM 大小是作为平台定义的一部分进行配置的。  此平台定义由链接器在可加载应用中生成地址。

由于我们需要容纳具有不同 RAM 大小的器件、因此这种默认方法对我们有一定的限制。

我们有受控(已知)的代码大小(.text 段)以及可变的数据和堆大小、具体取决于我们运行的器件功能。

我们正在考虑的方法之一是为内存配置通用构建、该构建实际上小于器件包含的内容、但足以包含所有足够大的代码和系统堆、以适应在 cinit、Pinit 中执行的分配。 和任务堆栈。  加载此小型系统版本后、它可以在操作系统无法控制和了解的未使用 RAM 中执行数据访问。  这将使我们能够使用现有的链接器配置和现有的引导加载程序、并且仍然能够调试应用和使用调试工具。  我认为...

然后、我们可以创建自己的表、该表告诉我们启用操作系统的存储器的结束位置以及用户管理的存储器的开始位置。

我想知道这是否可行。  理论上它看起来是正确的、我已经将它与其他 RTOS 一起使用了。  我想知道这对于 SYS/BIOS 是否可行、以及可能的缺陷是什么。

此外、从文档中、似乎没有任何东西阻止我在那个"外部"空间中创建一个 ti.sysbios.堆。  我想确认这一点。

此致、

Dmitry

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

    [引用 user="Dmitry Gringauz53811"]我想了解这是否是一种可行的方法。  理论上它看起来是正确的、我已经将它与其他 RTOS 一起使用了。  我想知道这对于 SYS/BIOS 是否可行、以及可能的缺陷是什么。[/引述]

    这听起来像是一种可行的方法。  我不能想到任何缺陷、但建议您考虑 DSP 的 MAR 寄存器允许(或不允许)在此非操作系统存储器上进行高速缓存。

    [引用 user="Dmitry Gringauz53811"]此外、从文档中可以看出、没有任何东西阻止我在该"外部"空间中创建 ti.sysbios.堆 之一。  我想确认这一点。

    是的、这是我开始阅读您的帖子时首先想到的事情。 这是一种完全有效的方法。

    此致、

    - Rob

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

    非常感谢您的快速回答,感谢您对 MAR 寄存器的建议--我完全忘记了这方面的问题。

    此致、

    Dmitry。