linux系统移植到arm芯片难吗,Linux操作系统怎么移植到ARM平台?

2.建立交叉编译环境

一般而言,直接在移植的目标硬件平台上编写和调试Linux比较困难,目前一般采用的办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。

移植前需要在宿主机上建立如图2所示的ARM的交叉编译环境,建立ARM的交叉编译环境主要用到的开发工具有: binutils、gcc、glibc,其中 binutils是二进制文件的处理工具; gcc是编译工具, 用来编译内核代码的工具; glibc 是链接和运行库。社区的开发者和一些芯片厂商已经编译出了常用体系结构的工具链,使用这些工具链,可以大大减少工作量。交叉编译工具的安装步骤如下: (1)从官方站点http://arm.Linux.org.uk下载cross-2.95.3.tar.bz2;

(2)在usr/local/arm下解压:#tar -jxvf cross-2.95.3.tar.bz2;

(3)在/etc/bashrc文件中修改PATH环境变量,加入export PATH=/usr/local/arm/2.95.3/bin:$PATH。

3. ARM Linux系统的开发

3.1 Linux启动代码Bootloader的移植

Bootloader是在操作系统内核运行之前运行的一段小程序。这段程序完成硬件的初始化和建立内存空间的映射图等重要工作,为内核的启动创建正确的环境,并最终启动内核,Bootloader在Linux嵌入式系统中所处的层次位置如图3所示。Bootloader的实现依赖于CPU的体系结构,大多数的Bootloader都分为stage 1和stage 2两大部分,图4为两阶段Bootloader的结构框图。依赖于CPU体系结构的代码,如设备初始化代码等,通常都放在stage 1,而且用汇编语言实现。而stage 2则通常用C语言实现,这样可以实现复杂功能,而且有更好的可读性和移植性。

jishu_1832993_1_1.html

目前基于嵌入式系统的Bootloader版本很多,如Blob、Redboot、Vivi和U-Boot等,

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值