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/SIMPLELINK-MSP432-SDK:未包含检测的驱动程序库&初始化失败

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

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/613778/rtos-simplelink-msp432-sdk-instrumented-driver-library-not-included-fails-to-init

器件型号:SIMPLELINK-MSP432-SDK
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

您好!

我已开始使用 MSP432和 simplelink_msp432_sdk_1_40_01_00的新器件。 我更喜欢在启用仪器的情况下进行开发、以便验证断言并生成日志。 但是、SDK 的1.40.01.00不附带预构建的仪表库。  simplelink_msp432_sdk_1_40_01_00\source\ti\drivers\lib 中包含的库为:drivers_msp432p401x、drivers_msp432p4xx 和 drivers_msp432p4x1xi、每个都有 aem4f/am4fg/arm4f 变体。 我还找不到检测的 DPL (kernel/tirtos/packages/ti/dpl)库、因此所有 DebugP_logx 函数都不会生成输出。

在对如何正确使用 XDC 进行 google 处理后、我自己设法构建了检测版本的驱动程序。 但是、由于 GPIO_setConfig (GPIOMSP432.c 中的第414行)开头的断言在 GPIO_init 期间失败、因此无法引导。 断言如下:

DebugP_assert (initCalled && index < GPIOMSP432_config.numberOfPinConfigs);

由于 GPIO_init 行324 - 334在设置 initCalled 之前尝试配置引脚、因此失败。 在 for 循环之前设置 initCalled 可以解决该问题。

但是、这不会让我对 SDK 的质量充满信心、因此我有几个问题:

  1. 为什么弃用了通过 RTSC 包含驱动程序而不是手动链接? 这使得仪表的获取变得更加困难/乏味。
  2. 检测的库是否得到良好的支持/测试? 似乎很难开始、这让我感觉它没有得到充分利用。
  3. 如果我希望 DebugP_xx 生成输出、我是否必须自己构建 DPL? 我看不到任何会导致日志无法正常工作的预处理器魔术、但如果我执行 DebugP_log0 ("test")、我不会输出、而 Log_print0 (Diags_User1、"test")(这是所有 DebugP_log0在内部执行的操作)、那么我会在日志中看到它。 值得注意的是、我在配置中启用了日志、并且在日志中看到了正常的 SYSBIOS 条目。

在我们决定在这里作出承诺之前、我想更好地理解一些事情。

谢谢

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

    我们决定不提供已检测的驱动程序库有以下几个原因:减小安装程序大小、某些器件上的闪存量很小(例如 CC13xx 和 CC26xx)、没有人使用已检测的驱动程序库等 我们删除了驱动程序的 RTSC 配置、主要是为了减少写入新驱动程序时的斜升。

    不幸的是、由于我们不再提供已检测的库、它们可能会变得过时。 这就是我们不在 SDK 中积极讨论它们的原因。 我们希望将它们带回产品中、但我没有时间范围。 我会将此线程链接添加到 Jira 工单中、以显示客户正在请求该链接。 因此、您的#2问题的答案必须为"否"、检测的库不受良好支持或测试。

    哪一个示例给出了断言? 我想运行它、看看我是否可以复制它。

    关于第3个问题、您的映射文件中是否显示了 DebugP_logN 函数?

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

    您好 Todd、

    感谢您的解决、我想、如果/当我遇到驱动程序问题时、我只会切换到我的检测构建。 我没有运行任何特定的示例来使 GPIO_init 失败、但据我所知、使用检测配置引脚的任何对其的调用都将失败。

    我还通过自己构建 DPL 来打印 DebugP_xx、我想预构建的调试器禁用了打印功能。 我在安装 SDK 时使用这些自定义编译时遇到了一些麻烦、因此我无法通过随附的库来检查它是否在我的地图中。 不过、我会假设是这样、因为当我直接调用 DebugP_log0时、它链接正确、但它不会生成任何输出。  

    不过、我想我现在会回到已交付的库、因为这是经过测试的库。 不过、这是一个有用的小练习、现在我更好地理解了 XDC 构建系统。