您的位置:首页 > 其它

K60(Cortex-M4)开源开发探索(五)—— 交叉编译环境构建

2013-03-23 21:32 309 查看
根据之前的设计,现在准备开始一步一步构建交叉编译环境。

一、ARM工具链

嵌入式设备由于不具备一定的处理器能力和存储空间,程序开发一般用PC来完成,然后将可执行文件下载到嵌入式系统中运行。这是目前嵌入式程序开发的不二选择——Host/target模式。但这引发了一个问题:由于Host和Target的处理器体系结构不同,我们不能直接用PC上既有的程序开发工具,必须使用跨平台开发工具,即在Host上生成能在Target上运行格式的目标文件。


交叉编译工具链是嵌入式开发中最核心的工具,它被用来编译、链接、调试程序。在集成开发环境出现之前,我们通常是先使用其他编辑工具(比如记事本、Source Insight等)写好代码,然后通过命令行进行编译、链接。



Codesourcery G++是Codesourcery公司在GUN工具链基础上***的ARM交叉工具链,是其公司Codesourcery G++ Lite ARM集成开发工具的编译器。Codesourcery开源了Codesourcery G++编译器,但Codesourcery G++ Lite IDE是收费的。Codesourcery G++更新快,代码编译效率高,支持最新ARM内核,包括CortexA8,CortexA9内核。codesourcery的交叉工具链是很常见的一种,下载地址:

http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

下载对应系统的.bin文件,直接在命令行下:

./arm-***-arm-none-eabi.bin

然后就会跳出图形界面的安装程序,根据提示进行安装即可。安装完毕后,在终端中输入:

arm-none-eabi-g++ --version

如果可以成功看到版本号,说明安装没问题了,如果提示命令不存在,应该是环境变量有问题,可以上网查找一下修改环境变量的方法。

二、OpenOCD

OpenOCD是德国人的一个开源项目,主要目的是实现一个在线调试器,同时也能够实现程序烧写等目的,目前支持很多种芯片。

可以从官网(http://openocd.sourceforge.net/ ) 下载最新版0.6.0的源码,然后安装,但是这种方法只能获取最新稳定版的程序,最新版本的需要通过git的方法进行安装。
具体的安装方法,见我的另一篇博客:/article/1647167.html

三、OpenJTAG

在嵌入式开发中,有很多优秀的调试、仿真工具,比如Keil 、IAR 、Rowley Associates 等。它们的安装、使用都很便利,功能强大,但是价格昂贵( 几百美元甚至更多) ;还要购买相应的硬件,比如J-Link、U-Link等USB到JT AG的转换盒,这也是一笔不小的开支。对于学生,或者是开发预算有限的工程师来说,完全可以使用免费的开发工具Eclipse、OpenOCD,然后通过一些便宜的JTAG转接器(比如并口JTAG等)就可以达到接近、甚至超越上述商业软件的效果。
我这里用的是百问网***的一款OpenJTAG(http://www.100ask.net/OpenJTAG.html),官网资料还是比较丰富的,而且质量不错。




将OpenJTAG板子接到PC的 USB 口后,Ubuntu 即会自动加载驱动,在/dev目录下自动创建ttyUSB0设备 :
ls /dev/ttyUSB0* -l

crw-rw---- 1 root dialout 188, 0 2013-3-23 18:17 /dev/ttyUSB0

四、Eclipse

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。
(1)因为Eclipse是基于Java的,所以需要先下载JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载压缩包的即可,解压之后,修改环境变量etc/enviroment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hcx/Java/jdk1.7.0_03/bin"
J***A_HOME="/home/hcx/Java/jdk1.7.0_03"

JRE_HOME="/home/hcx/Java/jdk1.7.0_03/jre"

CLASSPATH=".:/home/hcx/Java/jdk1.7.0_03/bin/lib"
(2)下载Eclipse
http://www.eclipse.org/downloads/packages/release/indigo/sr2
Eclipse是不需要安装的,直接解压缩后就可以使用了。
(3)安装插件
选择菜单“Help -> Install New Software… ”,然后点击add,加入网址:http://gnuarmeclipse.sourceforge.net/updates,安装GNU ARM C/C++ Development交叉编译工具,然后需要把Group items by category取消。
安装Zylin Embeded CDT调试插件,安装方法同上,网址:http://opensource.zylin.com/zylincdt

----------------------------------------------------------------

欢迎大家转载我的文章。

转载请注明:转自古-月

http://blog.csdn.net/hcx25909

欢迎继续关注我的博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: