好文档 - 专业文书写作范文服务资料分享网站

linux操作系统在ARM平台上的移植毕业论文

天下 分享 时间: 加入收藏 我要投稿 点赞

关,不可能有通用的BootLoader,开发时需要根据具体情况进行移植。U-boot是一种通用的BootLoader,本文就是通过U-boot来引导的。

3)配置、编译、移植Linux内核

详细分析了Linux移植的要点,并对目前较新的3.3.3版Linux内核源码进行了移植、配置和编译。

4)制作文件系统并对文件系统进行移植到开发板。我们可以根据内核所支持的文件系统类型制作文件系统本论文选择制作yaffs文件系统并移植。

2 嵌入式 Linux系统构成和软件开发环境

进行嵌入式操作系统以及驱动程序的移植,需要对目标硬件平台和软件结构有深入的理解。本章介绍嵌入式Linux系统的体系结构、硬件平台构成和嵌入式软件开发环境。

2.1嵌入式Linux系统的体系结构

除了硬件系统外,嵌入式Linux系统需要有下面三个基本元素:系统引导程序BootLoader(用于设备加电后的系统定位引导)、Linux微内核(内存管理、程序管理)、初始化进程。但如果要它成为完整的操作系统并继续保持小型化还必须加上硬件驱动程序、硬件接口程序和应用程序组。最终可用的嵌入式Linux系统体系结构如表所示:

表2-1嵌入式Linux系统体系结构

应用软件 BOOTLOADER、LINUX KERNEL、DRIVERS 嵌入式开发板实验板 (本论文使用SAMSUNG S3C6410) 应用层 系统层 硬件层

硬件层是系统的基础,所有软件都建立在它的基础上,系统层的BootLoader是嵌入式系统软件的最底层,是上电后运行的第一个程序,类似于PC机上的BIOS,完成对硬件的初始化和内核加载,驱动程序作为系统内核的一部分,实现

操作系统内核和硬件设备之间的接口,为应用程序屏蔽硬件的细节,系统内核主要完成任务管理,调度算法等,GUI图形支持库实现对硬件的抽象、提供基本的图形接口函数和与用户实现交互,而应用软件用来实现某一具体功能。

2.2嵌入式Linux系统硬件平台 2.2.1 S3C6410A处理器简介

S3C6410 是一个16/32 位RISC 微处理器,旨在提供一个具有成本效益、功耗低,性能高的应用处理器解决方案,像移动电话和一般的应用。它为2.5G 和 3G 通信服务提供优化的H /W 性能, S3C6410 采用了64/32 位内部总线架构。该64/32 位内部总线结构由AXI、AHB 和APB 总线组成。它还包括许多强大的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放。一个集成的多格式编解码器( MFC )支持MPEG4/H.263/H.264 编码、译码以及VC1 的解码。这个H/W 编码器/解码器支持实时视频会议和NTSC、PAL 模式的TV 输出。

存储控制器

S3C6410 存储器包括七个存储控制器,一个SROM 控制器,两个OneNAND 控制器,一个NAND 闪存控制器,一个CF 控制器,和两个DRAM 控制器。通过使用EBI,静态存储控制器和16 位DRAM 控制器共享存储器端口0。

1)支持大、小端模式(通过软件选择);

2)地址空间:包含8个地址空间,每个地址空间的大小为128M字节,总共有lG字节的地址空间;

3)除BANKO以外的所有地址空间都可以通过编程设置为8位、16位或32位访问。BANKO可以设置为16位、32位访问;

4)8个地址空间中,6个地址空间可以用于ROM、SRAM等存储器,2个用于ROM、SRAM、SDRAM等存储器;

5)7个地址空间的起始地址及空间大小是固定的; 6)1个地址空间的起始地址和空间大小是可变的; 7)所有存储器空间的访问周期都可以通过编程配置; 8)提供外部扩展总线的等待周期; 9)SDRAM支持自动刷新和掉电模式。

2.2.2硬件系统整体结构

本论文采用的硬件平台由底板和核心板组成,核心板上使用了SAMSUNG公司的S3C6410A处理器,并集成了SDRAM,NAND Flash存储设备以及核心电压模块、实时时钟、系统跳线、系统时钟、核心板接口等;底板上提供了丰富的外设接

口:dm90O00A以太网卡接口、2个与PC机通信的UART(10M/100M)、l个LCD接口、触摸屏接口、 128KB的 NOR Flash存储芯片、SD接口、IDE接口及USB接口等。核心板和底板配合即构成了一个完整的硬件系统,它能够装载和运行嵌入式Linux操作系统。也可以运行基于ARM核的其它操作系统。

图2-1 配置交叉编译器PATH环境

2.3嵌入式Linux开发软件平台建立

软件开发平台是嵌入式开发的关键,嵌入式软件开发平台建立的目的是为了进行BootLoader移植、Linux内核移植以及GUI系统开发。由于嵌入式硬件平台的存储空间有限、处理器频率较低,很难直接在嵌入式硬件式平台上建立Linux系统、安装嵌入式开发软件,因此只能采用嵌入式交叉开发环境来解决这个问题。

目前,嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。在这些嵌入式产品上运行操作系统就成为了可能。一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软件产品。如果将这些优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌入式产品开发成本,提高软件稳定性和安全性的重要途径。Linux的出现正符合我们所有的要求,因为其源代

码公开且免费,我们不仅可以保证操作系统中不存在任何黑洞和隐蔽的问题,而且无疑可以为企业节约一大笔开支,以最少的成本实现相同性能的产品。所以学习基于ARM的Linux移植对于提高国产嵌入式产品的性能和降低生产成本具有重要作用。

2.3.1软件开发平台的二种平台的介绍

嵌入式Linux系统开发需要一台装有Linux操作系统的PC机,在此机器上运行交叉编译工具,Linux系统采用FC5,具体有以下几种方案:

l)采用VMWare。VMWare是一个可运行在Windows平台的“虚拟PC”软件,它可以在一台机器上同时运行二个或更多个Windows、DOS、Linux系统。VMWare主要的功能有:不需要分区或重开机就能在同一台PC上使用两种以上的操作系统;完全隔离并且保护不同0S的操作环境以及所有安装在0S上面的应用软件和资料;不同的0S之间还能互动操作,包括网络、外设、文件分享以及复制粘贴功能;有复原功能;能够设定并且随时修改操作系统的操作环境,如:内存、磁盘空间、外设等。

2)按通常的方法,在独立的分区上安装Linux操作系统。但是安装2个系统需要用的grub,需要配置修改启动项,而且删除此Linux操作系统很麻烦。

对以上二种方案进行了尝试,得出以下结论:对于内存不小于512M和主频较高的PC机适合使用VMWare,VMWare默认使用PC机一半的内存,内存较小PC机将会运行很慢,所以配置相对较低的PC机不适合采用此方案。Cygwin虽运行在Windows平台,但其操作界面是一个控制台,没有实现图形操作界面,所以用起来不是很方便。移植资料的编译是在本人电脑上完成的,编译的所用的是第1种方案,移植内容因使用的开发主机是机房已经装好的第2种系统方案,所以最后采用了方案2,即在新的分区上安装了Linux操作系统。 2.2.3准备交叉编译工具

由于开发主机的x86体系结构和目标机的ARM体系结构的差别,在开发主机上能运行的程序不能在目标机上运行,为了使在开发主机上编译通过的程序能够在目标机上运行,必须使用交叉编译工具链来编译程序。

构建交叉编译环境有很多个版本的交叉编译器可供选择,如2.95.3、3.3.2、4.3.2等等,最终选用了4.3.2版编译器编译内核而使用的3.3.2编译的U-Boot,因为很多商用软件都是在该环境下编译的,采用其它版本编译工具,有可能编译不通,会出现错误。

将cross-4.3.2-eabi.tar.bz2解压并安装到/usr /local/usr/arm/目录下。命令如下:

# tar -jxvf cross-4.3.2-eabi.tar.bz2

图2-2 配置交叉编译器PATH环境

在/etc/profile中修改PATH环境变量,添加工具链的路径。 执行 # vim /etc/profile

export PATH=/usr/local/arm/4.3.2/bin:$PATH

如果出现在终端下输入:arm-按tab键会出现arm-linux-就表示交叉编译环境搭建成功。

2.3.3串口控制台工具

Windows操作系统下有超级终端(Hyperterminal)工具,Linux操作系统下可以使用minicom工具。

由于Linux系统下的minicom不是图形窗口的界面,相较于windows下的超级终端,其配置操作稍麻烦一些,运行前需要对其进行如下配置。

以root身份登录操作系统,在Shell下执行“minicom-s”命令。出现如图所示的配置菜单。

linux操作系统在ARM平台上的移植毕业论文

关,不可能有通用的BootLoader,开发时需要根据具体情况进行移植。U-boot是一种通用的BootLoader,本文就是通过U-boot来引导的。3)配置、编译、移植Linux内核详细分析了Linux移植的要点,并对目前较新的3.3.3版Linux内核源码进行了移植、配置和编译。4)制作文件系统并对文件系统进行移植
推荐度:
点击下载文档文档为doc格式
8snzm91an26j6mw9sjhs44p5c1cp2i00e0p
领取福利

微信扫码领取福利

微信扫码分享