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.

[参考译文] CCS/LAUNCXL-CC1310:FreeRTOS端口

Guru**** 1122710 points
Other Parts Discussed in Thread: CC1310, CC1021
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/616661/ccs-launchxl-cc1310-freertos-port

部件号:LAUNCHTXL-CC1310
主题中讨论的其他部件:CC1310CC1021

工具/软件:Code Composer Studio

尊敬的TI:

我需要一些帮助来让FreeRTOS在该设备上运行。   我在 http://www.freertos.org/TI_CC3220_SimpleLink_FreeRTOS_Demo.html上找到了一个适用于CC3220的CCS项目和端口。  他们说,该项目中包含的端口应在CC1310的M3核心上工作。  这是我第一次使用CCS,所以我不太了解它。  我能够在CCS/LAUNCXL-CC1310上运行示例项目,就像第一个发送或接收数据的项目0一样,但我无法为CC1310从头开始创建一个新的简单项目-遇到 错误Reset_ISR未定义。  我想我需要从一些基本的演示项目开始,并以某种方式从另一个CC3220项目引入FreeRTOS端口。  如有任何关于如何做到这一点的建议,我们将不胜感激。  谢谢,Brett

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

    您好,

    从SimpleLink CC13x0 SDK 1.40 开始,这在理论上是可行的,尽管它需要相当的努力和一些编码经验。

    您需要为 FreeRTOS实现驱动程序移植层。 用于CC32xx和MSP432的最新SimpleLink SDK中提供了FreeRTOS的实现。 请查看<SDK_INSTALL_DIR/kernel/FreeRTOS/>。 您需要移植子文件夹DPL,POSIX和startup中的所有文件。 但是,许多内容可以复制粘贴。 在连接电源模块和HWI模块时必须特别小心。 对于这些,您应该更好地获取CC13x0 NO-RTOS DPL实现的内容。 另请注意,CC13x0驱动程序使用软件中断(SWI),而软件中断仅在TI-RTOS内核中实际实现。 用于CC13x0的NO-RTOS DPL提供基于硬件中断的轻量级实施。 这也必须移植。

    我无法为您提供逐步说明,但可能能够回答特定问题。 祝你好运。

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

    谢谢Richard,我想我现在已经更好地了解了如何完成,以及所有这些软件层是如何组合在一起的。 这比我所希望的要多。 SimpleLink用户指南可能应在FreeRTOS部分更新,以表明13x0 SDK 1.40 不支持FreeRTOS,除非进行额外移植。 现在还不清楚我从您描述的端口中得到了我想要的,但需要做出的牺牲-我需要在无网卡模式下运行FreeRTOS,我不确定我的应用程序是否会有任何显著的性能下降 使用您所描述的简易实施-我必须在承诺之前对其进行更多的研究。 CC32XX的端口看起来已完成。 是否计划为13x0执行完整的FreeRTOS端口?

    实际上,我有另一种想法 可能有点疯狂,但 是否可以实施运行 在可 与对讲机连接的部分上的裸机代码?   我不确定我是否需要SimpleLink SDK,但 可能我错过了一些东西。   FreeRTOS有一个在 ARM M3 Core上运行的端口。   我是否可以完全转储SDK并仅使用该端口?  我缺少什么?
     
    谢谢!
    Brett

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

    您好,

    SimpleLink用户指南可能应在FreeRTOS部分进行更新,以表明13x0 SDK 1.40 不支持FreeRTOS,无需额外移植。

    您认为哪里是一个好地方?

    Brett Preston said:
    是否计划为13x0提供完整的FreeRTOS端口?

    不,不是我所知道的。 大多数需要替代TI-RTOS的客户都需要一个更简单的解决方案,而根本不需要“RTOS”。 这就是我们创建"无RTOS" DPL实施的原因。 No-RTOS DPL不是真正的裸机,而是一个超级简单的RTOS,只有一个任务使用单个RAM堆栈。

    [报价用户="Brett Preston "]现在还不清楚我从您所描述的端口中得到了想要的东西,同时还需要做出一些牺牲-我需要在无票模式下运行FreeRTOS,我不确定是否会出现任何明显的性能下降 对于使用您所描述的精简版实施的我的应用程序-我必须在提交之前进行更多的研究。[/QUOT]

    这不是问题。 No-RTOS DPL (以及TI-RTOS DPL)中的Clock/Timer实现也是无tickkless的。 我们称之为"动态刻度模式"。 我没有看到任何限制,但在您弄脏双手之前,您应该已经研究了CC1310的No-RTOS DPL实现和CC32xx的FreeRTOS DPL实现。 我在FreeRTOS上看不到性能限制。 问题更多的是,您是否要投入精力。 DPL不是正式的API,它可能会(尽管TI投入了大量的精力)在不同的版本之间发生很大的变化。

    [引用user="Brett Preston ]实际上,我有另一种想法 可能有点疯狂,但 是否可以实施运行 在可 与对讲机连接的部分上的裸机代码?  [/引述]

    不要这样做! CC13xx的电源管理非常复杂,我们正在尝试将最佳功耗压缩到我们的高级驱动器中。 尽可能使用驱动程序,或在需要某些特殊功能时实施自己的驱动程序。

    是否可以完全卸载SDK并使用该端口?  我缺少什么?[/QUOT]

    也许您会得到一些运行的设备,但在每个M3设备上处理电源管理的方式却非常不同。 您可能需要外围设备驱动程序。 我不建议这样做。

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

    感谢您的回答。 我们有一个专有的无线电协议,其中包括定期传输,固定大小的数据包和跳频。 我们的应用需要收听较早的TI发射器,如CC1021。 以前在主机控制器和CC1021中的功能现在将移至CC1310。 我只是在寻找正确的实施方法。 听起来我们应该在SDK的基础上构建。 我不想重新发明车轮,如果它可以节省时间并满足我们的需求。

    需要考虑的一些小型文档问题-

    如果此页面上有用于下载每个设备的SDK的链接,那就更好了。 我在周围做了相当多的点击,试图找出可以下载它们的位置。 另外,由于某些原因,1310下载文件没有".exe"扩展名。 我最后自己把它放到了,让安装程序运行。 3220文件具有扩展名。

    www.ti.com/.../simplelink-mcu-platform.page


    我看了下面的页面,不清楚您是否为每个受支持的设备都提供了SDK。 我建议在开头一段明确说明这一点。 您可以说,并非所有SDK的内核部分都支持FreeRTOS。 我会在此处和FreeRTOS部分列出不支持FreeRTOS的设备。

    dev.ti.com/.../Users_Guide.html

    希望这有所帮助。

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

    您好,
    感谢您的反馈。 我已将第一段转发给营销部门,第二段转发给SDK团队。 但为什么下载的文件没有.exe扩展名? 我仔细检查了一下,它按预期工作。

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

    您好,Richard:

    我一定是在执行SaveAs时删除了.exe。  很抱歉这个。  我有一个关于一个星期以来一直未得到答复的时钟物体的问题。  如果你能找一个专家来看看就好了。  链接如下。  

    该应用程序使用SDK和TI-RTOS组合在一起,但如果我能偶尔调整定期时钟的相位,那就更好了。

    定期时钟的e2e.ti.com/.../61.8487万阶段

    谢谢!

    Brett