工具/软件:
我们看到 TI 现在是 eclipse ThreadX 成员。
我们 以前使用过 ThreadX、很高兴看到 TI 是否正在朝着这个方向发展。 我们特别不需要任何当前随 ThreadX (以太网或文件系统)附带的栈、仅需启动 RTOS 功能。 我们经常使用 ThreadX 的跟踪缓冲区功能来调试多线程系统,并希望在可能的情况下继续使用该功能。 ThreadX 也是一个开源社区项目、让我们作为成员可以获得功能安全文档和集成文档、这是一个巨大的优势、并且与 TI 的功能安全策略(与其他 RTOS 相反)相一致。
当我们试图绕过自己时、我们遇到了以下问题
- 在 ThreadX 的源代码中有一个 cortex R5端口似乎不完整。 tx_initialize_low_level.s 不使用 tiarmasm.exe 进行构建、但此.s 文件似乎与 R5端口中的其余.s 文件采用不同的汇编格式。
- R5也没有 SysTick 外设、这正是 ThreadX 用于皮层 m 系列中上下文切换的方法。 am243x MCU-PLUS-SDK 包含一个带有 ThreadX 的 hello_world 示例工程 、但这似乎是一个内核的端口。
- 最后,R5处理中断的方式与 cortex m 系列处理中断的方式相同,因此 ThreadX 的寄存器堆叠等可能需要针对 cortex R5进行更改。
是否有将此内容移植到 R5内核的时间表或功能支持?
放在一边。
似乎有一些 FreeRTOS 移植、但实际上实现非常有限、对我们来说不太理想的功能安全。
在探索 am263px MCU plus 中的 FreeRTOS 实现时、我发现跟踪宏已定义为空。
其中、freeRtos.h 标头中的许多跟踪宏均未定义为无。 我尝试运行 FreeRTOS 和跟踪、以便能够在我们的工程中使用该系统、但未成功。 这可以非常直接地完成、方法是将 FreeRTOS 和跟踪源移植到 cortex R5、其中包括设置一个1us 运行计数器并从 FreeRTOS 的跟踪部分访问寄存器。 如果我们继续使用 FreeRTOS、如果有办法做到这一点、或者之前已经做到这一点、我想知道是否可以实施。