windows下傻瓜式交叉开发环境搭建

首先说一下我的宿主和目标平台:宿主机Win8 64位(以下步骤在WinXP虚拟机下也进行了验证)。目标板基于Atmel AT91SAM9260处理器,已经有前辈做好了UBoot、一个Linux内核和基于Busybox的文件系统。UBoot、Linux内核和BusyBox的移植我还没有研究,以后慢慢研究,争取能从零开始把整个过程都摸个遍。

0、为什么要这么做

目前基于嵌入式linux的交叉开发主要有这么几种方法:

自己构建工具链(crosstools buildroot),使用自己喜欢的代码编辑器编辑,使用命令行、Makefile编译软件;

使用CodeSourceryLite版工具链,使用自己喜欢的代码编辑器编辑,使用命令行、Makefile编译软件;

使用ADSIDE编译。

交叉调试主要有这么几种方法:

使用printf调试;

使用gdb(或者arm-none-linux-gnueabi-gdb);

自己写调试软件,定义调试方法;

使用ADSIDE调试。

 

相信我,我这几种方法都用过(或者尝试用过,在撞墙之前),有对比才有说服力不是?

第一种开发方法无疑十分痛苦(但是毫无疑问,对自己的提高十分有用处),自己编译一套工具链不仅费时长,而且会有很多意想不到的错误;命令行下敲命令也毕竟不如点按键快捷。代码编辑器的配置、使用也很令人头疼。第二种开发方法用现成的工具链,但编写程序和编译也不是很方便。第三种开发方法,方便是很方便,但要么需要买软件,要么需要使用盗版,都让人有点微微不爽。

第一种调试方法的不便之处肯定让人有深刻体会。第二种方法也需要安装linux,使用命令行操作,加断点看变量都需要输入命令。配合良好的图形化工具倒也很方便,但是设置还是不很方便。第三种方法不太灵活,工作量也大。第四种方法利弊同上段。

而且几乎每篇文章都说,嵌入式开发一定要在linux环境下。可你愿不愿意为了编译一个文件重启或者启动一个虚拟机呢?

 

利用破解软件的时间,或者编译工具链的时间,或者敲命令的时间,完全更可以配置一个完全免费的、十分便利的交叉开发环境,而且可以使用你最喜欢的操作系统(Windows或者Linux),何乐而不为?从安装到设置,用不了35个小时,但省下来的时间绝对不止这个十倍。

 

最终你将可以:

使用各种快捷键在代码中导航,享受IDE集成开发环境带来的开发便利;使用免费的工具链,免除侵权的后顾之忧;使用不那么原始的调试工具,在你的程序中加入断点、查看变量值。

本文前提是:

你已经可以用之前提到的任何一种方法开发你的程序,即使是最简单的Hello World都可以。也就是说你可以编译连接、下载到目标板、在目标板的linux系统上执行一个程序。这边文章目的在于提高生产力,而不是入门教学(楼主别装了!明明是因为你现在还根本不知道怎么从头开始开发好么!)。

目标读者:

小团队的负责人,或者刚刚进入一个公司,在嵌入式开发上入门的新手。如果一个新人可以自己跟着教程搭建开发环境,那么会省去公司老员工很多指导的时间,新员工也可以尽快进入角色;团队负责人可以利用这个方法提高开发效率。

 

用到的软件:CodeSourcerySourcery CodeBench Lite forARM GNU-Linux(赞这个公司),Eclipse CDT(赞这个软件,跨平台,便捷),JRE。百度网盘打包下载地址在此:32位:http://pan.baidu.com/s/1ntyTDwP 64位:http://pan.baidu.com/s/1c0y6aRY

 

1、安装软件

Jre

(不再赘述,傻瓜安装)

CodeSourcery

双击.exe文件即可安装,注意选择安装位置,不要包含中文名,出现设置PATH环境变量的页面时,注意勾选。安装完成后,到安装目录下的bin文件夹中,把cs-rm.execs-make.exe复制一份,名字改成rm.exemake.exe。在命令行提示符中输入arm-none-linux-gnueabi-gcc--version可以查看到工具链的版本,如果能查看到,说明安装正确。

Eclipse CDT

解压到任意文件夹,双击其中的Eclipse.exe即可运行程序,不用安装。第一次启动需要选择工作目录,注意工作目录和解压出来的文件夹所在目录都不要包含中文名。

 

2、建立工程

新建工程

File->new->C Project

输入项目名称;

展开MakefileProject,选择Empty Project

Toolchain选择Other toolchain

下一步,然后finish

 

复制文件

然后将Makefile和源代码拷贝到工程目录中,在Eclipse界面左侧项目名称上右键,refresh。我有一份编写好的Makefile,基本可以适用于我们公司的任何工程(文件都放在一个文件夹下),其中用了一些通配符,自动识别.c文件和.h文件,这样增加源代码文件时不用修改Makefile;自动生成调试版本和发布版本,且不同的目标文件放入不同的目录,比较整洁。建议使用。

 

编译

然后右键,clean,右键,build。如果一切顺利,现在应该可以编译通过。

 

添加头文件

此时可以正常编译,但是看代码不太方便,因为libc的头文件没有包含进来。

在工程上点击右键->Properties,在左侧展开C/C++ General,选中Pathsand Symbols, 右侧选择Includes选项卡,下方选中GNU C

点击右侧的add弹出的窗口中点击Filesystem,找到CodeSourcery安装目录中的\arm-none-linux-gnueabi\libc\usr\include(对我来说,这个目录位于C:\Documents andSettings\Administrator\MentorGraphics\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux\arm-none-linux-gnueabi\libc\usr\include

勾选add to allconfiguration,然后确认,应用。

 

3、使用Eclipse:基础操作

打开任何一个源代码,鼠标悬停在变量或者函数名上,就会显示变量或者函数定义处的内容(包括前面紧邻的注释),按F3键就可以跳到定义处,按Ctrl+Shift+G可以查找所有引用,Alt+左箭头可以回到上一个正在编辑的地方。右键->refactor可以帮助重构代码,把几行代码抽成一个函数,也可以帮助重命名一个函数或者变量。Alt+/可以自动补全代码。

点击工具栏上的锤子标志可以build工程。

build的时候,下面的console选项卡中会输出信息,如果有错误会显示。

我目前使用git管理我程序的版本,gitEclipse集成挺好。SVN应该也有对应的插件。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值