17回答

3收藏

[原创] Ubuntu上搭建MSPGCC工具链的点点滴滴

 

TI TI 11552 人阅读 | 17 人回复 | 2014-06-02

本帖最后由 shepherd 于 2014-6-2 22:28 编辑

以前在爱板上铜板兑换的MSP430Launchpad一直在养灰,换工作时,很多板子都存放了,只有launchpad带在身旁,各种原因就不解释了。最重要的原因——想用它。

首先解释一下选择mspgcc的几个理由:

  • Code Composer Studio IDE很好,特别是针对低功耗的代码审查,真的非常好。但是软件太大,也有license限制等等;
  • 工作以来,遇到很多项目开发并没有直接使用编译器来开发和编写代码,而是使用eclipse+make+MinGW/Cygwin+compiler(只是可执行文件而已)来开发代码。这样的开发好处有:compiler的license可以共享,编译时间很短,就可以释放license给别人了;eclipse的开发环境便于集成别的工具,比如coverity,PolySpace等等;不同的芯片或者编译器共用一套开发环境。
  • 随着工作时间的累积,越来越觉得Linux/Unix的好处,也越来越想转移到Unix平台了,也在爱板上购买和使用过RaspberryPi,也准备在上面开发了。

综上,促使在Linux平台上折腾这个工具,首先我的系统安装在移动硬盘上,只需要修改启动顺序就可以启动Ubuntu,另外为了便于编辑帖子和其他原因,又在Windows下虚拟机安装Ubuntu。

1. 工具链搭建
要安装工具我都习惯去官网,TI官网的导航,直接就会进到MSPGCCWiki网站上MSPGCC Wiki其中又会有导航到Ubuntu系统的工具链MSP430 Search packages,如果正常的话会出现几个安装包的图标。在我第一次打开的时候,这个网页一直显示错误。这是我这么多天折腾原因的一部分。

我自己也想当然的认为是已经失效了,只能google别人的教程了。搜索到一篇,看起来还不错,就决定用它了。Programming the MSP430 Launchpad on Ubuntu
按照帖子的内容直接apt-get install,所需要的几个包(package)是

  • binutils-msp430
  • gcc-msp430
  • msp430-libc
  • mspdebug
  1. sudo apt-get install binutils-msp430 gcc-msp430 msp430-libc mspdebug
复制代码

Enter之后就是会出现查找安装界面,如下图

安装包也算比较大了,下载速度就看你的网络了。
工具安装好了,那就把LaunchPad连到电脑上,因为是要到虚拟机的Ubuntu操作,因此需要把Windows的USB共享给虚拟机,操作很简单如下图:

连接之后,虚拟机可能会死很长时间,这时候,只要拔插一下USB线,再连接就好了(在实际的Ubuntu的系统不会出现这个问题)。
但是会出现以下出错界面,原因至今未知。

我Ctrl+C的命令回到命令行。用lsusb命令能找到Texas Instruments的USB设备,证明电脑认这个USB接口。

按照网页的作法,我也测试一下:
  1. mspdebug rf2500
复制代码
得到debug界面

跟随者原作者的步骤
  1. <p class="MsoNormal">md 0xf800 2048</p>
复制代码

出现了下面这幅界面

结合出现的字符和刚才的命令,猜测md命令(对MSP430还不是很熟,也是第一次用Linux来编译调试单片机,很多时候都是要猜)应该是用来查看地址的,0xf800应该是起始地址,2048是大小,只不过输出太多了,前面的就被刷掉了。测试几次,用了下面的命令证实猜测。
  1. md 0xf800 256
复制代码

按照网页的介绍,这就证明工具链安装完成了。接下来可以写点程序了。
2. 写程序
创建test.c并且别写程序。如下图,就是一段LED闪烁程序。


编译程序
  1. msp430-gcc –mmcu=msp430x2553 –o test.elf test.c
复制代码
编译的命令来自网络,我只是把mcu改了,结果是一大串的错误,第一次嘛还是很正常的,根据错误和提示来一个个的查找问题。

首先第一条警告是io.h被废除了,建议改成msp430.h。果断修改文件。

现在养成的习惯是,修改程序的时候,多数采用注释,害怕不知道自己改了什么。修改头文件,再编译

刚才的警告消失,证明修改还是有效的。现在第一条警告的是不认识编译命令中-mmcu=msp430x2553了。
这时我猜测gcc没有找到msp430的include路径
调用命令查找环境变量,echo $PATH,果然不出所料,系统路径下没有msp430相关的路径。

查找msp430的安装路径,采用命令安装,所以我也不知道装哪去了,忽然发现还是自己安装的时候指定路径比较好。当然也不用怕,用户安装应该会在/usr路径下,果然找到了msp430。

查看一下里面的内容,include里面就是包含了所支持的所有msp430芯片的头文件,能找到msp430g2553.h

要添加系统环境变量,google出来一堆的方法,我选用下面这种,查找用户路径下的.bashrc
cd ~
回到用户根目录,再用文本编辑程序编辑就能找到,注意可以用tab键帮助查找。

在文件的最后添加,如下图:

按照要求,修改环境变量需要重启。(好像不是指系统重启,但是我不会操作,图方便系统重启一下)。
重启完成后,进入程序的目录用编译命令编译程序,这次我修改了-mmcu=msp430g2553,因为刚才我能够找到这个头文件,能够指定编译是最好的。果然编译成功了。ls一下果然找到了test.elf。

下载程序,首先还是
mspdebug rf2500
然后
prog test.elf
程序下载完成,如红框所示

运行一下
run

程序运行了,但是我的LED灯咋不闪呢?原因可以分成两部分:程序出错或者下载出错 。代码很简单没有错误,下载出错原因就难找了。
下载出错可能是debug出错嘛,那就到mspdebug的网站去找找原因:
MSPDebug
是不是我的MSP430/V3firmware出错了呢?按照网页的信息查看一下

是V3版本没错啊,这时又重新mspdebugrf2500
此时发现在InitializingFET过不去了。

网络也搜索不到这段错误的原因,在mspdebug的网页上找到

但是我的固件已经是V3 ,在链接MSP Debug Stack里有这么一段解释

MSPDS掌握着下载代码生杀大全,跟现在的症状很像,不管三七二十一按照指示,安装编译并且配置了一遍还是没用。(编译过程很复杂,花费了半天时间,由于基本没有关系,所以在此就不列出了。)
一切又回到起点了,只好继续在google了看有没有和我出现过同样的问题,搜索MSP430 Launchpad Ubuntu,找到另一篇帖子Cross-Compiling for TI MSP430 Launchpad看到密密麻麻的安装那么多package,我直接搜索msp430

看到他安装的msp430好像比我的多,检查发现他多安装了gdb-msp430 和 msp430mcu
果断安装上,然后就好了,此时才回想起一开始的时候,编译找不到头文件,应该是和没有安装msp430mcu有关,而“无法运行”可能和gdb-msp430有关,而具体什么原因等待以后慢慢折腾找出来吧。
这是端午节假期的成果,也是这半个多月的成果。稍作小结。,正式的安装步骤,稍后再编辑分享吧。

分享到:
回复

使用道具 举报

回答|共 17 个

倒序浏览

沙发

lcofjp

发表于 2014-6-3 08:01:10 | 只看该作者

太赞了,这么详细的教程,收藏了。
板凳

小菜儿

发表于 2014-6-3 08:45:04 | 只看该作者

非常详细,必须精华啊!
地板

fj1161

发表于 2014-6-3 08:53:15 | 只看该作者

必须顶啊~~~~~~~~~~~···
第五年了,这次一定要坚持到底,不留遗憾!!!
5#

shepherd

发表于 2014-6-3 09:10:39 | 只看该作者

感谢上面的几位支持
6#

huixianfxt

发表于 2014-6-3 10:48:21 | 只看该作者

很赞呢!不错呢!学习了!谢谢分享!
7#

expertss

发表于 2014-6-5 08:44:12 | 只看该作者

绝对好帖顶了
8#

de6ian

发表于 2014-6-5 21:29:29 | 只看该作者

1.整理这样详细的教程实在考验耐心,支持
2.vi的配色有点扎眼,这里有很多不错的主题https://code.google.com/p/vimcolorschemetest/
3.至今没有找到一款舒适的截屏工具。。。。。
4.mark先了
9#

shepherd

发表于 2014-6-5 22:09:02 | 只看该作者

de6ian 发表于 2014-6-5 21:29
1.整理这样详细的教程实在考验耐心,支持
2.vi的配色有点扎眼,这里有很多不错的主题https://code.google.c ...

这篇算是过程记录,把遇到的问题和如何解决的记录,一遍返回来检查。
我算比较习惯VIM,包括颜色,即便在Windows下,也经常用VIM来看一些文本。google最近老是被墙,看来要到公司才能看到你的主题了╮(╯▽╰)╭
Ubuntu下是直接有一些快捷键的,还是比较方便,最近才发现的。是不是Debian下也有呢?
我的中文输入法倒是很有问题,你有什么好办法吗?可以编辑个帖子发表一下!


10#

de6ian

发表于 2014-6-5 22:24:55 | 只看该作者

shepherd 发表于 2014-6-5 22:09
这篇算是过程记录,把遇到的问题和如何解决的记录,一遍返回来检查。
我算比较习惯VIM,包括颜色,即便在 ...

1.难怪最近上youtube不那么灵光了,我还以为是宿舍网络慢。
2.截屏现在玖用默认的键盘上面的print screen按键,音效很不错就像老式相机的快门,换了几款可选区域截屏的依旧用的不舒畅,这时候真心怀念腾讯的QQ了。。。
3.输入法的话我用ibus框架,玖不开贴了,直接回复你这里把。
第一步:
aptitude install locales
dpkg-reconfigure locales

第二步:
选择配置编码(空格选择,回车最后确认,默认语言选择zh_CN UTF8 UTF8)
en_US.UTF8
zh_CN GB2312
zh_CN GBK GBK
zh_CN UTF-8 UTF-8

第三步:
下载ibus
apt-get install ibus ibus-pinyin ibus-googlepinyin
重启ok

【debian下安装googlepin,每次查词的时候面板就出5个备选,我修改了几次xml配置文件,依旧是风雨不动,索性用的ibus-pinyin了,词汇也满新的】
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条