【单片机】msp430几种不同开发平台的对比

本文详细介绍了MSP430单片机的三种开发平台:TinyOS、MSPGCC和IAR_MSP430的编辑器、工程管理、开发环境、编译与下载流程,以及各自的特色和使用体验。通过对比,展现了不同平台在开发过程中的优势和适用场景,为MSP430的开发者提供了选择参考。
摘要由CSDN通过智能技术生成

http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/

以m开头的

一些软件的下载

GCC toolchain for MSP430 download | SourceForge.net

http://sourceforge.net/develop/   gcc的官网

TinyOS (moteiv & mica)

编辑器

没有特定的编辑器,记事本类似的都行,保证所编辑的源文件是“.nc”结尾的nesC程序。

工程管理

一个目录即为一个工程,包括一个makefile檔和一个或多个“components”,组件有两种:

1.       配件(configuration):描述不同组件之间的关系;

2.       模块:(module):描述组件提供的接口中的函数功能的实验过程。

开发环境

在windows下安装cygwin环境,并在cygwin下安装TinyOS的开发工具包,其中包括

avr-binutils,        二进制代码工具

avr-gcc,          

avr-insight,

avr-libc,            

nesC-1.1.2              nesC编译器

编译、运行和下载

TinyOS支持多种硬件平台,每个硬件平台在tos/platform有自己的目录。

在应用程序的目录里/app/Blink下输入:

make tmote      //其中tmote代表的是平台种类。如果target为pc,刚生成的main.exe可

//用于GDB的调试。

上面的语句实际上是按照当前目录的makefile文件运行的,makefile檔中包含了编译、连接等。具体的实现如下:

1.ncc编译链接:  #ncc –o main.exe –target=tmote Blink.nc   //编译生成了main.exe,可以作

//PC机上的模拟之用。

2.转换: #msp430-objcopy –output-target=ihex main.exe main.ihex   //生成了main.ihex

下载:运行:  #make tmote reinstall,1          //设置网络地址为1

其中运行过程中主要的两个命令如下:

installing tmote bootloader using bsl  ####安装启动引导檔,根据开发板的不同而不同。

tos-bsl –telosb –c 7 –r –I –p C:/cygwin/opt/moteiv/tos/lib/Deluge/TOSBoot/build/tmote/main.ihex

       installing tmote binary using bsl      #####安装二进制程序。ihex与ihex.out-1文件相同

tos-bsl –telosb –c 7 –r –I –p build/tmote/main.ihex.out-1

make过程分析

其中提到的目录说明如下:(具体参照上面的图)

opt\tinyos-1.x\tos\lib  ----------------------------------------包括了用到的库函数.

opt\tinyos-1.x\tos\interfaces----------------------------------包括接口函数,

opt\tinyos-1.x\tos\platform----------包括了不同硬件平台间的配置文件.(启动引导檔在这里)

opt\tinyos-1.x\tos\sensorboards ------------------------------包括板载传感器的具体实现

可以看到所有的程序都是调用了同一个make规则,除了工程本身所在目录的makefile文件与本工程相关外,在\opt\tinyos-1.x\apps目录下的makerule文件是公用的,其中定义了选用的编译器及硬件平台的选择。

TinyOS操作系统设计思想

1.轻量级线程技术(lightweight thread)

2.主动消息通信技术(active message)

3.事件驱动模块(event driver)

4.组件化编程(component-based programming)

nesC语言把组件化/模块化思想和基于事件驱动的执行模型结合起来。

组件化:其中的组件即“Configuration”(配件)、“Module”。两个东西就像零件一样组合在一起。

模块化:

MSPGCC

编辑器

可以配置一些IDE(集成开发环境),如VIM、UltraEdit、CodeBlocks等,其中VIM是命令行的,用起来很有感觉,CodeBlocks是开源的,UltraEdit为商业软件。但不管怎么样,都是调用的mspgcc安装程序里的make.exe,调试环境是msp430-insight

工程管理

用UltraEdit可以很好的管理工程文件,在工程目录里面应该有一个makefile檔,告诉make如何去生成所要的目录文件和文件之间的依赖关系。同样,用开源的CodeBlocks也可以自己搭建一个很好的IDE,鉴于对CodeBlocks都比较熟悉,即采用之!

开发环境

在windows下安装mspgcc-2007021.exe,注意,这里最好是安装最新版的,在之前我下载的是2003版的,又很多工具都不全,导致一个人摸索了好久。

然后在CodeBlocks里的“settings”项里配置相关的compiler和debugger,最重要的部分是库函数所在的目录位置。

编译、运行和下载

编译和链接部分基本上和相同,只是分别调用的是msp430-gcc.exe、msp430-ld.exe

下载是通过msp430-downloader.exe来下载的。

make过程分析

下面是makefile文件的部分分析:

${NAME}.elf: ${OBJECTS}               #######################msp430-gcc进行编译

       msp43o-gcc.exe  -mmcu=${CPU}  -o $@ ${OBJECTS}  ####生成了 “*.elf”文件

${NAME}.a43:  ${NAME}.elf                  ##################目标文件进行转换

       msp430-objcopy -O ihex $^ $@         ##################将elf文件转换为*.a43文件

${NAME}.lst: ${NAME}.elf            ##################反汇编,生成*.lst文件,其中

msp430-objdump -dSt $^ >$@    ##################这个文件包含了c源码,汇                                   ##################编原码

download-jtag: all

       msp430-jtag -e ${NAME}.elf

download-bsl: all   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值