Table of Contents

早期样片迁移指南

引言

重要提示:本指南仅适用于已收到 MSPM0 的 早期样片并希望将其现有应用程序迁移至量产样片的 客户。

本文档旨在强调以下几点:

强烈建议使用早期样片的客户将其应用程序迁移至 支持量产样片的 MSPM0 SDK 版本。MSPM0 SDK 对早期 样片的支持将不会长期持续。

下面的部分介绍了支持量产样片的推荐工具版本, 并针对使用 DriverLib 和 SysConfig 配置文件的应用程序 提供了迁移指南。

该指南假定用户在 Windows 环境中工作。不过, 指南中讨论的概念也适用于 Linux 和 MacOS 环境。

e2e.ti.com 将会在线发布最新信息。

我当前使用的 MSPM0 SDK 支持哪些样片?

如何确定 MSPM0 样片版本

如果是以下情况,则表示您拥有的是量产样片:

如果是以下情况,则表示您拥有的是早期样片:

重要文档

工具注意事项

下表列出了可与量产样片一同使用的 MSPM0 量产 兼容配套工具的版本

产品 版本
MSPM0 SDK 1.00 或更高版本
SysConfig 1.19.x 或更高版本
CCS Eclipse 12.6.0 或更高版本
CCS Theia 1.2.0 或更高版本
IAR Embedded workbench for ARM 9.50.1 或更高版本
Keil MDK-Arm with uVision 5.38a 或更高版本

Code Composer Studio (CCS)

以下 Code Composer Studio 版本支持 MSPM0 器件的量产 样片:

重要提示:对于计划同时使用早期样片和量产样片的客户, 强烈建议在与默认安装路径不同的 安装路径下安装专用 CCS。例如,量产 样片的 CCS 可以安装在“C:\ti\production”。

重要提示:部分闪存加载程序设置在早期样片和量产样片的 CCS 支持包中不同。在将早期样片中的示例导入 具有较新支持包的 CCS 中时,建议检查并确认如下所示的 闪存擦除设置:

IAR Embedded workbench for ARM

IAR Embedded workbench for ARM 9.50.1 或更高版本支持 MSPM0 器件的量产样片。

重要提示:对于计划同时使用早期样片和量产样片的客户, 强烈建议在与默认安装路径不同的 安装路径下安装专用 IAR。例如,量产 样片的 IAR 可以安装在“C:\Program Files\IAR Systems\production”。 有关在 IAR 中选择 SysConfig 的说明,请参阅 SysConfig 指南中的在 IAR 中启用 SysConfig

Keil MDK-Arm with uVision

对于量产样片开发,仍建议使用带有 ARM Clang 编译器 v6.16 或更高版本的 Keil MDK-Arm with uVision v5.38a 或更高版本,并且用户需要安装 最新的 TexasInstruments.MSPM0L_DFP 包或 TexasInstruments.MSPM0G_DFP 包, 如 MSPM0 SDK KEIL 快速入门指南 中所述

重要提示:对于计划同时使用早期样片和量产样片的客户, 客户,强烈建议在与默认安装路径不同的 安装路径下安装专用 Keil。例如, 量产样片的 Keil 可以安装在“C:\Keil_v5\production”。 有关在 Keil 中选择 SysConfig 版本的说明,请参阅 SysConfig 指南中的在 Keil 中启用 SysConfig

DriverLib 变更

本节总结了已在 Driverlib 中更新或移除的 API、 定义和枚举。客户可以参考本节来确定在迁移期间 解决编译错误所需的适当操作。

以下每个小节的名称都引用了位于 \source\ti\driverlib\source\ti\driverlib\m0p\sysctl\mspm0g` 中的标头和/或源文件名。

Driverlib 部分使用了以下方案:

dl_sysctl_mspm0g

定义

定义组 已移除 已添加 更新与以下项有关
DL_SYSCTL_INTERRUPTDL_SYSCTL_INTERRUPT_BOR_LEVELDL_SYSCTL_INTERRUPT_SRAM_SECPMCU_ENH_02
DL_SYSCTL_INTERRUPT_FLASH_DED
DL_SYSCTL_INTERRUPT_LFCLK_FAIL

枚举

枚举名称 已移除 已添加 更新与以下项有关
DL_SYSCTL_IIDXDL_SYSCTL_IIDX_BOR_LEVELDL_SYSCTL_IIDX_SRAM_SECPMCU_ENH_02
DL_SYSCTL_IIDX_FLASH_DED
DL_SYSCTL_IIDX_LFCLK_FAIL

API

已移除

已更新

dl_sysctl_mspm0l

定义

定义组 已移除 已添加 更新与以下项有关
DL_SYSCTL_INTERRUPTDL_SYSCTL_INTERRUPT_BOR_LEVELPMCU_ENH_02

注:此中断是 M0L 唯一的“电源中断”,因此删除了与此相关的整个小节。 您不能再使用 powerSysInterrupts 或 pmcuInterruptPriority 对 MSPM0L 器件进行中断管理

枚举

枚举名称 已移除 已添加 更新与以下项有关
DL_SYSCTL_IIDXDL_SYSCTL_IIDX_BOR_LEVELPMCU_ENH_02

API

已移除

dl_crc

枚举

API

已移除

已更新

dl_dma

枚举

枚举名称 更改为 更新与以下项有关
DL_DMA_TRANSFER_MODE DL_DMA_REPEAT_SINGLE_TRANSFER_MODE DL_DMA_FULL_CH_REPEAT_SINGLE_TRANSFER_MODE DMA_ENH_01 和 DMA_ENH_02
DL_DMA_REPEAT_BLOCK_TRANSFER_MODEDL_DMA_FULL_CH_REPEAT_BLOCK_TRANSFER_MODE
DL_DMA_EXTENDED_MODEDL_DMA_FILL_MODEDL_DMA_FULL_CH_FILL_MODE
DL_DMA_TABLE_MODEDL_DMA_FULL_CH_TABLE_MODE

结构

添加了以下结构成员:

结构名称 已添加 更新与以下项有关
DL_DMA_ConfigDL_DMA_TRIGGER_TYPE triggerType就 DMA 是选择内部信道还是外部信道作为 DMA 触发器进行配置。
DMA_ENH_06

API

已更新

dl_i2c

枚举

枚举名称 已移除 已添加 更新与以下项有关
DL_I2C_IIDXDL_I2C_IIDX_CONTROLLER_CLOCK_TIMEOUTDL_I2C_IIDX_TIMEOUT_AI2C_ENH_05
DL_I2C_IIDX_TIMEOUT_B

定义

定义组 已移除 已添加 更新与以下项有关
DL_I2C_INTERRUPTDL_I2C_INTERRUPT_CONTROLLER_CLOCK_TIMEOUTDL_I2C_INTERRUPT_TIMEOUT_AI2C_ENH_05
DL_I2C_INTERRUPT_TIMEOUT_B

API

已移除

dl_mathacl

枚举名称 已移除 建议
DL_MATHACL_OP_TYPEDL_MATHACL_OP_TYPE_ARCTAN使用 DL_MATHACL_OP_TYPE_ARCTAN2
DL_MATHACL_OP_TYPE_MPY使用 DL_MATHACL_OP_TYPE_MPY32

dl_opa

API

已移除

dl_rtc

API

已更新

dl_spi

结构

添加了以下结构成员:

结构名称 已添加 用途
DL_SPI_ConfigDL_SPI_DATA_SIZE dataSize指定数据传输的大小
DL_SPI_CHIP_SELECT chipSelectPin指定用于芯片选择的引脚。在使用 Motorola 格式的控制器或外设 模式中使用。

枚举

枚举名称 已移除 已添加 更新与以下项有关
DL_SPI_PARITYDL_SPI_PARITY_BIT0_EVENDL_SPI_PARITY_EVEN
DL_SPI_PARITY_BIT0_ODDDL_SPI_PARITY_ODD
DL_SPI_PARITY_BIT1_EVEN
DL_SPI_PARITY_BIT1_ODD

API

已移除

已更新

dl_timera

API

已移除

dl_timerg

定义

已更新

API

已更新

已移除

dl_timerh

已移除所有 DL_TimerH API。原因是 已移除器件中的所有 TimerH 实例,并且一些 TIMG 实例 已更新为 32 位计时器且不支持预分频。有关此器件级更改的额外更新,请参阅“MSPM0G 和 MSPM0L 系列: 与早期样片之间的功能差异”文档。

SysConfig 代码生成/GUI 更改

本节显示 SysConfig 的早期样片和量产样片版本之间的差异,因为差异与 GUI 本身和生成的代码有关。 每行显示一个代码更改,该更改反映了对 SDK 的更新或对 SysConfig 的更改。

迁移指南中的 DriverLib 部分说明了每节所做的更改,并在该节的标题中链接了相关内容以供参考。

系统模块

DMA

早期 SysConfig 设置 量产 SysConfig 设置

SYSCTL

早期 SysConfig 设置 量产 SysConfig 设置
中断已移除
中断已移除

通信

I2C

早期 SysConfig 设置 量产 SysConfig 设置


SPI

早期 SysConfig 设置 量产 SysConfig 设置

数据完整性

CRC

早期 SysConfig 设置 量产 SysConfig 设置
CRC Init 更改
CRC Init 更改

<Application_File>.syscfg 比较

本节重点介绍了早期样片和量产样片 .syscfg 文件之间的差异,以及如何修改旧的 .syscfg 文件,使其与量产样片兼容。 每个工程都包含一个 .syscfg 文件,该文件包含通过 GUI 设定的所有 SysConfig 配置设置,并且迁移到最新的 SDK 和 SysConfig 会导致某些参数和函数发生更改。 每行都反映了 SysConfig GUI/SDK 中导致参数发生更改的改动。 用户可以通过文本编辑器直接修改此文件,以将配置设置迁移到最新版本,而不用通过 GUI 进行这些更改。

系统模块

DMA

早期 SysConfig 设置 量产 SysConfig 设置

SysCtl

早期 SysConfig 设置 量产 SysConfig 设置
G 器件定义
设置已删除
L 器件定义
设置已删除

通信

I2C

早期 SysConfig 设置 量产 SysConfig 设置

数据完整性

CRC

早期 SysConfig 设置 量产 SysConfig 设置
不适用
可选。如果不需要,可直接删除这一行