MSP432在Energia上的使用(下)

MSP432 在 Energia 上的使用(下) 其实我自己都没想到我居然会来填坑,不过说实话这好像也算不上填坑,毕竟之前在MSP430 在 Energia 上的使用(上)这个帖子里讲的是 MSP430,而且说的准备在 VSCode 里装 Energia 其实到现在还没弄,不过这里还是想介绍一下 Energia 的另一项功能,一个专属于 MSP432 的功能。 MSP432 在 Energia 上的使用(下) 发现 使用方法 TASK1 TASK2 TASK3 发现 事实证明多看官网还是有好处的,之前我在使用 Energia 对 MSP430 进行编程时一直非常疑惑,为什么 TI 公司不直接使用 Arduino 已有的 IDE 而非要做个自己的 Energia 导致不为人知非常冷门,但是官网上的介绍回答了我这一点。打开Energia 官网,进入 Guide 界面,翻阅一下可以看见一个名词——MultiTasking,即多任务。众所周知如果单片机想要实现多任务并行,一般需要自己搭建 RTOS 或者更复杂一点进行专门的时分复用设计,这些方法往往需要较丰富的知识才能实现。而 Energia 就可以非常简单地(其实如果进行一些复杂操作也是挺复杂的)实现多任务操作。而官网在这里其实也给出了关于 Multitasking 的介绍,值得注意的是目前该功能只能作用与 MSP432,MSP432E,CC3320 和 CC1310几种芯片,这也是为什么我把这一章名字改成了 MSP432 而不是 MSP430。(说起来每次打开 Energia 它的启动显示里面也写到了 Energia MT,实际上就是说的这个功能,不过我一直没咋注意) 使用方法 其实官网原文就有一个大概介绍了,我这里就重复一下。关于 MultiTasking(以下简称 MT)的使用其实非常简单(如果不想做太复杂的话)。 每次新建工程后,我们会有一个初始界面,上面写的 void setup()和 void loop()(其实就是正常 Energia 或 Arduino IDE 在新建后的工程界面),我们可以把这个界面称之为工程主界面。如果只使用工程主界面写一个程序,那么它只是普通的单线程程序,但是如果你使用的是 MSP432 这类单片机,你可以点击 IDE 右上角的倒三角符号,新建一个 task,随便输入一个名字作为新任务(Task)的名字(注意不要输入后缀,IDE 会自动将其生成为 ino)然后你可以在里面写两个函数,他们便可以当成一个新的 setup 和 loop 函数了,此时如果烧录进芯片后,芯片便会同时运行两个任务(实际上并不是同时运行,只是通过快速转换两个任务的运行最后看上去是同时运行)。 ...

November 7, 2020 · 云雾海

MSP430在Energia上的使用(上)

MSP430 在 Energia 上的使用(上) 说实话我也不确定会不会有后面的笔记,但是这次实验的确相当于没有做完。 MSP430 在 Energia 上的使用(上) 准备工作 问题意义 实验一:测试传输接口 实验现象: 实验结论: 实验二:移植到 ArduinoIDE 备注 准备工作 终于狠下心花了百元大洋买了块 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 这个大杀器)? ...

August 26, 2020 · 云雾海