admin管理员组

文章数量:1530845

目录

TinyOS (moteiv & mica)

编辑器

工程管理

开发环境

编译、运行和下载

make过程分析

TinyOS操作系统设计思想

MSPGCC

编辑器

工程管理

开发环境

编译、运行和下载

make过程分析

IAR_MSP430

编辑器

工程管理

开发调试环境

编译、运行和下载

总结:

AVRGCC、ARMGCC和MSPGCC

【IAR编译和单片机】IAR编译和单片机的一些积累

IAR配置中遇到的几个错误

IAR配置中遇到的几个错误_happyflovef的博客-CSDN博客

怎样最好地使用MSP430 编译器的建议


原文:http://zh200581134.blog.163/blog/static/96010202010310536447/

Altium Designer   http://www.mirrorservice/sites/download.sourceforge/pub/sourceforge/m/project/ms/mspgcc/mspgcc-win32/

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

以m开头的

一些软件的下载

GCC toolchain for MSP430 download | SourceForge

http://sourceforge/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   

本文标签: 几种单片机平台