查看: 2909|回复: 18

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

  [复制链接]

154

主题

49

好友

1万

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    昨天 11:56
  • 签到天数: 1354 天

    [LV.10]以坛为家III

    论坛版主职务勋章 爱板会员勋章 在线之王勋章 活跃会员勋章 在线达人勋章 发帖机器勋章 论坛骨干勋章

    发表于 2014-6-2 22:16:22 |显示全部楼层
    本帖最后由 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,如果正常的话会出现几个安装包的图标。在我第一次打开的时候,这个网页一直显示错误。这是我这么多天折腾原因的一部分。
    0 net error.png

    我自己也想当然的认为是已经失效了,只能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
    复制代码
    1. install.png

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

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

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

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

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

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

    出现了下面这幅界面
    9. result of md.png

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

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

    12. test pro.png

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

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

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

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

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

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

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

    在文件的最后添加,如下图:
    20 add path.png

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

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

    运行一下
    run
    24 run.png

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

    是V3版本没错啊,这时又重新mspdebugrf2500
    此时发现在InitializingFET过不去了。
    26 can\'t receive.png

    网络也搜索不到这段错误的原因,在mspdebug的网页上找到
    27 V3 FET firmware.png

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

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

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

    回复

    使用道具 举报

    20

    主题

    12

    好友

    4698

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情

    前天 17:10
  • 签到天数: 603 天

    [LV.9]以坛为家II

    爱板会员勋章

    发表于 2014-6-3 08:01:10 |显示全部楼层
    太赞了,这么详细的教程,收藏了。
    回复

    使用道具 举报

    756

    主题

    239

    好友

    2万

    积分

    翰林

    小菜儿

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 979 天

    [LV.10]以坛为家III

    超级版主职务勋章 爱板会员勋章 在线之王勋章 在线达人勋章 发帖机器勋章

    发表于 2014-6-3 08:45:04 |显示全部楼层
    非常详细,必须精华啊!
    电子元器件交易平台 www.lzyec.com
    回复

    使用道具 举报

    59

    主题

    18

    好友

    2977

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    2016-9-9 09:13
  • 签到天数: 293 天

    [LV.8]以坛为家I

    爱板会员勋章 活跃会员勋章

    发表于 2014-6-3 08:53:15 |显示全部楼层
    必须顶啊~~~~~~~~~~~···
    第五年了,这次一定要坚持到底,不留遗憾!!!
    回复

    使用道具 举报

    154

    主题

    49

    好友

    1万

    积分

    超级版主

    Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    昨天 11:56
  • 签到天数: 1354 天

    [LV.10]以坛为家III

    论坛版主职务勋章 爱板会员勋章 在线之王勋章 活跃会员勋章 在线达人勋章 发帖机器勋章 论坛骨干勋章

    发表于 2014-6-3 09:10:39 |显示全部楼层
    感谢上面的几位支持
    回复

    使用道具 举报

    8

    主题

    1

    好友

    1万

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    昨天 22:48
  • 签到天数: 975 天

    [LV.10]以坛为家III

    发表于 2014-6-3 10:48:21 |显示全部楼层
    很赞呢!不错呢!学习了!谢谢分享!
    回复

    使用道具 举报

    29

    主题

    19

    好友

    3715

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    2016-12-1 22:58
  • 签到天数: 901 天

    [LV.10]以坛为家III

    发表于 2014-6-5 08:44:12 |显示全部楼层
    绝对好帖顶了
    回复

    使用道具 举报

    294

    主题

    6

    好友

    5150

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    擦汗
    2014-11-30 10:07
  • 签到天数: 170 天

    [LV.7]常住居民III

    发表于 2014-6-5 21:29:29 |显示全部楼层
    1.整理这样详细的教程实在考验耐心,支持
    2.vi的配色有点扎眼,这里有很多不错的主题https://code.google.com/p/vimcolorschemetest/
    3.至今没有找到一款舒适的截屏工具。。。。。
    4.mark先了
    回复

    使用道具 举报

    154

    主题

    49

    好友

    1万

    积分

    超级版主

    Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    昨天 11:56
  • 签到天数: 1354 天

    [LV.10]以坛为家III

    论坛版主职务勋章 爱板会员勋章 在线之王勋章 活跃会员勋章 在线达人勋章 发帖机器勋章 论坛骨干勋章

    发表于 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下也有呢?
    我的中文输入法倒是很有问题,你有什么好办法吗?可以编辑个帖子发表一下!


    回复

    使用道具 举报

    294

    主题

    6

    好友

    5150

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    擦汗
    2014-11-30 10:07
  • 签到天数: 170 天

    [LV.7]常住居民III

    发表于 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了,词汇也满新的】
    回复

    使用道具 举报

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

    关闭

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


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-11 19:55 , Processed in 0.160553 second(s), 19 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部