ARM嵌入式开发,通常都是在Linux环境下编译Uboot、Linux和android代码。编译uboot/Linux可以选择任何的Linux发行版,如redhat,suse,ubuntu,fedora,debian等,只要你配置好ARM交叉工具编译工具就可以了。
编译android,搭建环境最容易的就是ubuntu。google的官方网站上,也有搭建编译android的简单介绍(网址:)。更加详细的说明,可以搜索下,网络上有相当多这方面的说明。
考虑到我们学习嵌入式的平台是Fast Models,以及自动的Realview EB模型硬件平台。而ARM官方推荐是在Redhat Enterprise(4,5,6)下安装Fast Models。所以,我们采用Redhat Enterprise 6作为开发环境。我们可以直接在电脑上安排RHEL6,也可以先安装vmware,然后在vmware中创建一个虚拟机,在虚拟机上安装RHEL6。在这里,笔者是采用后者方式。
搭建Redhat Enterprise 6开发环境,建议做以下配置:
1)设置静态IP。在之前使用vmware的经历,发现如何网站采用dhcp方式,那么rhel6的IP地址有可能会发现改变。而我们需要网络IP最好是固定的,所以需要设置静态IP。RHEL6的静态IP的设置方法,可以搜索到。
2)开启ssh,samba服务
ARM嵌入式开发,基本上都是在命令(shell)方式下进行的,不需要图形界面。所以,在windows上运行vmware,vmware上虚拟机再运行rdel6的情况下,为了不增加windows系统的负荷,可以把vmware放在后台运行,使用ssh服务登陆到rdel6就可以进行嵌入式开发了。
笔者在开发嵌入式时,通常都是使用sourceinsight阅读、修改代码,然后在shell运行命令进行编译。所以,开通samba服务,然后使用windows已安装的sourceinsight工具,阅读放在rdel6上的Linux/uboot代码。
在Redhat发行版下,有关服务器的开启或关闭,可以在root用户下,使用setup命令进入配置选项的“System Services”菜单下进行设置。
samba服务在菜单选项为:“smb”;ssh服务在菜单选项为:“sshd”
需要注意的是:windows下,要使用ssh服务/samba服务登陆vmware虚拟机上的rhel6,必须把rhel6上的防火墙关掉。setup命令--->Firewall Configuration--->去掉Enable。
如果samba配置之后,从windows访问samba的共享目录,提示说没有权限访问的话,那么可以尝试输入以下命令进行设置:
setsebool -P samba_export_all_rw on
3)配置ARM的交叉编译工具
很简单,在RDEL6上解压ARM交叉编译工具到某个目录(比如,/usr/local目录下),然后配置环境变量。不过,编译不同版本的u-boot/Linux代码,也会对arm交叉编译工具链的版本有要求。针对u-boot2012.10/Linux3.0.31的版本,我们使用codesourcery的2010q1版本的工具链。下载地址:
设置步骤:
- [soc@localhost bin]$ su
- Password:
- [root@localhost bin]# cd /usr/local/
- [root@localhost local]# tar -xvf /mnt/hgfs/tools/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
- 解压。。。
- 解压之后
- [root@localhost local]# cd arm-2010q1/bin/
- [root@localhost bin]# pwd
/usr/local/arm-2010q1/bin
- [root@localhost bin]# vim /etc/profile
- 在/etc/profile文件的最后添加如下配置:
- PATH=$PATH:/usr/local/arm-2010q1/bin
- 退出保存。
这样配置之后,那么任何登陆到RDEL6的用户,都可以使用ARM交叉编译工具链。这个ARM交叉编译工具链的前缀为:arm-none-linux-gnueabi-
4)安装Fast Models
后续补充这部分内容。
阅读(5668) | 评论(0) | 转发(1) |