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

+荐课 评论 收藏 分享
大家好 欢迎参加MSP432MCU产品培训的系列课程 本次课程是整个系列课程的第八部分 我们将介绍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的软件介绍就到这里结束 谢谢您的观看
课程介绍 共计13课时,2小时30分32秒

MSP432产品培训

MSP430 TI MCU Cortex-M4F 微控制器 MSP432

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

  • 相关产品
  • EVM购买
  • 软件/工具
  • 技术支持

推荐帖子

怎么测试运算放大器的输入失调电压?
运放输入失调电压是指输入信号为零时,输出端出现的电压折算到同相输入端的数值。 运放输入失调电压测试只要将运放连接成差分放大电路(也称减法电路),再将两个输入端短接之后接地即可。 为了方便测量,可设置较大的增益,如1001倍,输出电压除以1001就是输入失调电压。 取RF=R3=100kΩ,R1=R2=100Ω,将Ui1和Ui2同时接地,Uo/1001就是输入失调电...
fish001 【模拟与混合信号】
DSP TMS320F28335中断向量表
由于F28335各个中断源对应的地址是事先就设定好的,我们无法更改,所以中断向量表我们必须要备一张。 从图中可以看出 INT1-INT12每个都对应8个外部中断 总共由96个可响应的资源,有很多富裕的资源 TI公司比较人性化的地方就在于,所有的这些中断他在官方的程序中,通过命名的方式与地址已经对应好的,我们直接用名称就可以了。如下图所示 ...
fish001 【DSP 与 ARM 处理器】
TI官方的CMD文件说明(实际应用的文件是在官方的基础上稍作修改)
TI官方提供的CMD文件有三个: 28335_RAM_lnk.cmd、F28335.cmd、DSP2833x_Headers_nonBIOS.cmd 调试程序时,将28335_RAM_lnk.cmd文件加入工程中,程序被加载到SRAM中运行。 实际的产品运行时,需要将程序下载到FLASH中,并从FLASH中启动,这时需要 在工程中加入F28335.cmd文件,同时屏蔽28335_RA...
Aguilera 【微控制器 MCU】
基于Launchpad与Ht1621段式液晶的低功耗时钟
         上传了工程文件,大家看我的工程文件名就应该能够看出来其实我做的是一个无线温湿度检测系统,这是一个节点的发送程序,因此里面会有NRF24L01的程序,并且在Launchpad已经调试成功了,还有接受的程序,如果大家需要的话我可以传上来。本来想用按键中断的,但是没有成功,可能是优先级或者中断嵌套的问题吧,所以按键用了扫描方式...
lxc115 【微控制器 MCU】
分享到X
微博
QQ
QQ空间
微信

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved