首页 > 评测 > 命令行Style+DIP Style——MSP-EXP430G2 Launchpad开发评测
命令行Style+DIP Style——MSP-EXP430G2 Launchpad开发评测
- [导读]
- MSP430可谓是经典,DIP封装的MSP430开发板更可谓是典藏之作。笔者此次就来和大家分享一下这款经典的开发板有何特色,以及在eStore购买开发板的意外之喜。
硬件原理图简析
MSP-EXP430G2原理图较为简单,几乎是一目了然.其实主要是调试器部分,比起要评估的MSP430-G2xx系列的要复杂许多.
图 原理图1
图 原理图2
图 原理图3
还有就MSP-EXP430G2有几个版本,现在能拿到的应该都是Rev1.5的,注意参考的时候不要弄错了.
MSP430 G2xxx系列的片子型号很多,只要是DIP14,DIP20的这个系列的片,都能用在这板子上.注意DIP14的片向上对齐.相比国内这板子知名度不大(因为选择很多),国外用户好像用这板子的也有不少人,所以一些参考资料也较容易找到.
我这里稍稍说一下子对16位微控制器的看法:
个人认为16位的这类产品慢慢会边缘化,因为32位的Cortex M,MIPS 24K,还有一些其他的后起之秀比如上海乐鑫用的Xtensia等等价格越来越便宜.不管是MSP430还是Microchip的dSPIC24系列,还是英飞凌的C166核,慢慢都会变成某几种大规模生产的产品的专用芯片(因为在这应用上成熟了,改成其他内核的也没有很大必要).这些厂家也都早就开始大力推32位的产品了.
当然这些只是市场上的一些变化,影响不了搞DIY的热情.想想ArduinoUno这种8位的平台还有那么多人捧场呢. 只是那种刚开始学习这一块的工程师,我建议他们直接搞32位的.32位的学了其他位宽的触类旁通.
我自己以后想在16位的芯片上跑一些算法,研究一下子几种处理器的数学性能.但是不可能放在这文章了,篇幅毕竟有限.
这里放一张MSP430系列的概览图,供大家参考.
图 MSP430系列概览
开发方式
如前所述,TI为此板子准备了几种开发方式,就是让各种口味的人都有选择.
入门风格:
· Energia(类Arduino的开发方式)
· TI CCS Cloud
专业路线:
· TI CCS IDE
· IAR MSP430
· GNU命令行工具链
Energia是TI与第三方合作推出的,跟Arduino的风.但是这个工具好久没有更新了,属于雷声大雨点小的项目.不看好以后还会更新,不管也罢.
TI CCS Cloud的概念很新潮,云端开发程序,应该说是mbed的风格.但这工具我们国内的互联网连接效果并不佳,所以也不大适合我们使用.
剩下的就是传统的开发工具,CCS与IAR都是商业工具,虽说也有免费版本,但是用功能有限制的版本,心里面多少有点不爽,尤其是有完全版本的免费工具可用的情况下.
所以本文主要使用GNU命令行工具链来开发例程.
只用下载MSP430 GCC安装包就可以了(其实是个压缩包):
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/latest/index_FDS.html
安装过程不多说,就是选一个目录解压的过程.安装好了,该文件夹应该是这样:
图 MSP430 GCC安装好的目录
用命令行工具链开发一个程序-Blink
应该所有开发板子的第一个程序是闪灯,这是老套路了.从前面原理图可以看出板子上两个灯分别接在P1.0与P1.6下,下面开始写代码:
//***************************************************************************************
// MSP430 Blink the LED Demo - Software Toggle P1.0 & P1.6
//
// ACLK = n/a, MCLK = SMCLK = default DCO
//
// Author: zhanzr21 @ 21ic BBS
//***************************************************************************************
#include
#include
void SimpleDelay(uint32_t d)
{
volatile uint32_t i;
i = d*100;
do i--;
while(i != 0);
}
int main(void) {
// Stop watchdog timer
WDTCTL = WDTPW | WDTHOLD;
// Set P1.0 and P1.6 to output direction
P1DIR |= ((1<<6) | (1<<0));
P1OUT = 0;
while(1) {
//Toggle P1.0 and P1.6
P1OUT ^= ((1<<6) | (1<<0));
SimpleDelay(20);
}
return 0;
}
注意代码中我们包含了
那么源代码写好了怎么编译连接下载呢,可以全部手工敲命令,但是最通用最被接受的方法当然是使用make工具来管理.之前使用过命令行工具链的工程师可能一看便知,但是嵌入式工程师来讲,一般对IDE依赖较多.IDE这个东西的确好,使用得当可以获得比命令行方式更高的工作效率.但是偶尔使用命令行工具链来管理工程,你会发现命令行工具使用顺手了效率也不低,而且我觉得每个软件工程师,不管是嵌入式的还是桌面,云端的,只要是写代码的,都应该熟悉命令行管理工程的技能.因为很多时这会让你有更多途径来提高工作效率.
下面看这个工程的makefile的编写.事实上,这工程只需要一个makefile就能以比较高的效率来管理.当然如果考虑到版本控制,则还需要配置一些其他的工具链,此处省去以后再写版本管理方面的心得体会.
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前