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

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • 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调动也可以非常方便地来使用到这些外设
课程介绍 共计13课时,2小时30分32秒

MSP432产品培训

MSP430 TI MCU Cortex-M4F 微控制器 MSP432

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

推荐帖子

串口1发给串口0可以,反过来就不行,为什么
求助阿,兄弟姐妹们,能帮帮我吗? interrupt[UART1RX_VECTOR] void usart1_rx (void) { while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready? TXBUF0 = RXBUF1;// RXBUF1 to TXBUF0 } 以上串口0是可以正常收到串口1的数据的, inte...
laoyuyin 微控制器 MCU
一个2407产生对称PWM的问题````
因为刚学DSP,做的是用2407产生6路3对对称PWM,一开始摸索的时候程序老是编译有问题,今天才把程序搞好``却发现我的板子出了问题,因为编的第一个程序所以没有把挖想放上来大家帮我看看这样写是不是能产生6路3对对称PWM``` 主程序如下 #include \"regs240x.h\" main() {         un...
hurdy 微控制器 MCU
第七章Bulk设备
小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paulhyde@126.com 第七章Bulk设备 7.1 bulk设备介绍 USB通道的数据传输格式有两种,而且这两种格式还是互斥的。有消息和流两种对于流状态,不具有us...
paulhyde 微控制器 MCU
TI DSP .CMD 文件的编写
CMD 它是用来分配rom和ram空间用的,告诉链接程序怎样计算地址和分配空间…… TI DSP .CMD 文件的编写 CMD 它是用来分配rom和ram空间用的,告诉链接程序怎样计算地址和分配空间. 所以不同的芯片就有不同大小的rom和ram.放用户程序的地方也不尽相同.所以要根据你的 芯片进行修改. 分两部分.MEMORY和SECTIONS. MEMORY { PAGE 0 ...
DSP16 DSP 与 ARM 处理器

zhangleiat185

讲解细致,非常适合学习,赞!

2020年10月29日 13:36:50

SensorYoung

讲解很详细,需认真学习

2020年10月19日 20:56:19

GuyGraphics

讲解很详细,需认真学习

2020年10月19日 20:54:19

YangTwo

讲解很详细,需认真学习

2020年10月19日 20:54:02

06010601

讲解很详细,需认真学习

2020年10月04日 13:08:40

luck_gfb

讲解很详细,需认真学习

2020年09月19日 16:25:59

小颖颖子

讲解的很细致,很容易就可以明白,

2020年07月30日 14:38:58

jpf

内存中手动写入一段已经保存好的信号内容,保存下的格式为文本txt如何方便的将txt里的内容写如指定的内存空间说一下处理的步骤...

2020年07月28日 13:18:34

大明58

MSP432是TI的MSP430家族新增加的32位产品系列,采用ARM-CortexM4F内核,专注于低功耗和通用微控制器领域。

2020年05月12日 11:12:24

hawkier

学习了,不错的讲解

2020年02月13日 13:58:24

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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