6685|2

6366

帖子

4917

TA的资源

版主

楼主
 

MSP430几种不同开发平台的对比 [复制链接]

MSP430几种不同开发平台的对比(一)
2011年05月07日 星期六 5:40 P.M.

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代表的是平台种类如果targetpc,刚生成的main.exe

//用于GDB的调试

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

1.ncc编译链接: #ncc omain.exetarget=tmoteBlink.nc  //编译生成了main.exe,可以作

//PC机上的模拟之用

2.转换:#msp430-objcopyoutput-target=ihexmain.exemain.ihex  //生成了main.ihex

 

 

下载:运行: #make tmotereinstall,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     #####安装二进制程序ihexihex.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(集成开发环境),如VIMUltraEditCodeBlocks等,其中VIM是命令行的,用起来很有感觉,CodeBlocks是开源的,UltraEdit为商业软件但不管怎么样,都是调用的mspgcc安装程序里的make.exe,调试环境是msp430-insight

 

工程管理

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

 

开发环境

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

然后在CodeBlocks里的settings项里配置相关的compilerdebugger,最重要的部分是库函数所在的目录位置

 

编译运行和下载

编译和链接部分基本上和相同,只是分别调用的是msp430-gcc.exemsp430-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              #####这里的下载工具也是bsl,TinyOStos-bsl类似

      msp430-bsl -e ${NAME}.elf

 

其中,*.a43TI-Text格式, *.hexIntel-hex格式.

 

 

 

最新回复

看看,学习一下  详情 回复 发表于 2012-6-10 22:03
 
点赞 关注

回复
举报

6366

帖子

4917

TA的资源

版主

沙发
 

IAR_MSP430编辑器

IAR Embedded Workbench IDE一个瑞士开发的商用软件的,价格好象在6500.00;目前个人感觉相比开源的MSPGCC也没太大的优势

工程管理

一个.eww即为一个工程,

开发调试环境

 

编译运行和下载

编译:调用icc430.exe编译器和已经设定好的一些参数,包括指定的动态库文件,输出文件所在的目录,具体的代码好下:

 icc430.exe-ID:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\

-ID:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\DLIB\

-oC:\Documents and Settings\Administrator\My Documents\Debug\Obj\

-z3 --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -e --double=32

-D_DLIB_CONFIG_FILE=D:\ProgramFiles\IARSystems\EmbeddedWorkbench4.0\430\LIB\DLIB\dl430fn.h 

D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\FET_examples\fet140\C-source\fet140_1.c

运行上面的命令之后,在..\obj目录下生成了*.r43文件(TheObjdirectoryis the destination directory for the object files from the compiler and the assembler. These files have the extensionr43and will be used as input to the IAR XLINK Linker.)

 

链接:这里调用的是xlink.exe,具体的代码好下:

xlink.exe C:\Documents and Settings\Administrator\My Documents\Debug\Obj\fet140_1.r43

-oC:\Documents and Settings\Administrator\My Documents\Debug\Exe\SMC4200.d43I D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\LIB\

-f D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\CONFIG\lnk430F149.xcl

-fD:\Program Files\IAR Systems\Embedded Workbench 4.0\430\config\multiplier.xcl-D_STACK_SIZE=50

-rtD:\Program Files\IAR Systems\Embedded Workbench 4.0\430\LIB\DLIB\dl430fn.r43

-e_PrintfLarge=_Printf

-e_ScanfLarge=_Scanf

-D_HEAP_SIZE=50

-s __program_start

#####-oThis option creates a UBROF output file, with ad43filename extension, to be used with the IAR C-SPY Debugger. (TheExedirectoryis the destination directory for the executable file. It has the extensiond43and will be used as input to the IAR C-SPY Debugger. Note that this

directory will be empty until you have linked the object files.) <<EW430_UserGuide>> P66

 

下载:

在下载部分,IAR没有给出很详细的,

 

总结:

 

下面是和IARJennicTinyOS平台做的对比:  

开发工具包

IAR

Jennic

TinyOS

MSPGCC

 

compiler

编译器

C Compiler

icc430.exe

ba-elf-gcc.exe

ncc.exe

msp430-gcc.exe

msp430-gcc.exe

C++ Compiler

 

 

ba-elf-g++.exe

 

msp430-g++.exe

Linker

链接器

 

动态库的链接器

xlink.exe

ba-elf-ld.exe

 

msp430-ld.exe

静态库的链接器

?

ba-elf-ar.exe

 

msp430-ar.exe

Debugger

 

ba-elf-gdb.exe

 

msp430-gdb.exe

make

 

Make.exe

Make.exe

Make.exe

Download file

?

*.bin

*.hex.out-1 (tmote)

*.elf *.hex *.txt

downloader

 

 

tos-bsl

download-bsl

 

 

 

 

 

 

 

 

 

AVRGCCARMGCCMSPGCC

IAR

ü        application and library projects.

 

ü         TheObjdirectory is the destination directory for the object files from the compiler and the assembler. These files have the extensionr43and will be used as input to the IAR XLINK Linker(<<EW430_UserGuide>> P69

 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
看看,学习一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

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

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