首页 > 产品 > 微控制器 (MCU) 和处理器 > MSP432产品培训 >

MSP430

最新课程

热门课程

MSP432产品培训(九)-MSP430和MSP432平台的代码移植(上)

大家好 本次的在线培训课程是 MSP432 MCUs的产品培训的第九部分 在本次的课程中 我们将会详细介绍一个非常具体的主题 也就是如何在MSP430和MSP432这样两个平台之间 来实现代码的移植 您如果现在有基于MSP430平台的项目 需要移植到MSP432的这个平台上 那么您可能对这个部分特别感兴趣 那在这次课程中 我们会介绍MSP430和MSP432的不同层级代码之间 它是如何来实现兼容的 以及呢 会包括寄存器层级的访问代码 驱动程序库代码、中断处理以及不同的MSP功能 和固有函数是如何覆盖到不同的平台上的 那希望本次课程的这部分内容能够让您大致地了解 如何从一个平台向令一个平台移植一个现有的应用 首先 您可以看到MSP的平台呢 它跨越了16位和32位的系统 因而它具有一个较高的可以移植性 总体来看 MSP430的硬件、软件、工具 和开发套件的生态系统格式有不同的组件 而TI已经做了大量的工作来确保生态系统中的这些组件 它在MSP430平台和MSP432的平台上都是同样可以使用的 您在这个图中可以看到红色部分是MSP430 和MSP432平台中共有的一些模块 蓝色部分是我们MSP432平台上新增的一些功能模块 而红色和蓝色相间的一些内容 则是在MSP430的平台上进行了扩展后的一些功能 那因此MSP430的很多组件都可以在MSP432上再次使用 而唯一无法真正移植的呢 是涉及到MSP16的它的内核部分 这个原因很明显 因为它的内核已经由CotexM4的内核完全替换了 那接下来我们可以再仔细地看一下 那些内容是可以再次使用的 而哪些内容是可以完全兼容的 以及哪些内容为MSP430的平台进行了扩展 那大家可看到 所有现有的MSP430的模块 例如 计时器A 我们的ADC 以及我们的通讯模块 我们eUSCI 那这些模块都可以在两个平台间实现一个百分百的兼容 而一些新的外设或者是ARM那边继承过来的一些外设 比如我们的Timer32 一个32位的定时器 或者是一个micro DMA 和我们MSP430当中的外设是会有所不同的 那这部分的代码 我们将提供寄存器级别的代码和驱动程序库的代码 那您可以看到现有的MSP430的外设 将会被再次使用 而MSP432和ARM部分的外设 则需要您添加新的代码 而且各个平台间的固有函数和中断处理也会各有不同 不过我们可以借助软件和编译器来弥补这些差距的 这个就为我们MSP432和MSP430的平台再增加一点相似度 接下来我们再来看看工具和开发套件 那由于我们已经进行了大量的工作来确保 我们两个平台上的硬件级和软件级都能实现兼容 所以呢 您可以看到很多现有的工具和套件 它都可以在不同的平台上再次使用 例如像我们的ULP advisor 我们的超低功耗编译器 和我们的Energy trace+ 这样的超低功耗工具 它已经从MSP430上扩展 也能够在MSP432上使用 一个高度兼容的MSP生态系统具有 硬件、软件、开发工具和套件这些组件 那开发人员就可以借此轻松地在16位的MSP430 和32位的MSP432平台上 对他们的项目和代码来进行转换和移植 那现在我们阿里仔细地看一下 MSP430和MSP432上的代码的兼容性 那我们将外设可以拆分不同层次的组件 首先是它的核心系统 那对于任何的器件来说 我们的内核、电源、CPU的时钟 以及内存等等的核心模块它都是必不可少的 那当你从一个平台转至另一个平台时 我们始终都要使用到一个新的核心模块 那从任何现有的平台移植到另一个平台时候的呢 那这部分模块的移植需要的工作量都是最大的 同时我们要考虑到 转换到一个新的平台时 很多新的技术创新通常也会在这里被我们使用到 那我们可以利用一个新的技术来改善功耗性能 甚至我们会用到一个新的内存的技术 那因此 迫于这些原因 必须针对这些我们使用到的 新的技术和功能来找出新的软件解决方案 才能让开发人员充分地利用到这些新功能的优势 那大家 就我们大部分的移植工作呢 都需要针对这一层次的核心模块来进行 那接下里 我们看一看我们的固有函数 那固有函数呢 是一种只特定在CPU架构的一种辅助函数 那我们知道我们MSP430是一个16位的架构的平台 那这部分特定的固有函数 它就只能用于MSP430 那同样我们MSP432 它是一种Cotex M4的架构平台 那部分特定的Cotex M的固有函数呢 那就只能用于各个Cotex M的器件 那不过我们可以借助智能的编译器和我们的头文件 对很多的变化来进行整合 使得MSP430上的很多现有的 固有函数也能够在MSP432上使用 那这就使得我们现有的MSP430的开发人员 能够将他们的代码很简单地复制黏贴到432上 只需要略微地更改 我们就可以在432上使用这些代码 那借助我们智能头文件和灵活的编译器 MSP432平台现在已经可以支持许多现有的MSP430的固有函数 那尤其 我们的Co-conversion studio 我们TI提供的开发环境内 它支持许多现有固有函数 例如跟低功耗模式很相关的固有函数 以及更多的一些高级的固有函数 例如延迟等等 有些固有函数 它只特定于16位的内核 无法在432上使用 那编译器就会对这些无法使用的固有函数进行检测和标志 并且它为开发人员会提供一个指南 来帮助我们开发人员来完成代码替换的过程 那有关这部分的更多的信息 请查看MSP的兼容性文件 这个文件是个标准的MSP432的头文件 那可以提供有关这些固有函数的一些详细信息 好 我们接下来看一下外设 那外设会有两种类型 一种是MSP外设 那这部分的外设和我们今天 在MSP432上看到的外设可以是相同的 比如我们的Timer A、我们的eUSCI、我们的GPIO和我们的ABC等等 那在这些外设中 它有很多是在MSP430和MSP432上都是百分百相同的 如果代码它具有百分百的兼容性 那就意味着您可以直接将代码 从一个平台复制黏贴到另一个平台 并且无需修改就可以直接使用的 不过呢 您必须牢记一点 由于我们目前它跨越了16位和32位的两种平台 所以我们需要确保所有的数据类型的定义 都适用于您的新的特定平台 当我们的数据类型的定义是不能确定的时候 我们推荐大家使用C99类型这样一个显示的类型定义 那还有一些外设 只是跟430平台相比呢 432平台只是略有更新 比如 ADC14和ADC12 对于这种类型的外设呢 可能只需要进行一些小的修改 如果您的应用代码中 有很多这样的外设 那么您将代码从430的平台移植到432平台的时候 可能只需要花费非常短的时间 好 接下来 我们看一下另一种外设 也就是我们的ARM外设 比如我们的DMA、我们的Timer32或者我们的Systick 那对于MSP而言呢 所有这些外设都是一个新外设 那在我们MSP430上面还没有现成的代码 可以直接在432上使用 不过呢 相同的代码您可以在其他的TI的ARM MCU上找到 比如我们的TivaC 另外呢 这部分外设我们是会 提供一些完整的自动函数库的API调动的 您直接使用这些API调动 也可以非常方便地来使用到这些外设

大家好 本次的在线培训课程是

MSP432 MCUs的产品培训的第九部分

在本次的课程中 我们将会详细介绍一个非常具体的主题

也就是如何在MSP430和MSP432这样两个平台之间

来实现代码的移植

您如果现在有基于MSP430平台的项目

需要移植到MSP432的这个平台上

那么您可能对这个部分特别感兴趣

那在这次课程中 我们会介绍MSP430和MSP432的不同层级代码之间

它是如何来实现兼容的

以及呢 会包括寄存器层级的访问代码

驱动程序库代码、中断处理以及不同的MSP功能

和固有函数是如何覆盖到不同的平台上的

那希望本次课程的这部分内容能够让您大致地了解

如何从一个平台向令一个平台移植一个现有的应用

首先 您可以看到MSP的平台呢 它跨越了16位和32位的系统

因而它具有一个较高的可以移植性

总体来看 MSP430的硬件、软件、工具

和开发套件的生态系统格式有不同的组件

而TI已经做了大量的工作来确保生态系统中的这些组件

它在MSP430平台和MSP432的平台上都是同样可以使用的

您在这个图中可以看到红色部分是MSP430

和MSP432平台中共有的一些模块

蓝色部分是我们MSP432平台上新增的一些功能模块

而红色和蓝色相间的一些内容

则是在MSP430的平台上进行了扩展后的一些功能

那因此MSP430的很多组件都可以在MSP432上再次使用

而唯一无法真正移植的呢

是涉及到MSP16的它的内核部分

这个原因很明显 因为它的内核已经由CotexM4的内核完全替换了

那接下来我们可以再仔细地看一下

那些内容是可以再次使用的

而哪些内容是可以完全兼容的

以及哪些内容为MSP430的平台进行了扩展

那大家可看到 所有现有的MSP430的模块

例如 计时器A

我们的ADC 以及我们的通讯模块 我们eUSCI

那这些模块都可以在两个平台间实现一个百分百的兼容

而一些新的外设或者是ARM那边继承过来的一些外设

比如我们的Timer32 一个32位的定时器

或者是一个micro DMA

和我们MSP430当中的外设是会有所不同的

那这部分的代码

我们将提供寄存器级别的代码和驱动程序库的代码

那您可以看到现有的MSP430的外设 将会被再次使用

而MSP432和ARM部分的外设 则需要您添加新的代码

而且各个平台间的固有函数和中断处理也会各有不同

不过我们可以借助软件和编译器来弥补这些差距的

这个就为我们MSP432和MSP430的平台再增加一点相似度

接下来我们再来看看工具和开发套件

那由于我们已经进行了大量的工作来确保

我们两个平台上的硬件级和软件级都能实现兼容

所以呢 您可以看到很多现有的工具和套件

它都可以在不同的平台上再次使用

例如像我们的ULP advisor 我们的超低功耗编译器

和我们的Energy trace+ 这样的超低功耗工具

它已经从MSP430上扩展

也能够在MSP432上使用

一个高度兼容的MSP生态系统具有 硬件、软件、开发工具和套件这些组件

那开发人员就可以借此轻松地在16位的MSP430

和32位的MSP432平台上

对他们的项目和代码来进行转换和移植

那现在我们阿里仔细地看一下 MSP430和MSP432上的代码的兼容性

那我们将外设可以拆分不同层次的组件

首先是它的核心系统

那对于任何的器件来说

我们的内核、电源、CPU的时钟

以及内存等等的核心模块它都是必不可少的

那当你从一个平台转至另一个平台时

我们始终都要使用到一个新的核心模块

那从任何现有的平台移植到另一个平台时候的呢

那这部分模块的移植需要的工作量都是最大的

同时我们要考虑到 转换到一个新的平台时

很多新的技术创新通常也会在这里被我们使用到

那我们可以利用一个新的技术来改善功耗性能

甚至我们会用到一个新的内存的技术

那因此 迫于这些原因

必须针对这些我们使用到的 新的技术和功能来找出新的软件解决方案

才能让开发人员充分地利用到这些新功能的优势

那大家 就我们大部分的移植工作呢

都需要针对这一层次的核心模块来进行

那接下里 我们看一看我们的固有函数

那固有函数呢 是一种只特定在CPU架构的一种辅助函数

那我们知道我们MSP430是一个16位的架构的平台

那这部分特定的固有函数 它就只能用于MSP430

那同样我们MSP432 它是一种Cotex M4的架构平台

那部分特定的Cotex M的固有函数呢

那就只能用于各个Cotex M的器件

那不过我们可以借助智能的编译器和我们的头文件

对很多的变化来进行整合

使得MSP430上的很多现有的 固有函数也能够在MSP432上使用

那这就使得我们现有的MSP430的开发人员

能够将他们的代码很简单地复制黏贴到432上

只需要略微地更改

我们就可以在432上使用这些代码

那借助我们智能头文件和灵活的编译器

MSP432平台现在已经可以支持许多现有的MSP430的固有函数

那尤其 我们的Co-conversion studio

我们TI提供的开发环境内

它支持许多现有固有函数

例如跟低功耗模式很相关的固有函数

以及更多的一些高级的固有函数

例如延迟等等

有些固有函数 它只特定于16位的内核

无法在432上使用

那编译器就会对这些无法使用的固有函数进行检测和标志

并且它为开发人员会提供一个指南

来帮助我们开发人员来完成代码替换的过程

那有关这部分的更多的信息

请查看MSP的兼容性文件

这个文件是个标准的MSP432的头文件

那可以提供有关这些固有函数的一些详细信息

好 我们接下来看一下外设

那外设会有两种类型

一种是MSP外设

那这部分的外设和我们今天 在MSP432上看到的外设可以是相同的

比如我们的Timer A、我们的eUSCI、我们的GPIO和我们的ABC等等

那在这些外设中

它有很多是在MSP430和MSP432上都是百分百相同的

如果代码它具有百分百的兼容性

那就意味着您可以直接将代码 从一个平台复制黏贴到另一个平台

并且无需修改就可以直接使用的

不过呢 您必须牢记一点

由于我们目前它跨越了16位和32位的两种平台

所以我们需要确保所有的数据类型的定义

都适用于您的新的特定平台

当我们的数据类型的定义是不能确定的时候

我们推荐大家使用C99类型这样一个显示的类型定义

那还有一些外设 只是跟430平台相比呢

432平台只是略有更新

比如 ADC14和ADC12

对于这种类型的外设呢

可能只需要进行一些小的修改

如果您的应用代码中 有很多这样的外设

那么您将代码从430的平台移植到432平台的时候

可能只需要花费非常短的时间

好 接下来 我们看一下另一种外设

也就是我们的ARM外设

比如我们的DMA、我们的Timer32或者我们的Systick

那对于MSP而言呢

所有这些外设都是一个新外设

那在我们MSP430上面还没有现成的代码

可以直接在432上使用

不过呢 相同的代码您可以在其他的TI的ARM MCU上找到

比如我们的TivaC

另外呢 这部分外设我们是会 提供一些完整的自动函数库的API调动的

您直接使用这些API调动 也可以非常方便地来使用到这些外设

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

MSP432产品培训(九)-MSP430和MSP432平台的代码移植(上)

所属课程:MSP432产品培训 发布时间:2015.08.18 视频集数:13 本节视频时长:00:11:00

MSP432是TI的MSP430家族新增加的32位产品系列,采用ARM-CortexM4F内核,专注于低功耗和通用微控制器领域。在低功耗和高性能以及增强型外设方面均有突出表现。本次MSP432培训共分12个章节,详细介绍了产品的内核,架构和各种增强型外设,配合小练习,帮助用户迅速了解MSP432产品的性能,快速掌握MSP432产品的使用。

TI培训小程序