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.

[参考译文] TM4C129CNCPDT:SafeRTOS 的 USB 库初始化问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1286370/tm4c129cncpdt-usb-library-initialization-issue-with-safertos

器件型号:TM4C129CNCPDT
主题中讨论的其他器件: EK-TM4C1294XL

您好!

我们在我们的项目中使用上述的 down 微控制器、目前 USB 端口初始化面临问题。

调用 TivaWare USB 库(USBDCDCInit)的函数时似乎会出现此问题、请参阅以下更多信息:

器件:TM4C129CNCPDT

使用 IAR 版本7.10.1的德州仪器(TI) TM4C12xx (SAFERTOS 库)演示代码发布(DCR)

适用于 TM4C 器件的 TivaWare USB 库

 

何时:在创建任何 SAFERTOS 任务(因此代码几乎为空)之前以及在调用 Rx 和 Tx 缓冲区的 USBBufferInit()函数之后。

什么:USBDCDCInit ()函数紧随其后调用(返回成功)。

问题:xTaskStartScheduler (pdTRUE);函数直接返回 errINVALID_BYTE_alignment

我已经检查了从代码"我这边"传递的所有值的定义、所有数据都与 SafeRTOS 规范相对应。

是否有办法初始化 USB 端口、因为项目目标非常需要这种方式?

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

    使用 IAR 版本7.10.1的德州仪器(TI) TM4C12xx (SAFERTOS 库)演示代码发布(DCR)

    [/报价]

    您好!

     您能说明从何处获取 TM4C12xx SafeRTOS 库演示代码版本(DCR)。 个人而言、我不知道这个演示代码。  

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

    您好 Charles、
    我在 SAFERTOS 网站上申请了这个演示库: https://www.highintegritysystems.com/safertos/

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

    尊敬的 Louis:

    我在 SafeRTOS 网站上申请了此演示库: https://www.highintegritysystems.com/safertos/

    这是基于 SafeRTOS 由第三方开发的演示、我完全不熟悉它。 我不知道该怎么说。 如果 USBDCDCInit 返回成功、但 xTaskStartScheduler 返回一个  errINVALID_BYTE_alignment 错误、那么我建议您联系供应商以获得支持。 我不知道 SafeRTOS 为什么抱怨对齐错误。 执行此操作时、Google 搜索可能与堆栈缓冲区有关、或者 针对目标硬件的队列存储器值不正确。

     我还建议您尝试以下位置的 CDC 示例 :C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\usb_dev_cdcserial。 本示例  为 Rx 和 Tx 缓冲区调用 USBBufferInit()函数,并调用  USBDCDCInit()以初始化 CDC 类。 如果您可以让这个裸机正常运行、但 SafeRTOS 无法运行、则意味着它与 SafeRTOS 的交互有一些关系。 由于我从未使用过 SAFERTOS、所以我真的不知道为什么当函数 USBDCDCInit 返回成功时、对齐问题会发生这样的结果。 请 与 Highintegritysystems 联系以获取帮助。 希望他们能够轻松指出解决问题的区域和技巧。  

      

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

    您好 Charles、

    感谢您的快速响应!

    请尝试在  C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\usb_dev_cdcserial

    我已经测试过这个问题、但只要我添加 USB 库和 SafeRTOS、我就可以遇到这个问题。

    它与 SafeRTOS 交互有一些关系

    是的、我得出了同样的结论。

    我认为 USB 库没有按照 SafeRTOS 所期望的那样对齐数据...

    然后、我将向您寻求有关 HighIntegritySystems 的帮助。

    感谢您的帮助! 我一有更新、就会发送有关该主题的新闻!