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

MSP430

最新课程

热门课程

MSP432产品培训(八)-软件资源

大家好 欢迎参加MSP432 MCU产品培训的系列课程 本次课程是整个系列课程的第八部分 我们将介绍MSP432的软件解决方案 现在我们要介绍MSP432的软件 解决方案的一个要点 TI为MSP432系列产品提供了 一个完整的软件开发包 叫MSPWare 在MSPWare中 TI提供了所有 与软件相关的资源 包括所有的函数库、软件开发文档、 应用手册、培训以及配套的资料等等 MSPWare中可以说已经 集合了您所需要的一切 MSPWare它是一个软件开发包 它可以单独下载 也可以作为CCS 也就是TI提供的code composer studio这样的软件开发平台组件提供 TI提供的一个resource explore中的TI云开发工具它也提供MSPWare 你可以在MSPWare中找到 MSP432的所有相关信息 包括用户指南 应用手册以及其他一切你会需要使用到的软件资源 那对于任何一个软件开发平台来说 它都有一个最基础的一个构建 也就是面向寄存器级别的访问代码 因此MSP432会提供所有的 寄存器级别的访问的源代码 你通过之前学习 所了解和喜欢的 任何一个传统的MSP430的代码示例 都可以在我们这个 MSPWare中完全地获取 您可以使用器件的头文件 来获取一个完整的器件的寄存器 以及相关数据位的定义 由于我们MSP430产品和432 产品这两个平台共享许多的外设 所以这些共享外设的寄存器和数据 位的定义呢也会完全兼容的 这使得对于一些常见的外设 比如说我们的定时器A 我们的EOSCI等等 都可以非常方便地在我们MSP430和432两个平台间进行移植 那我们现在已经为MSP432所提供的外设提供了成百个开箱即用代码示例 您可以任意地浏览这些 简单的C代码的示例 学习如何操作和控制不同的外设 例如图中这个简单代码示例 被用来控制ADC14模块 它是使用一个寄存器 访问级别的访问形式 那除了寄存器级别的 一个访问操作代码之外呢 MSP432还提供了 一个完整的驱动程序库 那在这个驱动程序库当中 集合了所有经高度提取的API 用于实现一个更高级的高级编程 来帮助我们的软件工程师 来应对更加复杂的软件开发应用 驱动程序库提供的是 易于使用和理解的API函数 那软件开发人员就不再需要 一个根据密码一样的 寄存器的数据位的定义 来进行外设的设置 同样的 我们之前说过了 因为MSP430和MSP432这样两个 平台共享了很多的通用外设 所以您现有的运用 它使用了MSP430的驱动程序库 那么内置的不同平台的 外设驱动库的API 就能够减少你的移植工作的工作量 您可以查看这里的示例 了解一下驱动程序库是怎么样 为软件编程人员来浓缩代码的 在图片上显示的是代码 在驱动程序库当中的样子 那要完全配置一个定时器来生成 PWM波 需要调用到两个函数 那这两个函数所使用到的名字 以及它们调用的参数使得我们整个代码的阅读就变得非常简单 而下方的呢 是使用传统的寄存器 访问级别的C代码 那大家可以看到 使用这样的一个C代码的话 就会需要使用到更多的指令 而且 这些指令当中很多都很难一眼就领会和理解的 需要程序员来为它增加注释代码 那这样就增加了代码读取的难度 那由于MSP432的驱动程序库是 在设计芯片的同时进行开发的 那这个库已经经过了全面的测试 证明了它的稳健性和高效性 因此这个MSP432的驱动程序库 已经被写入我们芯片的ROM当中 那这样开发人员就可以直接读取ROM 当中的驱动程序库 并且执行 那虽然ROM版本的 驱动程序库非常强大 并且经过了证实 它可与 最新版本的器件共同使用 但是我们用户仍然有机会可以通过增加新的功能来提高现有API的执行效率 或者也可以通过扩展写API来获得 一些带有新功能的一些新函数 因此 有些开发人员会选择使用MSP432驱动程序库的源代码 而不是直接调用固化 在ROM当中的库函数 那获得BSD的许可之后呢 即可对驱动程序库来进行完全的访问以获得源代码 用户完全可以根据自己的偏好 对我们的驱动程序库来进行进一步的自定义的修改 来提升或增加新功能 那另一方面 有很多开发人员会发现 预先内置于ROM当中的 这个MSP432的驱动程序库 很适合他们的应用 那除了刚才已经说过被 证实的代买的稳健性之外 调用ROM当中的这个 driver library 驱动程序库还有一些其他的优势 首先跟闪存先比 执行ROM中的代码时 它的电流消耗更低 这是第一点 此外 ROM即是在整个芯片达到 最高速度48MHz运行的时候 它也不需要等待周期 也就说我们ROM中的代码 它始终能以最高速度48MHz来运行 最后 第三点是通过 调用预先烧录在ROM中的外设驱动库 那我们就无需将外设驱动库来 整个烧写录入flash当中 那这样就可以节省 flash的应用代码空间 我们可以为每个应用代码 释放大约25k字节的闪存空间 这是非常显著的成本降低 根据以上的一、二、三 三点理由 当我们的器件是以 最高速度48MHz运行的时候 和在闪存中执行代码相比较 调用ROM当中内置的外设驱动库 将释放您的代码空间 降低您器件的功耗 并且代码的执行速度会更快 好 那么现在您可能会问 那ROM当中的代码并不总是最新的 那么我们怎么来判断什么 时候去用什么代码 那大家都知道根据经验法则 我们最新的驱动程序库版本 那永远是最好的 但是大部分的时候 固话在ROM当中的API不会有变化 因为它经过了完全的测试 而有时候 由于增加了新的增强功能 所以我们使用最新的源代码版本的驱动程序库可能会更适用我们的应用 因此我们就创建了一种中间层 这个中间层被称为映射层 如果ROM里面代码是最新版本 那么这个映射一直指向ROM 如果不是最新版 就会指向flash 当中的一个源代码版本 这个源代码版本它可能 是某个API的最新的版本 或者是一个完全 崭新的一个整个API系统 那所以开发人员一直 选择使用API的映射版本 它就可以保证使用到了ROM版本 也就是最稳定的版本 并且在源代码有更新的候 使用到最新的版本 实际上这个实践起来是非常方便的 使用我们外设驱动库的 三种惯用的调用方式 如我们现在图上所示 如果您是想要使用一个源代码版本 也就是自己把它烧录在flash当中 那您的调用就无需保持前缀 也就是API的调用将类似于这样 比如说我们用TimerA来生成PWM 我们就直接调用TimerA_generatePWM 如果您明确表示想要使用 固化在ROM当中的外设驱动库的函数 那因为您知道ROM当中的函数是您想 要使用并且最新的API版本 那么您就可以 在函数调用的名称 前面加上一个前缀ROM_ 好 那现在就变成了ROM_TimerA_generatePWM 变成这样的模式 当然了 我们使用外设驱动库 最明确的方法 我们之前说过了 它是使用映射函数 那这时候 这个API的调用就变成了MAP_TimerA_generatePWM 那使用这个映射版本的时候 你就可以保证尽可能的使用到了 ROM源代码中的最新版本 那么MSP432由于使用了 一个Cortex-M内核 这是一个ARM标准内核 那因此它除了提供传统的寄存器级别 访问代码和外设驱动库之外 它还完全符合由Cortex内核 定义的一个软件接口标准 也就是我们的CMSIS 那CMSIS呢 它是Cortex-M处理器的 一个标准化的硬件抽象层 那借助这个CMSIS 您可以 使用CMSIS的头文件 CMSIS的固有函数 以及DSP RTOS等等 高度抽象的一个库 那开发人员作为MSP432的用户 它可以来混合地使用 计算器级别的访问代码 驱动程序库代码 以及 由CMSIS定义的各个库 那这个将大大简化开发的时间和难度 在这里的示例 它介绍了如何发挥这个混合体的作用 MSP432的头文件提供了 MSP资源的所有的定义 那您可以方便地控制每一个定义 它使用到每一个寄存器位 以及所有的寄存器组 同时头文件还会对相同的寄存器 提供另一个标准CMSIS的定义 那将所有的一切都纳入 我们Cortex的CMSIS标准化结构当中 那通过提供两种类型的定义 MSP432的器件就能使用户 在开发过程中更具有灵活性 并能够对他们为自己所用到的 软件类型来进行混合和匹配 比如一些用户它可能发现 他们想要的把一些现有的MSP430的 一些程序代码移植到MSP432上 同时 他们可能还会需要和MSP432的 驱动程序库的代码进行混合 从而 它又可以使用430上 用到的TimerA定时器A 又可以使用到我们新加入的DMA 或者ADC这样更加复杂的外设 最后它们还可以混入一些 他们在使用其他的ARM器件时 偶然发现 并且习惯使用的 一些CMSIS风格的代码 那除了低级的库和头文件之外 MSP432还提供大量高级的库 开发人员可以利用这些库快速地 建立一个稳健并且高效的基本系统 这样他们才会有更多的精力 去开发其他与众不同的应用 那前面讲过 所有的这些库和示例 我们都可以在MSPWare当中找到 那所以您可以查看MSPWare 找到这些库的更多信息 比如我们提供图形库 电容式触控库和IQMath 以及更多的以应用为目标的库 比如NFC 我们CC3100 WIFI simplelink 我们的BLE&Bluetooth等等这些库 都在MSPWare当中可以用找到 那对于更多需要对多个组件外设 和并行运行的任务进行资源 系统管理的MSP432的应用来说 我们也有很多支持MSP432的 实时操作系统 可供用户使用 其中包括一些免费的RTOS 我们TI提供的RTOS 以及Micrium μC/OS 还有更多的其他操作系统 它正在被引入我们 MSP432的软件生态系统 那要了解这些库的更多信息呢 我会推荐您浏览一下我们的MSPWare 同样的呢 您可以在TI所提供的 这个resource explore当中的 TI云开发工具网站上来 单独地下载MSPWare 如同之前所说的呢 您也可以从CCS 就是我们的Code Composer Studio 这个软件开发ADE当中获得MSPWare 那在这里 你也可以看到 不同的MSP432的应用库 比如我们的外设驱动库啊 图形库等等 还可以找到有关实时 操作系统的详细信息 以及各种代码示例演示项目 用于演示这些不同库的不同功能 好 那么我们MSP432 MCU产品 培训的第八部分的内容就到此结束 那关于MSP432的软件 介绍就到这里结束 谢谢您的观看

大家好 欢迎参加MSP432 MCU产品培训的系列课程

本次课程是整个系列课程的第八部分

我们将介绍MSP432的软件解决方案

现在我们要介绍MSP432的软件 解决方案的一个要点

TI为MSP432系列产品提供了 一个完整的软件开发包 叫MSPWare

在MSPWare中 TI提供了所有 与软件相关的资源

包括所有的函数库、软件开发文档、 应用手册、培训以及配套的资料等等

MSPWare中可以说已经 集合了您所需要的一切

MSPWare它是一个软件开发包

它可以单独下载 也可以作为CCS

也就是TI提供的code composer studio这样的软件开发平台组件提供

TI提供的一个resource explore中的TI云开发工具它也提供MSPWare

你可以在MSPWare中找到 MSP432的所有相关信息

包括用户指南 应用手册以及其他一切你会需要使用到的软件资源

那对于任何一个软件开发平台来说

它都有一个最基础的一个构建

也就是面向寄存器级别的访问代码

因此MSP432会提供所有的 寄存器级别的访问的源代码

你通过之前学习 所了解和喜欢的 任何一个传统的MSP430的代码示例

都可以在我们这个 MSPWare中完全地获取

您可以使用器件的头文件 来获取一个完整的器件的寄存器

以及相关数据位的定义

由于我们MSP430产品和432 产品这两个平台共享许多的外设

所以这些共享外设的寄存器和数据 位的定义呢也会完全兼容的

这使得对于一些常见的外设

比如说我们的定时器A 我们的EOSCI等等

都可以非常方便地在我们MSP430和432两个平台间进行移植

那我们现在已经为MSP432所提供的外设提供了成百个开箱即用代码示例

您可以任意地浏览这些 简单的C代码的示例

学习如何操作和控制不同的外设

例如图中这个简单代码示例 被用来控制ADC14模块

它是使用一个寄存器 访问级别的访问形式

那除了寄存器级别的 一个访问操作代码之外呢

MSP432还提供了 一个完整的驱动程序库

那在这个驱动程序库当中 集合了所有经高度提取的API

用于实现一个更高级的高级编程

来帮助我们的软件工程师 来应对更加复杂的软件开发应用

驱动程序库提供的是 易于使用和理解的API函数

那软件开发人员就不再需要 一个根据密码一样的

寄存器的数据位的定义 来进行外设的设置

同样的 我们之前说过了

因为MSP430和MSP432这样两个 平台共享了很多的通用外设

所以您现有的运用 它使用了MSP430的驱动程序库

那么内置的不同平台的 外设驱动库的API

就能够减少你的移植工作的工作量

您可以查看这里的示例

了解一下驱动程序库是怎么样 为软件编程人员来浓缩代码的

在图片上显示的是代码 在驱动程序库当中的样子

那要完全配置一个定时器来生成 PWM波 需要调用到两个函数

那这两个函数所使用到的名字

以及它们调用的参数使得我们整个代码的阅读就变得非常简单

而下方的呢 是使用传统的寄存器 访问级别的C代码

那大家可以看到 使用这样的一个C代码的话 就会需要使用到更多的指令

而且 这些指令当中很多都很难一眼就领会和理解的

需要程序员来为它增加注释代码

那这样就增加了代码读取的难度

那由于MSP432的驱动程序库是 在设计芯片的同时进行开发的

那这个库已经经过了全面的测试

证明了它的稳健性和高效性

因此这个MSP432的驱动程序库 已经被写入我们芯片的ROM当中

那这样开发人员就可以直接读取ROM 当中的驱动程序库 并且执行

那虽然ROM版本的 驱动程序库非常强大

并且经过了证实 它可与 最新版本的器件共同使用

但是我们用户仍然有机会可以通过增加新的功能来提高现有API的执行效率

或者也可以通过扩展写API来获得 一些带有新功能的一些新函数

因此 有些开发人员会选择使用MSP432驱动程序库的源代码

而不是直接调用固化 在ROM当中的库函数

那获得BSD的许可之后呢 即可对驱动程序库来进行完全的访问以获得源代码

用户完全可以根据自己的偏好

对我们的驱动程序库来进行进一步的自定义的修改

来提升或增加新功能

那另一方面 有很多开发人员会发现 预先内置于ROM当中的

这个MSP432的驱动程序库 很适合他们的应用

那除了刚才已经说过被 证实的代买的稳健性之外

调用ROM当中的这个 driver library 驱动程序库还有一些其他的优势

首先跟闪存先比 执行ROM中的代码时

它的电流消耗更低 这是第一点

此外 ROM即是在整个芯片达到 最高速度48MHz运行的时候

它也不需要等待周期

也就说我们ROM中的代码 它始终能以最高速度48MHz来运行

最后 第三点是通过 调用预先烧录在ROM中的外设驱动库

那我们就无需将外设驱动库来 整个烧写录入flash当中

那这样就可以节省 flash的应用代码空间

我们可以为每个应用代码 释放大约25k字节的闪存空间

这是非常显著的成本降低

根据以上的一、二、三 三点理由

当我们的器件是以 最高速度48MHz运行的时候

和在闪存中执行代码相比较 调用ROM当中内置的外设驱动库

将释放您的代码空间 降低您器件的功耗

并且代码的执行速度会更快

好 那么现在您可能会问

那ROM当中的代码并不总是最新的

那么我们怎么来判断什么 时候去用什么代码

那大家都知道根据经验法则

我们最新的驱动程序库版本 那永远是最好的

但是大部分的时候 固话在ROM当中的API不会有变化

因为它经过了完全的测试

而有时候 由于增加了新的增强功能

所以我们使用最新的源代码版本的驱动程序库可能会更适用我们的应用

因此我们就创建了一种中间层

这个中间层被称为映射层

如果ROM里面代码是最新版本

那么这个映射一直指向ROM

如果不是最新版 就会指向flash 当中的一个源代码版本

这个源代码版本它可能 是某个API的最新的版本

或者是一个完全 崭新的一个整个API系统

那所以开发人员一直 选择使用API的映射版本

它就可以保证使用到了ROM版本 也就是最稳定的版本

并且在源代码有更新的候 使用到最新的版本

实际上这个实践起来是非常方便的

使用我们外设驱动库的 三种惯用的调用方式

如我们现在图上所示

如果您是想要使用一个源代码版本

也就是自己把它烧录在flash当中

那您的调用就无需保持前缀

也就是API的调用将类似于这样

比如说我们用TimerA来生成PWM

我们就直接调用TimerA_generatePWM

如果您明确表示想要使用 固化在ROM当中的外设驱动库的函数

那因为您知道ROM当中的函数是您想 要使用并且最新的API版本

那么您就可以 在函数调用的名称 前面加上一个前缀ROM_

好 那现在就变成了ROM_TimerA_generatePWM

变成这样的模式

当然了 我们使用外设驱动库 最明确的方法

我们之前说过了 它是使用映射函数

那这时候 这个API的调用就变成了MAP_TimerA_generatePWM

那使用这个映射版本的时候

你就可以保证尽可能的使用到了 ROM源代码中的最新版本

那么MSP432由于使用了 一个Cortex-M内核

这是一个ARM标准内核

那因此它除了提供传统的寄存器级别 访问代码和外设驱动库之外

它还完全符合由Cortex内核 定义的一个软件接口标准

也就是我们的CMSIS

那CMSIS呢 它是Cortex-M处理器的 一个标准化的硬件抽象层

那借助这个CMSIS 您可以 使用CMSIS的头文件

CMSIS的固有函数 以及DSP RTOS等等

高度抽象的一个库

那开发人员作为MSP432的用户

它可以来混合地使用 计算器级别的访问代码

驱动程序库代码 以及 由CMSIS定义的各个库

那这个将大大简化开发的时间和难度

在这里的示例 它介绍了如何发挥这个混合体的作用

MSP432的头文件提供了 MSP资源的所有的定义

那您可以方便地控制每一个定义

它使用到每一个寄存器位 以及所有的寄存器组

同时头文件还会对相同的寄存器 提供另一个标准CMSIS的定义

那将所有的一切都纳入 我们Cortex的CMSIS标准化结构当中

那通过提供两种类型的定义

MSP432的器件就能使用户 在开发过程中更具有灵活性

并能够对他们为自己所用到的 软件类型来进行混合和匹配

比如一些用户它可能发现

他们想要的把一些现有的MSP430的 一些程序代码移植到MSP432上

同时 他们可能还会需要和MSP432的 驱动程序库的代码进行混合

从而 它又可以使用430上 用到的TimerA定时器A

又可以使用到我们新加入的DMA 或者ADC这样更加复杂的外设

最后它们还可以混入一些 他们在使用其他的ARM器件时

偶然发现 并且习惯使用的 一些CMSIS风格的代码

那除了低级的库和头文件之外

MSP432还提供大量高级的库

开发人员可以利用这些库快速地 建立一个稳健并且高效的基本系统

这样他们才会有更多的精力 去开发其他与众不同的应用

那前面讲过 所有的这些库和示例

我们都可以在MSPWare当中找到

那所以您可以查看MSPWare 找到这些库的更多信息

比如我们提供图形库 电容式触控库和IQMath

以及更多的以应用为目标的库 比如NFC 我们CC3100 WIFI simplelink

我们的BLE&Bluetooth等等这些库

都在MSPWare当中可以用找到

那对于更多需要对多个组件外设

和并行运行的任务进行资源 系统管理的MSP432的应用来说

我们也有很多支持MSP432的 实时操作系统 可供用户使用

其中包括一些免费的RTOS

我们TI提供的RTOS 以及Micrium μC/OS

还有更多的其他操作系统

它正在被引入我们 MSP432的软件生态系统

那要了解这些库的更多信息呢

我会推荐您浏览一下我们的MSPWare

同样的呢 您可以在TI所提供的 这个resource explore当中的

TI云开发工具网站上来 单独地下载MSPWare

如同之前所说的呢

您也可以从CCS 就是我们的Code Composer Studio

这个软件开发ADE当中获得MSPWare

那在这里 你也可以看到 不同的MSP432的应用库

比如我们的外设驱动库啊 图形库等等

还可以找到有关实时 操作系统的详细信息

以及各种代码示例演示项目

用于演示这些不同库的不同功能

好 那么我们MSP432 MCU产品 培训的第八部分的内容就到此结束

那关于MSP432的软件 介绍就到这里结束

谢谢您的观看

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

视频简介

MSP432产品培训(八)-软件资源

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