MSPM33 SDK Known Issues and FAQ (Frequently Asked Questions)

引言

本页面列出了有关 MSPM33 SDK 的已知问题和常见问题解答。

目录

已知问题

示例

器件

编程器/调试器

中间件

SMBus

BIM

电机控制

SysConfig

Keil

FAQ(常见问题解答)

SDK

问:我如何使用 SDK 与 Code Composer Studio、IAR、GCC 或 Keil?

答: 请参考 SDK 文档中包含的快速入门指南。

问:我如何提交 SDK 错误(驱动程序、示例、SysConfig、文档)或申请新特性?

答: 要申请新特性或提交头文件和支持文件、SDK DriverLib、代码示例、SysConfig 或 TI-Driver 的错误,请联系您当地的销售代表或 TI 支持团队。

驱动程序

问:支持哪些类型的驱动程序?

答: DriverLib 是低级高效的驱动程序,完全涵盖了寄存器和功能。它更加“精细”,需要掌握更多的硬件知识,但可以提高代码效率和减小占用空间,而且 SysConfig 的使用可以简化和加速 代码开发。

TI-Driver 是更高级的驱动程序。它们的代码量更大,因为它们已经实现了较多的功能,但不太要求了解要使用的硬件。SDK 当前包含对某些 No-RTOS 和 RTOS 驱动程序的初级支持。更多的 TI-Driver 正在开发中。

SysConfig

问:什么是时钟树及其如何使用?

答: 时钟树是 SysConfig 中的一个模块,让用户能够以图形方式配置器件时钟,而非使用 SYSCTL 菜单。通过选择 SYSCTL 中可配置的 Use Clock Tree,可以使用它取代模块中的 SYSCTL 时钟配置选项。更多详细信息,请参考将 SysConfig 与 MSPM33 配合使用指南。

问:什么是模拟配置器及其如何使用?

答: TI 模拟配置器是一个独立的图形配置工具,旨在使用 MSPM33 器件简化和加快模拟信号链的设计和实现,而无需进行传统的编码开发。此工具旨在帮助 MSPM33 用户快速采用模拟信号链概念,并创建可以闪存到器件的可编译工程。更多详细信息,请参考模拟配置器概述

问:什么是 MSP Zero Code Studio,如何使用它?

答: MSP Zero Code Studio 是一个可视化设计环境,使用户能够在几分钟内配置、开发和运行微控制器应用程序。无需编码,无需 IDE。更多详细信息,请参考 MSP Zero Code Studio 概述

RTOS

问:MSPM33 SDK 是否支持 FreeRTOS?

答: 是,当前 SDK 包含 FreeRTOS 内核、驱动程序移植 层(DPL)、POSIX 支持和一个基础的 DriverLib FreeRTOS 示例(受 Code Composer Studio、IAR 和 Keil 的支持)。

问:MSPM33 SDK 是否支持 TI-RTOS?

答: 目前没有支持 TI-RTOS 的计划。

问:MSPM33 SDK 是否计划支持其他 RTOS?

答: 要申请 RTOS,请联系您当地的销售代表或 TI 支持团队。

中间件

问:当前支持什么中间件?

答: 有关 SDK 当前支持的完整中间件清单,请参考“文档概述”。

问:TI 是否计划增加 MSPM33 对第三方(例如 Vector、IHR、Simma Software 等)CAN/LIN 栈的支持?

答: 有些第三方已经为 MSPM33 提供支持,并将在接下来的几天内公布。 更多的第三方正在增加对 MSPM33 的支持,但 请根据需要直接联系第三方、当地的销售代表或 TI 支持团队。

问:MSPM33 SDK 是否计划支持更多中间件?

答: 正在添加更多中间件,将包含到未来版本中。 要申请中间件,请联系您当地的销售代表或 TI 支持团队。

问:MSPM33 诊断库将支持哪种基于软件的诊断?

答: 下面列出了诊断库所含内容的概要说明:

通用

问:MSPM33 软件是否可以在生产中使用?预计针对 MSPM33 软件产品提供哪种支持?

答: 大多数 SDK 代码是按照 BSD-3-Clause 许可证提供的,但有些中间件是按照 TI 商业许可证实现的。更多详细信息,请参考清单。

大多数 SDK 是按照 TI 的基线质量流程开发的, MSPM33 SDK 实施 MISRA-C 检查以确保高质量水平。不过, 客户有责任在终端应用程序上验证代码。

有些代码(例如在 TI 商业许可证下许可的诊断库)遵循更严格的开发和测试流程,因而可靠性水平更高。

TI 一直在半导体行业中提供卓越的客户支持。TI 致力于按照历年来的水准提供对 MSPM33 SDK 的支持。

问:如果我有早期实验样片,如何将我的应用程序迁移到生产样片?

答: 有关如何将应用程序迁移到支持生产样片的 MSPM33 SDK 版本的详细信息,请参考早期样片迁移文档

工具

问:支持哪些 IDE 和编译器?

答: MSPM33 包括适合以下产品的示例:

但是,其他第三方的 IDE 和编译器也可能提供并搭配 MSPM33 使用。

问:MSPM33 是否支持“x”工具?

答: 有关 MSPM33 支持的 TI 和第三方的各种工具的信息,请参考工具指南。但是,其中并没有提供可用于 MSPM33 的工具的完整清单,请访问 TI.com 了解更多新讯息或申请第三方工具供应商的支持。

附录 A - 在低功耗模式下调试

问题描述:

器件在进入 STOP、STANDBY 或 SHUTDOWN 模式时可能遇到 SWD 连接问题。

这种限制的影响取决于 IDE 和调试器的实现。

1.当器件进入 STOP/STANDBY 模式时,调试器显示警告错误。

此行为是调试器持续轮询 AP 接口但通信失败所导致的。 在这种情况下,调试器显示警告或提示用户尝试重新连接。 当器件处于低功耗模式时,警告通常定期出现。 下图显示了使用 IAR 与 Segger J-Link 时的警告:

2. 尝试刷新空白设备时,调试器显示错误

所有空白设备在开机超过~10秒后将进入低功耗模式。根据所使用的 IDE 和 调试器工具,当尝试在设备处于低功耗状态时访问设备时,可能会给出错误或警告。 下图显示了使用 IAR 与 XDS-110 时,当尝试在设备处于低功耗模式时向设备下载项目时的错误:

3.调试器尝试暂停器件时突然结束。

调试器将无法按需暂停器件,它可能显示类似案例 #1 的警告,也可能突然结束。 下图显示了使用 IAR 与 XDS-110 暂停时的错误:

4. 在刷新进入 SHUTDOWN 低功耗模式的应用程序后,设备无法连接。

除非执行某些步骤唤醒设备,否则调试器将无法重新连接到设备。 下图显示了在 Keil 中,在刷新进入 SHUTDOWN 低功耗模式的应用程序后尝试连接到设备时的错误。

测试的 IDE 和调试器汇总

下表汇总了测试的某些 IDE 和调试器:

IDE 调试器工具 进入 LPM 暂停
Code Composer Studio XDS-110 确定 确定
Code Composer Studio Segger J-Link 确定 (8) 确定 (8)
IAR XDS-110 确定 (5) 确定 (5)
IAR Segger J-Link 确定 (8) 确定 (8)
IAR IAR I-Jet 确定 (5) 确定 (5)
IAR XDS-110 作为 CMSIS_DAP 确定 (5) 确定 (5)
Keil XDS-110 作为 CMSIS_DAP 确定 (5) 确定 (5)
Keil Segger J-Link 确定 (8) 确定 (8)
Keil Keil ULINK 确定 (5) 确定 (5)

附录 B - 编程问题预防和恢复

问题描述:

在某些情况下,编程器和调试器在尝试连接到器件时 可能会遇到某些问题:

预防措施:

预防这些问题的一些推荐解决方法包括:

预防措施 #1. 延迟进入应用程序中的低功耗模式。

预防措施 #2. 根据引脚配置实施恢复机制,例如停留在 RUN 模式。

SDK 包括一个 Driverlib 示例 sysctl_shutdown,显示一个根据外部引脚选择低功耗模式的实现。

预防措施 #3. 确保 NONMAIN 存储器不被错误写入。

NONMAIN 的错误写入可以完全锁定 SWD 和 BSL。SysConfig 中的配置 NVM(NONMAIN 配置器)可以辅助正确配置 NONMAIN。更多详细信息,请参阅适用于 MSPM33 的 SysConfig 指南

预防措施 #4. 确保可使用 RESET 和 BSL_INVOKE 引脚调用 BSL。

预防措施 #5. 使用最新版本的工具或应用其指定的补丁。

建议使用最新版本的工具。作为更新工具的替代方案,可以使用补丁或脚本来启用低功耗模式调试。

请参考以下文档,了解在哪里可以找到这些脚本或补丁,以及如何应用它们来启用低功耗模式调试。

如果没有可用的补丁,请参考预防措施 #8. 修改电源访问点

预防措施 #6. 在设备处于 SHUTDOWN 状态时,配置工具在编程或调试前执行硬件复位。

预计设备将保持在 SHUTDOWN 状态,直到发生复位,这会导致唤醒请求被发送到设备。

此示例显示了如何在 Keil IDE 中配置硬件复位。

  1. 右键单击项目并选择选项。

  2. 选择调试菜单并单击设置。

  3. 在调试选项中,将连接选项更新为使用 [with Pre-reset]。

预防措施 #7. 推荐的 Keil CMSIS 包和 IAR IDE 版本。

建议用户使用以下版本的 Keil CMSIS 包或 IAR IDE。

预防措施 #8. 修改电源访问点。

如果相应的工具没有原生启用低功耗模式处理,可以通过修改我们设备上的电源访问点来启用它。

要做到这一点,请在工具的初始化过程中按照以下步骤操作:

  1. 将访问点选择切换为使用第四个访问点。这是我们的电源 AP。
  2. 地址偏移量将为 0x00。
  3. 在电源 AP 的第 3、16 和 20 位写入 1。
  4. 执行这些步骤应该能够使用相应的工具启用低功耗模式调试。

请参考我们在 C:\ti\<sdk>\tools\iar\low_power_mode_patch.dmac 文件,了解如何执行此操作的示例。如有更多问题,请参考 ARM 的 coresight 组件技术参考手册。

恢复措施:

如果器件被锁定,可以遵循以下步骤:

恢复措施 #1. 尝试在连接前强制复位: 注意,IDE 可能已经默认这样做,它可能提示强制复位,或者可能有启用物理复位的设置。

恢复措施 2. 通过调试器复位强制 BSL: 长按 BSL_Invoke 按钮,同时尝试编程。这种方法比恢复措施 3 中描述的方法更方便,但 IDE 必须具有强制物理复位的能力。

恢复措施 3. 通过物理复位强制 BSL:

  1. 长按 BSL_Invoke 按钮,同时按下并释放 Reset 按钮。
  2. 器件应该进入 BSL 并在活动模式下保持约 10 秒。
  3. 释放复位后立即尝试编程。

恢复措施 4. 通过断电重启强制 BSL:

  1. 断开电路板连接。
  2. 长按 BSL_Invoke 按钮,同时重新连接电路板。
  3. 器件应该进入 BSL 并在活动模式下保持约 10 秒。
  4. 插入电路板后立即尝试编程。

恢复措施 5. 强制 DSSM 批量擦除: 在当前 SDK 版本中,使用 CCS 和 MSPM33 Factory Reset GUI 工具实现了对 DSSM 命令的支持。

遵循 CCS IDE 指南中的说明,并参考工具指南了解更多信息。

恢复措施 6. 强制 DSSM 恢复出厂设置: 在当前 SDK 版本中,使用 CCS 和 MSPM33 Factory Reset GUI 工具实现了对 DSSM 命令的支持。

遵循 CCS IDE 指南中的说明,并参考工具指南了解更多信息。

恢复措施 7. 强制 DSSM 等待调试: 在当前 SDK 版本中,使用 CCS 实现了对 DSSM 命令的支持。

遵循 CCS IDE 指南中的说明。

恢复措施 8. 强制 DSSM 设置复位模式: 在当前 SDK 版本中,使用 CCS 实现了对 DSSM 命令的支持。

遵循 CCS IDE 指南中的说明。

注意: 在某些情况下,器件可能不会响应 DSSM 命令,例如当复位线或 SWD 引脚用于其他功能时。在这种情况下,建议在上电期间保持复位线为低电平的同时发出 DSSM 批量擦除或恢复出厂设置。有关更多信息,请参阅 CCS IDE 指南工具指南

技术支持与产品更新