ARMLinux移植基本概念_第1页
ARMLinux移植基本概念_第2页
ARMLinux移植基本概念_第3页
ARMLinux移植基本概念_第4页
ARMLinux移植基本概念_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM的嵌入式Linux移植体验之基本概念日前,笔者作为某嵌入式ARM(硬件)/Linux(软件)系统的项目负责人,带领项目组成员进行了下述工作:ﻫﻫ(1)基于ARM920T内核S3C2410AHYPERLINK”http://www。qqread.com/keys/cpu/index.html"\t”_blank”CPU的电路板设计;ﻫﻫ(2)ARM处理下底层软件平台搭建:

ﻫa.Bootloader的移植;

b.嵌入式Linux操作系统内核的移植;ﻫc.嵌入式Linux操作系统根文件系统的创建;ﻫd.电路板上外设HYPERLINK"http://www.qqread。com/tag/856/index.html"\t"_blank"Linux驱动程序的编写.

ﻫ本文将真实地再现本项目开发过程中作者的心得,以便与宽阔读者共勉.第一章将简洁地介绍本ARM开发板的硬件设计,其次章分析Bootloader的移植方法,第三章叙述嵌入式miziLinux的移植及文件系统的构建方法,第四章讲解外设的驱动程序设计,第五章给出一个已构建好的软硬件平台上应用开发的实例。ﻫﻫ如果您有嵌入式系统的开发基础,您将格外容易领悟本文讲解地内容。即便是您从来没有嵌入式系统的开发经历,本文读起来也不会生涩。您可以通过如下email与作者联系:21cnbao@21cn.com。ﻫ

2.ARM体系结构ﻫﻫ作为一种RISC体系结构的微处理器,ARM微处理器具有RISC体系结构的典型特征。还具有如下增强特点:ﻫﻫ(l)在每条数据处理指令当中,都掌握算术规律单元(ALU)和移位器,以使ALU和移位器获得最大的利用率;ﻫﻫ(2)自动递增和自动递减的寻址模式,以优化程序中的循环;ﻫ

(3)同时Load和Store多条指令,以增加数据吞吐量;ﻫﻫ(4)全部指令都条件执行,以增大执行吞吐量。

ARM体系结构的字长为32位,它们都支持Byte(8位)、Halfword(16位)和Word(32位)3种数据类型。ﻫﻫARM处理器支持7种处理器模式,如下表:ﻫ大部分应用程序都在User模式下运行。当处理器处于User模式下时,执行的程序HYPERLINK"http://www。qqread。com/tag/2055/index。html"\t”_blank”无法访问一些被保护的系统资源,也不能转变模式,否则就会导致一次格外.对系统资源的使用由操作系统来掌握。ﻫﻫUser模式之外的其它几种模式也称为特权模式,它们可以完全访问系统资源,可以自由地转变模式.其中的FIQ、IRQ、supervisor、Abort和undefined5种模式也被称为格外模式。在处理特定的格外时,系统进入这几种模式。这5种格外模式都有各自的额外的寄存器,用于避开在发生格外的时候与用户模式下的程序发生冲突。ﻫﻫ还有一种模式是system模式,任何格外都不会导致进入这一模式,而且它使用的寄存器和User模式下基本相同。它是一种特权模式,用于有访问系统资源恳求而又需要避开使用额外的寄存器的操作系统任务。ﻫﻫ程序员可见的ARM寄存器共有37个:31个通用寄存器以及6个针对ARM处理器的不同工作模式所设立的专用状态寄存器,如下图:

ARM9接受5级流水线操作:指令预取、译码、执行、数据缓冲、写回。ARM9设置了16个字的数据缓冲和4个字的地址缓冲。这5级流水已被很多的RISC处理器所接受,被看作RISC结构的"经典".更多内容请看HYPERLINK"http://www.qqread.com/z/linux/jiqun/index.html”\t"_blank"Linux集群技术、HYPERLINK"http://www。qqread.com/z/linux/m/index。html”\t”_blank"体验Linux的音影世界、HYPERLINK”http://www。q/z/linux/drivers/index.html"\t”_blank"Linux驱动大全专题,或HYPERLINK"http://group.qqread.com"\o"在这里你会得到众多高手的技术帮助"\t"_blank”进入商议 组商议 。3.硬件设计

ﻫ3.1S3C2410A微掌握器

ﻫ电路板上的ARM微掌握器S3C2410A接受了ARM920T核,它由ARM9TDMI、HYPERLINK"http://www。qqread。com/tag/1235/index。html”\t"_blank"存储管理单元MMU和高速缓存三部分组成.其中,MMU可以管理HYPERLINK”http://www。qq/z/windows/99/index.html”\t"_blank"虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个内部协处理器:CP14和CP15。CP14用于调试掌握,CP15用于存储系统掌握以及测试掌握.

ﻫS3C2410A集成了大量的内部电路和外围接口:ﻫ

·LCD掌握器(支持STN和TFT带有触摸屏的HYPERLINK"http:///z/lcd/index。html"液晶显示屏)ﻫﻫ·SDRAM掌握器ﻫﻫ·3个通道的UARTﻫﻫ·4个通道的DMA

ﻫ·4个具有PWM功能的计时器和一个内部时钟ﻫﻫ·8通道的10位ADCﻫﻫ·触摸屏接口ﻫﻫ·I2C总线接口ﻫﻫ·12S总线接口ﻫ

·两个USB主机接口ﻫﻫ·一个HYPERLINK”http://www.qqread.com/tag/2862/index。html"\t"_blank"USB设备接口ﻫ

·两个SPI接口ﻫﻫ·SD接口ﻫﻫ·MMC卡接口ﻫﻫS3C2410A集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、HYPERLINK"http://www.qqread.com/linux/index。html"\t"_blank”Linux等HYPERLINK"http://www。qqread.com/tag/1182/index.html”操作系统以及进行较为简洁的信息处理。UPLL则产生实现USB模块的时钟。ﻫ

下图显示了S3C2410A的集成资源和外围接口:

我们需要对上图中的AHB总线和APB总线的概念进行一番解释.ARM核开发的目的,是使其作为简洁片上系统的一个处理单元来应用的,所以还必须供应一个ARM与其它片上宏单元HYPERLINK"http://www.qqread.com/z/telecom/hot/index。html"\t”_blank”通信的接口。为了削减不必要的设计资源的浪费,ARM公司定义了AMBA(AdvancedMicrocontrollerBusArchitecture)总线规范,它是一组针对基于ARM核的、片上系统之间通信而设计的、标准的、开放HYPERLINK"http://www.qqread.com/z/protocol/index.html”\t"_blank"协议。ﻫﻫ在AMBA总线规范中,定义了3种总线:ﻫﻫ(l)AHB-AdvancedHighPerformaceBus,用于高性能系统模块的连接,支持突发模式数据传输和事务分割;ﻫﻫ(2)ASB—AdvancedSystemBus,也用于高性能系统模块的连接,支持突发模式数据传输,这是较老的系统总线格式,后来由AHB总线替代;

(3)APB-AdvancedPeriPheralBus,用于较低性能外设的简洁连接,一般是接在AHB或ASB系统总线上的其次级总线。ﻫ

典型的AMBA总线系统如下图:

S3C2410A将系统的存储空间分成8个bank,每个bank的大小是128M字节,共1G字节。Bank0到bank5的开头地址是固定的,用于ROM或SRAM。bank6和bank7可用于ROM、SRAM或SDRAM。全部内存块的访问周期都可编程,外部Wait也能扩展访问周期。下图给出了S3C2410A的内存组织:ﻫ下图给出了S3C2410A的数据总线、地址总线和片选电路:ﻫSDRAM掌握信号、集成USB接口电路:ﻫ内核与存储单元供电电路(S3C2410A对于片内的各个部件接受了独立的电源供应,内核接受1。8V供电,存储单元接受3.3V独立供电):

JTAG标准通过边界HYPERLINK"http://www.qqread.com/tag/3656/index.html”\t"_blank"扫描技术供应了对电路板上每一元件的功能、互联及相互间影响进行测试的方法,极大地便利了系统电路的调试.

ﻫ测试接入端口TAP的管脚定义如下:ﻫﻫ·TCK:专用的规律测试时钟,时钟上升沿按串行方式对测试指令、数据及掌握信号进行移位操作,下降沿用于对输出信号移位操作;

ﻫ·TMS:测试模式选择,在TCK上升沿有效的规律测试掌握信号;ﻫﻫ·TDI:测试数据输入,用于接收测试数据与测试指令;ﻫﻫ·TDO:测试数据输出,用于测试数据的输出。ﻫ

S3C2410A调试用JTAG接口电路:3。2SDRAM存储器ﻫﻫSDRAM被用来存放HYPERLINK"http://www.qqread.com/tag/1182/index.html"\t"_blank”操作系统(从HYPERLINK"http://www.qqread。com/keys/flash/index。html"\t"_blank”FLASH解压缩拷入)以及存放各类动态数据,接受SAMSUNG公司的K4S561632,它是4Mxl6bitx4bank的同步DRAM,容量为32MB。用2片K4S561632实现位扩展,使数据总线宽度达到32bit,总容量达到64MB,将其地址空间映射在S3C2410A的bank6.ﻫﻫSDRAM全部的输入和输出都与系统时钟CLK上升沿同步,由输入信号RAS、CAS、WE组合产生SDRAM掌握命令,其基本的掌握命令如下:ﻫSDRAM在简略操作之前首先必须通过MRS命令设置模式寄存器,以便确定SDRAM的列地址延迟、突发类型、突发长度等工作模式;再通过ACT命令激活对应地址的组,同时输入行地址;然后通过RD或WR命令输入列地址,将相应数据读出或写入对应的地址;操作完成后用PCH命令或BT命令中止读或写操作。在没有操作的时候,每隔一段时间必须用ARF命令刷新数据,防止HYPERLINK"http://www。qqread.com/tag/1817/index.html”\t”_blank"数据丢失.ﻫﻫ下图给出了SDRAM的连接电路:ﻫ3。3FLASH存储器

ﻫNOR和NAND是现在市场上两种主要的非易失闪存技术。

ﻫNOR的特点是芯片内执行(XIP,ExecuteInPlace),即应用程序可直接在Flash闪存内运行,不必把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

ﻫNAND结构能供应极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快.应用NAND的困难在于Flash的管理和需要特殊的系统接口,S3C2410A内嵌了NANDFLASH掌握器.

ﻫS3C2410A支持从GCS0上的NORFLASH启动(16位或32位)或从NANDFLASH启动,需要通过OM0和OM1上电时的上下拉来设置:

在系统中分别接受了一片NORFLASH(28F640)和NANDFLASH(K9S1208),电路如下图:3.4串口ﻫﻫS3C2410内部集成了UART掌握器,实现了并串转换。外部还需供应CMOS/TTL电平与RS232之间的转换:ﻫ3。5以太网ﻫ

以太网掌握芯片接受CIRRUSLOGIC公司生产的CS8900A,其突出特点是使用灵敏,其物理层接口、数据传输模式和工作模式等都能依据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。它符合IEEE803.3以太网标准,带有传送、接收低通滤波的10Base—T连接端口,支持10Base2,10Base5和10Base-F的AUI接口,并能自动生成报头,自动进行CRC检验,在冲突后自动重发.ﻫ

CS8900A支持的传输模式有I/O和Memory模式。当CS8900A有硬件复位或软件复位时,它将默认成为8位工作模式。因此,要使CS8900A工作于16位模式,系统必须在访问之前供应应总线高位使能管脚(/SBHE)一个由高到低、再由低到高变化的电平。ﻫ

3。6USB接口

ﻫUSB系统由USB主机(USBHost)、USB集线器(USBHub)和HYPERLINK”http://www.qqread.com/tag/2862/index.html”\t"_blank"USB设备(USBDevice)组成。USB和主机系统的接口称作主机掌握器(HostController),它是由硬件和软件结合实现的.根集线器是综合于主机系统内部的,用以供应USB的连接点。USB的设备包括集线器(Hub)和功能器件(Function)。ﻫﻫS3C2410A集成了USBhost和USBdevice,外部连接电路如下图:3.7电源ﻫ

LDO(LowDropout)属于DC/DC变换器中的降压变换器,它

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论