MSGGCC使用手记
前些天接了个任务,要把原来在MCU430x149里面的程序移植并烧写到MCU430x1611里面去,以前没用过430,但它的鼎鼎大名早有耳闻,许多论文、报告上都提到过430。大概的搜了些资料,觉得它最突出的地方莫过于功耗小、速度快,据说以前RAM有点小,现在出了16xx,应该是可以满足一些需求了。虽说430声名在外,可上网搜了一通,却发现有用的资料不多,其实我主要是想找一下开发环境,至少程序方面并没有什么太
大的期望,一来有源代码,二来有手册和用户指南,所以在代码上问题应该不大。
430的开发工具一般都是用的IAR,我问了周围的同事,也都这么说,于是就上网费了n大的劲下了一个IAR For 430 3.41A版的,然后破解、建工程、编译代码,谁知道这时候出问题了,原来代码是用MSPGCC环境编译的,在IAR下错误一大堆。于是就又放弃了IAR,开始搜索MSPGCC,谁知道这个东西的资料少的可怜,按理说是开源软件,用户应该多些,可情景正好相反,鲜有详细的资料,只在利达尔的论坛上有些资料,还都是一两年前的,可能是考虑到开发环境的兼容性,用IAR的占了绝大多数,反正国内用MSPGCC的不多。在摸索了几天,查了n多资料,上了n多网站后(基本上是E文的),终于建立了MSPGCC的编译与仿真环境,下面就是小弟的搭建过程,希望对像我这样的初学者或者对MSPGCC感兴趣的朋友有点用处。
1、从网上下载MSPGCC的安装包(For Windows),可以从这儿下载最新版:
然后再下载20030506版本:
因为新版中没有insight 工具。
2、下载一个WinAVR,主要是为了在Windows下建立一个Linux环境,然后就不用怎么修改Makefile文件了,因为原来程序的环境就是这样建的,所以我也就装了一个,其实WinAVR对MSPGCC来说不是必须的,不过用了它的话会方便一些,并且从AVR上移植程序也方便。
3、先看一下网上的资料,像Asnake兄的Mspgccgo、yfzhcn的MSPGCC学习笔记、finewei的博客,利尔达论坛上都有,看了这些就会有个大概的了解。
4、把MSPGCC和WinAVR都装上,注意MSPGCC要先装老版本的,再装新版,这样就可以支持新MCU,比如说1611,网上也有说先装新版再装旧版的,但我装了之后就识别不了新的MCU,但如果要想用Insight的话,旧版的是一定要装的,只有旧版的才有,新版的没有GUI的调试程序。我在装了旧版的以后,就不再支持1611,如果不装的话没有问题,后来不得不一个一个文件的对比,然后用新版的覆盖。还有就是在装完MSPGCC和WinAVR以后,一定要把cygwin1.dll版本统一,直接用新的覆盖旧的就行了。
5、这些完成之后,打开WinAVR安装时自带的Programmer Notepad 2,然后打开原来的工程,也不用配置(我没有配置,就用的默认菜单配置),然后Makeall就可以了,但我在用MSPGCC的make.exe替换掉WinAVR里的make.exe以后,或者修改菜单配置以后就再也通不过编译,不知道为什么,或者是我那样做根本就不对,还请用过的前辈指点一下。
6、程序make成功以后,就可以下载或者调试了,这个可以参考Asnake兄的Mspgccgo,里面说的很详细,也有图片,我想说的就是在点击了Run 或下载以后,下载的过程很慢,并且Insight看起来像是没有响应一样,但在右上角会有一个绿色的下载进度条,这些都是正常的,千万不要以为程序死掉了。
啰唆了这么久,其实过程也很简单的,只是一个人摸索的话费点时间罢了,感觉MSPGCC还是很好用的,用过Linux或用惯了命令行的会觉得很方便的,上手也很容易,并且是免费的,最重要的是现在已经有了AVRGCC、ARMGCC和MSPGCC,程序程序移植起来很方便,呵呵,各位如果感兴趣的话,不妨也试一下,大家也可以相互交流,共同学习。
阅读(2313) | 评论(0) | 转发(0) |