打印
[资料分享与下载]

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

[复制链接]
1037|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
niuyaliang|  楼主 | 2015-2-28 17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

根据之前的设计,现在准备开始一步一步构建交叉编译环境。

      一、ARM工具链

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


相关帖子

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

使用特权

评论回复
板凳
niuyaliang|  楼主 | 2015-2-28 17:09 | 只看该作者
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-s ... tions/lite-edition/

使用特权

评论回复
地板
niuyaliang|  楼主 | 2015-2-28 17:09 | 只看该作者
下载对应系统的.bin文件,直接在命令行下:
        ./arm-***-arm-none-eabi.bin
        然后就会跳出图形界面的安装程序,根据提示进行安装即可。安装完毕后,在终端中输入:
       arm-none-eabi-g++    --version

使用特权

评论回复
5
niuyaliang|  楼主 | 2015-2-28 17:09 | 只看该作者
如果可以成功看到版本号,说明安装没问题了,如果提示命令不存在,应该是环境变量有问题,可以上网查找一下修改环境变量的方法。

使用特权

评论回复
6
niuyaliang|  楼主 | 2015-2-28 17:10 | 只看该作者
二、OpenOCD
     OpenOCD是德国人的一个开源项目,主要目的是实现一个在线调试器,同时也能够实现程序烧写等目的,目前支持很多种芯片。

使用特权

评论回复
7
niuyaliang|  楼主 | 2015-2-28 17:10 | 只看该作者
可以从官网(http://openocd.sourceforge.net/ ) 下载最新版0.6.0的源码,然后安装,但是这种方法只能获取最新稳定版的程序,最新版本的需要通过git的方法进行安装。
       具体的安装方法,见我的另一篇博客:http://blog.csdn.net/hcx25909/article/details/7272831

使用特权

评论回复
8
niuyaliang|  楼主 | 2015-2-28 17:10 | 只看该作者
三、OpenJTAG
        在嵌入式开发中,有很多优秀的调试、仿真工具,比如Keil 、IAR 、Rowley Associates 等。它们的安装、使用都很便利,功能强大,但是价格昂贵( 几百美元甚至更多) ;还要购买相应的硬件,比如J-Link、U-Link等USB到JT AG的转换盒,这也是一笔不小的开支。对于学生,或者是开发预算有限的工程师来说,完全可以使用免费的开发工具Eclipse、OpenOCD,然后通过一些便宜的JTAG转接器(比如并口JTAG等)就可以达到接近、甚至超越上述商业软件的效果。

使用特权

评论回复
9
niuyaliang|  楼主 | 2015-2-28 17:10 | 只看该作者
我这里用的是百问网制作的一款OpenJTAG(http://www.100ask.net/OpenJTAG.html),官网资料还是比较丰富的,而且质量不错。

使用特权

评论回复
10
niuyaliang|  楼主 | 2015-2-28 17:11 | 只看该作者
将OpenJTAG板子接到PC的 USB 口后,Ubuntu 即会自动加载驱动,在/dev目录下自动创建ttyUSB0设备 :
        ls /dev/ttyUSB0* -l
        crw-rw---- 1 root dialout 188, 0 2013-3-23 18:17 /dev/ttyUSB0

使用特权

评论回复
11
niuyaliang|  楼主 | 2015-2-28 17:11 | 只看该作者
四、Eclipse
      Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。

使用特权

评论回复
12
niuyaliang|  楼主 | 2015-2-28 17:11 | 只看该作者
(1)因为Eclipse是基于Java的,所以需要先下载JDK:
        http://www.oracle.com/technetwor ... ownloads/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"
       JAVA_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"

使用特权

评论回复
13
niuyaliang|  楼主 | 2015-2-28 17:11 | 只看该作者
(2)下载Eclipse
        http://www.eclipse.org/downloads/packages/release/indigo/sr2
             Eclipse是不需要安装的,直接解压缩后就可以使用了。

使用特权

评论回复
14
niuyaliang|  楼主 | 2015-2-28 17:12 | 只看该作者
3)安装插件
        选择菜单“Help -> Install New Software… ”,然后点击add,加入网址:http://gnuarmeclipse.sourceforge.net/updates,安装GNU ARM C/C++ Development交叉编译工具,然后需要把Group items by category取消。

使用特权

评论回复
15
niuyaliang|  楼主 | 2015-2-28 17:12 | 只看该作者
安装Zylin Embeded CDT调试插件,安装方法同上,网址:http://opensource.zylin.com/zylincdt

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝