查看: 1341|回复: 0
打印 上一主题 下一主题

------------------ARM开发环境大全[超全]------------------转

[复制链接]
跳转到指定楼层
沙发
发表于 2016-4-14 21:33:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家有没有觉得即使用STM32时,当代码量巨大的时候,比如上OS。局部编译还好一点,但是如果修改了.h文件的话。Keil编译的时候都可以去"看片儿"了。听说IAR的编译效率会高一点,没验证不好评价。
下面的文章就是解决这问题的。

编译器。
我用的是GCC,CODE SOURCERY公司的GCC套件,不用装CYGWIN就可以用,现在的最新版本是4.2.1,版本很高。
他的优点:
1. GCC的编译效率也非常令人称道,4.0以后版本的GCC可以跨函数深层优化,已经足够智能了。
2. 免费,无需破解,不用怕侵权,不用支付高额的费用来买。
3. 网上资料多,用起来方面,移植OS时要用汇编,数据区、程序区的安排都可以很方便的用,想怎么搞就怎么搞,想怎么排布都可以。

缺点是:
1. 版本繁多,每个版本都不完全兼容,每个出品商移植的FOR ARM版也可能会有所不同,有的出品商的GCC还有一些BUG,建议用大牌子公司移植的GCC,性能可靠一些。
2. MAKEFILE比较难写,这是很多人都很头疼的问题,有些人为了这个而不得不放弃GCC,不过这个问题兄弟我自有解决办法,切看下文分解。

CODE SOURCERY的GCC是全免费的。

IDE工具。
我用的是IBM的eclipse,这个工具原来本是调试JAVE的IDE,很好用很爽,现在可以支持GCC了,并且能够管理工程,编译工程,不用写MAKEFILE,在选项里设置一下就能编译GCC了。
有了工程管理功能,什么不不怕了。
eclipse也是免费的,而且不用安装,直接解缩就可以运行了,占的磁盘空间也不大。

调试环境。
能调试GCC的ELF文件的调试工具有一些,如:ADS里的AXD,MICETEK的JEDI VIEW,GDB,INSIGHT,KEIL,下面把这几个工具的优劣一一说一下:
1. AXD,网上有很多人说可以调试UCLINUX内核,这是真的。
但是,GCC必须是3.0以前的版本,不然支持的效果就不好,我用GCC4.2.1编译ELF文件,只能用-O0关闭优化AXD才能认ELF文件,否则打不开ELF文件,而且用-O0时全局变量都监视不了。REAL VIEW里的AXD也是这样,由于我没有WINDOWS下的GCC3.0之前的版本,所以这个调试器没有办法使用,调起来不爽。
2. MICETEK的JEDI VIEW
这个正版的1万多元,带GCC编译器,带工程管理,能直接编译UCLINUX,功能相当强大,官方网站上可以DOWN到2.2的试用版,试用版和正版的区别是:不能管理和编译7个以上的源文件的工程。那么我们可以用eclipse+code sourcery的gcc编译出来ELF文件,用jedi view试用版调试,这样就可以做到完全无限制了吗?其正确答案是:对!!
这个调试环境里有一个令本人相当称道的功能,就是在运行时设断点,并且能够正确生效。就是说,你点一下连续运行,然后在main程序里的while(1)循环里设置一个断点,CPU会立码停在断点位置!!!!这个功能是我所见的调试器当中唯一见过的,不顶都不行。而且,这个IDE支持WIGGLER,只有WIGGLER的穷朋友们,或者不愿意投入太多资金的开发队伍,都可以很方便地用WIGGLER调试了。
但是WIGGLER好像对AMD的64位主板兼容不好,不管怎么样搞,就是找不到CPU,有时偶尔一两次能找到,断开调试后又找不到了。而且jedi view不支持RDI接口,只支持jedi仿真器和winggler,而我没有他们的jedi仿真器(要好几千元一台呢),用的又是AMD的64位主板,所以,JEDI调试环境我只好挥泪斩马谡,不用这个了。但是我建议大家试一下,能用wiggler的朋友,这个能功不要错过呀!
3. GDB
这个是GCC的标准调试器,要仿真器支持才行,但是只能用命令行方式调试,太老土太麻烦了,LINUX的粉丝之外没多少人愿意用的。
4. INSIGHT
这个是GDB的图形界面版本,用起来还挺不错,别人有的功能他也有,而且是免费的,但是也需要仿真器的支持才行。www.ocdemon.com里有工具可以支持WIGGLER的GDB代理,但是要安装CYGWIN才能用,鄙人不习惯用CYGWIN,所以从心里不喜欢这个东东,也没太深入的研究,就放弃这个了。
5. KEIL
KEIL是什么?哇塞塞,不会不知道吧,地球人都知道,是51编译器的统治者。
最近几年开始搞起ARM编译器了,现在被ARM公司收购后,现在整合到3.5以上版本了。
这个调试环境可以直接调试ELF文件,支持的那叫相当的好,而且支持RDI协议,能够用市面上几乎所有的仿真器调试。
喝口茶先~~
-
-
-
-
-
-
-
-
-
那位一听就急了,KEIL是收费的呀,破解要犯法的呀,搞了这么多免费的又是编译器又是IDE的,到最后来个D版的调试器,还不如我们直接用D版的,一条龙服务更好,不用拼来凑去了,麻烦还担风险,楼主简直是在忽悠,这事儿俺不干。
--呵呵别急,咱们不用D版的,KEIL也不用破解,又不拿他编译又不拿他管理工程,只是调试而已,他还是没有限制的,至少我现在还没发现限制,就是在点“D”字图标时出一个窗口,告诉这个LICENSE无效,调试功能还照常用,嘿嘿,真爽歪歪。
告诉大家,我现在正是用的KEIL的调试功能来调试程序的。

仿真器&仿真代理软件
我用的仿真器是WIGGLER,实惠方便,又不用花多少钱去买,甚至自己都可以做出来, 一个简单的HCC244而已,网上的图纸满天飞。
代理软件,想必,我不说道上的人也能猜个八九不离十的,现在的WIGGLER代理软件哪个最好用啊??
H-JTAG,对头,就是他了!!


我从一个网站转过来的。觉得作者写的挺好的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表