Ubuntu 下TinyOS msp430 Toolchain mspgcc升级

发布者:HeavenlyMelody最新更新时间:2020-05-20 来源: eefocus关键字:Ubuntu  TinyOS  msp430  Toolchain  mspgcc升级 手机看文章 扫描二维码
随时随地手机看文章

目前,TinyOS官网发布的TinyOS2.1.1,其内部支持的mspgcc还是老版本3.2.3,对于TI 430系列高端单片机都不支持,支持的也仅为msp430x1611等低端系列。为了把TinyOS移植到更高端的单片机上,比如msp430f2618,就必须升级MSP Toolchain。


Sourceforge上已经更新了最新版本的mspgcc4,这个本版全面的支持TI 430全系列,最新支持GCC版本为4.4.3 ,支持GDB本版为7.0.1,Insight最新版本为6.8-1。更多的性能改进可以参考http://mspgcc4.sourceforge.net/。


首先,安装必要的软件包,这些可以使用debian的apt-get命令获得,相关命令如下:


这样就可以安装相关的软件包了。


sudo apt-get install subversion gcc-4.4 texinfo patch libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev

 


接下来,从Sourceforge下载mspgcc4,这里我使用SVN


 svn checkouthttps://mspgcc4.svn.sourceforge.net/svnroot/mspgcc4 mspgcc4


下载完之后就可以开始安装了,很简单,一句话再加上一系列Enter就OK


cd mspgcc4 && sudo ./buildgcc.sh


安装时提示的选项可以都使用默认,一路enter到底。其中选项“Create binary package after build?”耗时较长,其目的在于生存软件包,会在mspgcc4目录下创建build子目录,生成的软件包有binutils-2.20.1.tar.bz2,gcc-core-4.4.3.tar.bz2,gdb-7.0.1.tar.bz2,insight-6.8-1.tar.bz2等一些压缩包。这个选项可以根据需要选择,我选择了n。


最后,配置下其路径


echo 'export PATH="${PATH}:/opt/msp430-gcc-4.4.3/bin/"' >> ~/.bashrc

 

为了使用方便,写一个shell脚本,实现一步安装


   1 . #!/bin/bash

  2 .

  3 . echo "--> Install packages <--"

  4 . sudo apt-get install git subversion gcc-4.4 texinfo patch libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev

  5 .

  6 . cd $HOME/

  7 .

  8 . echo "--> Download mspgcc <--"

  9 .

10 . git clone git://mspgcc4.git.sourceforge.net/gitroot/mspgcc4/mspgcc4

11 . cd mspgcc4

12 .

13 . echo "--> Build mspgcc <--"

14 .

15 . ./buildgcc.sh <16 . 1

17 . 1

18 . 1

19 . 2

20 . n

21 .

22 . n

23.y

24.EOF


25.

26.export PATH=$PATH:/opt/msp430-gcc-4.4.3/bin;


经过以上几步实现mspgcc完美升级,不过到此为止,我们的Tinyos还是没有得到更新,下面就逐步实现TinyOS的蜕变。


虽然mspgcc已经可以支持大部分MSP430系列单片机了,但是,TinyOS自己的那套mspgcc还没有同步上,所以我们要把最新的TOOLCHAIN链接给TinyOS。如果你在安装TinyOS时选择了默认的安装路径,那么下面的操作步骤可以仿效,否则,根据你自己的安装目录进行修改。


我们可以在终端通过命令 $which msp430-gcc查看msp430-gcc工具的路径,我的显示的是/usr/bin/msp430-gcc,这样我们就可以动手了,通过创建一个软连接来替代这个msp430-gcc,相应的命令可以输入$ln -s /(你的mspgcc4的安装目录,如果你是默认安装那么必定是/opt/msp430-gcc-4.4.3) /bin/msp430-gcc /usr/bin   在执行这个命令之前最好删除usr/bin下的旧版本。其他的工具软连接的创建可以效仿,最后把/usr下msp430文件夹用/opt/msp430-gcc-4.4.3下的msp430文件夹替换。


把所有的全部建好之后,我们可以测试下TinyOS能不能运行正常,可以修改epic平台下的.platform文件,把 -mmcu=msp430x1611改为-mmcu=msp430x2618(这个系列老版本是不支持的),还有下面的版本信息“version_major/minor”改成相应的版本号,改version=msp430-4.4.3。好了,下面到app中找一个例子试一下(最好使用最简单的那个Blink,因为不同cpu的相关定义也不同),可以发现,现在的TinyOS已经可以认识新的MCU,再也不会提示什么MCU XXX not supported,然后就是一长串该死的低端MSP430.

关键字:Ubuntu  TinyOS  msp430  Toolchain  mspgcc升级 引用地址:Ubuntu 下TinyOS msp430 Toolchain mspgcc升级

上一篇:MSP-FET430UIF仿真器固件降级问题
下一篇:Ubuntu下MSP430开发环境搭建

推荐阅读最新更新时间:2024-11-01 16:33

利用MSP430定时器A测量脉冲宽度范例
1-程序描述 利用MSP430单片机定时器A和捕获/比较功能模块结合使用,实现脉冲宽度的测量。 本例程用到了定时器A的CCI1A端口(例如MSP430F14X的P1.2引脚)作捕获外部输入的脉冲电平跳变,同时结合简单的软件算法就能实现脉冲宽度的测量。在实际应用中可根据例程中的start,end,overflow三个变量来计算脉冲宽度。此功能模块在实际产品应用中体现出有较高的应用价值。 2-例程 #include msp430x14x.h unsigned int start,end; unsigned char overflow; void main (void) { WDTCTL = WDTPW+WDT
[单片机]
MSP430的485通信程序(接收字符串指令)
************************************************************** 程序功能:通过RS485端口一次一次地收发数据 --------------------------------------------------------------- 测试说明:用示波器观察RS485端口A、B信号线上的波形或者用RS485接收器接收发回的字符,在串口助手上显示。 ***************************************************************/ #include msp430x14x.h #define DRE_out P3DI
[单片机]
基于MSP430的湿度计及定标
  对于商业应用FPGA还远没有达到取代单片机,甚至完全取代DSP的程度。随着FPGA的普及,学DSP的人越来越少,MCU又五花八门,ARM/CorteX有计算机的抢饭碗,学电子的大多都会选择FPGA。真正能接触到科技前沿的毫无例外全是FPGA,大多数人只能停留在商业层面。话虽如此,不过现今赚钱才是硬道理,行行都能出状元。其实单片机也有大智慧,不必一味的追求高科技。   实物图如下:   上位机软件GUI界面:   系统功能概述:该湿度计由湿度采集和显示两部分组成,显示部分通过串口排线与采集部分相连,并采用7段式LED显示湿度值,定标所需的最小二乘法直线拟合参数由上位机软件计算完成并将参数发回湿度计进行定标处理。软件
[单片机]
基于<font color='red'>MSP430</font>的湿度计及定标
MSP430在CCS开发环境下的内存分配
用CCS开发环境以及有一年多了,之前写程序,仅仅是停留在写程序的阶段,从来没有想过内存是如何分配的。这次做这个,由于程序的代码量比较大,有40K+,所以在程序整合编译的过程中,遇到了一些之前没有遇到过的问题,在查阅了一些资料之后,解决了这些问题,在这里做一下总结。 首先,我们先抛出遇到的问题。在将程序整合之后,编译报错了,报的错误如下图所示。这个问题是说重定向时,重定向的地址为17位,太大了,超过了16位译码的范围。 这里这个问题我是这样理解的,是这些函数中需要调用一些字符串常量(根据错误定位得出的结论),这时候需要跳转到这个常量所在的地址,但是由于这个地址离当前函数所在的地址“太远了”,所以没有办法跳转到那里执行。
[单片机]
<font color='red'>MSP430</font>在CCS开发环境下的内存分配
MSP430电容触摸转轮和LED PWM输出设计
简介 电容触摸技术作为一种实用、时尚的人机交互方式,已经被广泛的应用到各种电子产品,小到电灯开关,大到平板电脑、触摸桌等。随之而来的是考验产品设计者如何发挥智慧,在把产品用户界面设计得方便简洁的同时,又能呈现产品绚丽的外观,从而带来良好的用户体验。 LED显示由于界面友好,可以实时反映触摸的位置信息,在电容触摸产品设计中得到广泛应用。本设计正是利用了大量的LED来实现呼吸灯、轨迹灯的特效,可以为例如灯光、音量、温度等带有调节功能的产品提供设计参考。 德州仪器的MSP430系列单片机以低功耗和外设模块的丰富性而著称,而针对电容触摸应用,MSP430的PIN RO电容触摸检测方式支持IO口直接连接检测电极,不需要任何外围器
[单片机]
<font color='red'>MSP430</font>电容触摸转轮和LED PWM输出设计
Ubuntu获中国政府信任 创始人秘密访华
    3月21日,在北京军博地铁站附近工信部辖下的一幢小楼里,Ubuntu创始人马克·沙特沃斯与工信部某中心及国防科大共同宣布成立创立开源软件创新联合实验室。 腾讯科技评论称,安全,可靠,低成本,是Ubuntu桌面系统能够获得中国政府诸多部门信任的原因,但这次访华,马克·沙特沃斯更重要的工作是向中国几大运营商证明,移动版的Ubuntu也拥有这些优势。 在智能手机兴起的数年中,运营商一直扮演着一个尴尬的角色,除了不断升级带宽之外,最大的价值就是利用自己的渠道为谷歌、苹果及诸多手机厂商和APP开发者做嫁衣。既无法从不断出现的移动互联网机遇中分羹,又要承担高昂的运营成本。 这成为了Ubuntu这个新操作系统的机会。沙特沃斯说,他来中国的
[手机便携]
MSP430的C语言编写注意事项
============================================================================================================================== 微处理器一般用于特定环境和特定用途,出于成本、功耗和体积的考虑,一般都要求尽量节省使用资源,并且,由于微处理器硬件一般都不支持有符号数、浮点数的运算,且运算位有限,因此,分配变量时必须仔细。另外要说明的是,速度和存储器的消耗经常是2个不可兼顾的目标,在多数情况下,编程者必须根据实际情况作出权衡和取舍。 需要注意的事项如下: 1) 通常在满足运算需求的前提下,尽量选择为变量定义字节
[单片机]
采用MSP430单片机及USB总线ch375设计便携式血压计
本文使用低功耗MSP430单片机对人体血压信号进行采集,通过USB控制芯片CH375将这些数据存储到U盘中,可以通过PC机的软件分析一天中血压的变化。 电子血压计在国外已经大量普及,而我国才开始应用。水银血压计每次测量必须由医生戴上听诊器进行测量,测量过程复杂,而且不同的医生,测量结果可能不同。而电子血压计弥补了水银血压计的不足。  1 硬件设计   1.1芯片介绍   MSP430是近几年流行的16位单片机,由于它具有超低功耗(在5V电压下运行于12MHz的80C51工作电流达到十几mA;而MSP430在3V时的工作电流为340μA,在2.2V的工作电流为220μA)、众多的片内外设、强大的数据处理能力、系统工作稳定、
[单片机]
采用<font color='red'>MSP430</font>单片机及USB总线ch375设计便携式血压计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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