MSP430在Energia上的使用(上)

说实话我也不确定会不会有后面的笔记,但是这次实验的确相当于没有做完。

准备工作

终于狠下心花了百元大洋买了块MSP430F5529LP板子,准备研究一下板载仿真器在Energia中是如何进行烧录的。

通过TI公司的官方文件《MSP430F5529 LaunchPad Development Kit……》,我们其实可以得到LaunchPad的原理图,因为整个原理图用了四页,这里就不详细展示了,有需要可以在TI官网找。我只截取板载仿真器和MSP430F5529芯片的接口部分的图

其中板载仿真器被TI公司命名为ezFET,应该是简版仿真器的意思,除去电源线部分,我们可以看到信息传输分为两部分——SBW和UART。其中SBW相当于两线JTAG,可以当做仿真器接口,而UART则是使用的MSP430的BSL接口,其只能作为烧录口。

那么看到这其实问题就很简单了,我们需要确定Energia在烧录的时候具体是用的哪个接口。

问题意义

一般情况下,我们在使用LaunchPad时,是不需要管这个仿真器是如何工作的,但是如果当我们手里只有一块没有板载仿真器的开发板或者甚至只有一块芯片的时候,我们又该如何对其使用Energia呢,是应该用JTAG连接吗,还是使用SBW,亦或是使用BSL?我们是否能将EnergiaIDE的移植到ArduinoIDE上呢(因为Energia事实上能够使用的资源远远不及Arduino,而且无法用VSCode这个大杀器)?

实验一:测试传输接口

这个工作其实很简单,因为板子在设计的时候就是通过跳线进行连接的,所以我们只需要调整跳线位置即可进行测试。

实验现象:

  1. 在安装好Energia以及板子驱动等之后,连接电脑USB与ezFET的MicroUSB接口,选择好端口和板子型号,选择示例程序blink,直接点击上传程序。(上传成功,红灯闪烁)
  2. 取下RX和TX跳线,剩下SBWTCK和SBWTDIO,然后再次上传。(上传成功,红灯闪烁)
  3. 取下SBWTCK和SBWTDIO,剩下RX和TX跳线,然后再次上传。(上传失败,显示未检测到链接报错)

实验结论:

在Energia中,默认通过板载仿真器ezFET得SBW接口对MSP430芯片进行烧录。

实验二:移植到ArduinoIDE

ArduinoIDE本身自带了非常多的库,但是因为兼容性问题,并不支持直接移植到Energia上,所以Energia上目前可以直接使用的库可谓是非常少。而且无论是ArduinoIDE还是EnergiaIDE的代码辅助功能都非常垃圾,而如果能使用VSCode的Arduino插件就可以大大减轻这一问题。

移植方法很简单,打开Energia的目录,找到hardware,把其中Energia文件夹复制到ArduinoIDE目录的hardware文件夹里。再把Energia的tools里的东西放在ArduinoIDE的hardware-tools里即可。这里需要说明的是,在复制完后可以点开ArduinoIDE,简单做个demo或者直接用energia的blink作为测试,如果出现

exec: "/bin/msp430-g++": file does not exist
为开发板 MSP-EXP430F5529LP 编译时出错。

需要修改hardware-energia-msp430文件夹里的Platform.txt文件,这个文件定义了CPU 体系结构等(包括编译器、生成过程参数、用于上载的工具等),可能和ArduinoIDE无法直接兼容。

具体修改规范可以参考Arduino官方的这个网址(需要科学上网):https://arduino.github.io/arduino-cli/platform-specification/

如果暂时不想看这么麻烦的东西(像我一样),可以参考这个帖子:[MSP]将MSP430 纳入 ARDUINO IDE: 让arduino支持MSP430F5438A

不过他里面给出的Platform.txt有点古老,ArduinoIDE可能会给出警告,不过警告一般也可以不听,所以凑合着用吧。同时按照他的方法,可能无法完成直接烧录,因为我试了一下报错了。

移植并不算很成功,然后在VSCode里试了一下,一些定义会有点问题,暂时不确定是什么原因……说实话这个实验有点失败,还是能力欠缺了。

另外我也看了看PlatformIO,里面对MSP430的支持同样很差,果然MSP430这种老古董还是有点过气了吗……

关于移植的方法我后面会再详细研究的(大概),如果研究好了再写这一篇的下章吧(意思是可bi能si会qiang没po有zheng)。

备注

关于仿真器的问题,如果买到了没有仿真器的板子或者自己做板子,而手里又没有仿真器,除了BSL烧录的方法以外,也可以通过用LaunchPad板子直接把跳线那里外接出去,也可以当仿真器用。另外,ezFET是一个开源硬件,详情可以参考官方文件,当然网上也有一些帖子讲了这个玩意的做法,同样可以参考。

MSP430在Energia上的使用(上)相关推荐

  1. 【组合数学】组合数学简介 ( 组合思想 3 : 上下界逼近 | 上下界逼近示例 Remsey 数 )

    文章目录 一.组合思想 3 : 上下界逼近 二.上下界逼近示例 ( Remsey 数 ) 一.组合思想 3 : 上下界逼近 上下界逼近 的思想 , 通常用于 确定某个值 , 或 确定某个函数的阶 ( ...

  2. 【集合论】二元关系 ( A 上二元关系 | A 上二元关系示例 )

    文章目录 一. A 上二元关系 二. A 上二元关系个数 三. A 上二元关系 示例 ( 集合中有两个元素 ) 四. A 上二元关系 示例 ( 集合中有两个元素 ) 一. A 上二元关系 AAA 上二 ...

  3. antd upload手动上传_Flask上传文件

    Flask上传文件 上传文件包括很多,比如用户头像,文章图片,文件分享等等,它也涉及到很多内容:上传文件,过滤文件类型,限制大小,文件名的编辑,拖拽上传,进度条,文件命名,文件目录的管理等等. 文件上 ...

  4. 无法将文件ftp服务器上,ftp服务器上传不了文件

    ftp服务器上传不了文件 内容精选 换一换 资源包括静态语音,TTS放音以及短消息,在您进行流程编排前,需要先将涉及到的资源,包括语音.短信模板添加到系统中,才能继续配置流程. 华为云支持导入vhd. ...

  5. mysql创建连接失败怎么办,MYSQL在Windows 2003上连接不上的解决方法

    MYSQL在Windows 2003上连接不上的解决方法 今天搭建mysql数据库,连接了半天,都提示10061错误,以为密码出了问题试了半天,压根连服务都连接不上,忙活了半个多小时,才发现是系统补丁 ...

  6. struts+swfupload实现批量图片上传(上):swfupload

    custom_settings : {progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel&qu ...

  7. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件...

    重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 原文:重新想象 Windows 8.1 Store Apps (89) - 通信 ...

  8. 文档上传到服务器上,将文件上传到服务器上

    将文件上传到服务器上 内容精选 换一换 为了实现NAT Server.SAP HANA主备节点和SAP S/4HANA主备节点互相通过SSH协议跳转的功能,需要配置云服务器之间的互信.在本地PC上,生 ...

  9. dropzonejs vue 使用_如何在Dropzone上手动触发上传文件事件

    我将Dropzonejs很好地集成到了我的前端(VueJS)中.如何在Dropzone上手动触发上传文件事件 我有验收测试Dropzone使用Webdriver/Codeception的问题.底线是W ...

最新文章

  1. php渲染页面简单例子,微信小程序如何渲染html内容(示例讲解)
  2. mac开发的时候必须要xcode
  3. as2的Key.isDown方法在as3的代替
  4. Java阻塞队列的实现
  5. centen os7安装maven
  6. vm虚拟机安装gho系统_虚拟机怎么安装gho系统
  7. 单元测试 测试用例 用例测试文件golang的单元测试
  8. 服务器上Dll文件读取失败,解决开机出现dll文件加载失败的方法
  9. 解决浏览器 fakepath 实现图片上传预览
  10. 如何判断股市能否持续上涨?
  11. ElasticSearch分词近义词
  12. # Itext Pdf 合并拆分
  13. c++语言计算2的n次方,2的N次方
  14. Nginx常用Rewrite(伪静态规则)WordPress/PHPCMS/ECSHOP/ShopEX/SaBlog/Discuz/DiscuzX/PHPWind/Typecho/DEDECMS...
  15. 让remix使用本地文件系统
  16. sdn 华硕二级路由_Mesh分布式路由器,能否改善全屋WiFi信号覆盖问题,路由组网分享...
  17. 【react】This synthetic event is reused for performance reasons.
  18. C语言布斯乘法算法,布斯Booth算法带符号位的乘法verilog语言实现booth算法
  19. 百汇BCR:为什么要使用外汇模拟交易软件?有什么好处?
  20. Unity模糊远处物体,近处清晰,景深效果

热门文章

  1. java 错误 找不到符号_Java错误:找不到符号,也找不到原因
  2. 智能分析网关基于AI烟火识别技术的消防预警方案
  3. CPU高速缓存(Cache Memory)
  4. MESI高速缓存一致性协议
  5. 如何轻松创建一个Windows 8可启动的USB闪盘 (Windows to Go)
  6. 上班如上坟?如何提升职场幸福感?
  7. 基于SSM的饭店点餐收银管理系统【数据库设计、源码、开题报告】
  8. [VRPTW]GA与ALNS的比较.基因遗传算法的链接汇总
  9. 转正小结计算机,计算机实习生转正自我鉴定
  10. github下载代码