260 likes | 506 Views
第 2 章 ARM 处理器. 本章描述了 ARM 体系结构和 ARM Linux 的发展,介绍了几种应用 Linux 的典型 ARM 处理器和开发板。本章可以使读者了解嵌入式 Linux 系统硬件平台的基础知识。. 本章目标. ARM 体系结构 典型的 ARM 处理器 S3C2410 开发板介绍 . 2.1 ARM 处理器简介. 1 .定义
E N D
本章描述了ARM体系结构和ARM Linux的发展,介绍了几种应用Linux的典型ARM处理器和开发板。本章可以使读者了解嵌入式Linux系统硬件平台的基础知识。 www.farsight.com.cn
本章目标 • ARM体系结构 • 典型的ARM处理器 • S3C2410开发板介绍
2.1 ARM处理器简介 • 1.定义 • ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一种低功耗高性能的32位RISC处理器,ARM处理器是一个综合体,ARM公司自身并不制造微处理器,而是由ARM的合作伙伴来制造 • 2.特点 • 体积小、低功耗、低成本、高性能 • 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件 • 大量使用寄存器,指令执行速度更快 • 大多数数据操作都在寄存器中完成 • 寻址方式灵活简单,执行效率高 • 指令长度固定
2.1.1 ARM公司简介(了解) • ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为嵌入式RISC处理器的知识产权IP供应商,公司本身并不直接从事芯片生产,而是靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场,利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
2.1.2 ARM处理器体系结构 • 目前,ARM体系结构共定义了6个版本,从版本1到版本6 • 1.V1结构(版本1) • 2.V2结构 • 3.V3结构 • 4.V4结构 • 5.V5结构 • 6.V6结构
2.1.3 Linux与ARM处理器 • 在32位RISC处理器领域,基于ARM的结构体系在嵌入式系统中发挥了重要作用,ARM处理器和嵌入式Linux的结合也正变得越来越紧密,并在嵌入式领域得到了广阔的应用。
Linux具有诸多内在优点 • (1)Linux的内核精简而高效,针对不同的实际需求,可将内核功能进行适当地剪裁 • (2)Linux具有完善的网络性能,并且具有多种网络服务程序 • (3)Linux的可移植性强,方便移植到许多硬件平台 • (4)Linux源码开放,软件资源丰富
2.2.1 ARM微处理器的指令集 • ARM微处理器的指令集主要有6大类。 • 跳转指令 • 数据处理指令 • 程序状态寄存器(PSR)处理指令 • 加载/存储指令 • 协处理器指令 • 异常产生指令
2.2.2 ARM指令寻址方式 • 1.立即数寻址 • ARM指令的立即数寻址是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数
2.寄存器寻址 • 寄存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,也是一种执行效率较高的寻址方式。
3.寄存器间接寻址 • 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。
4.基址变址寻址 • 基址变址的寻址方式就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。 • 5.多寄存器寻址 • 采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。这种寻址方式可以用一条指令完成传送最多16个通用寄存器的值
6.相对寻址 • 与基址变址寻址方式相类似,相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。 • 7.堆栈寻址 • 堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
2.2.3 Thumb指令概述 • Thumb指令集是ARM指令集的一个子集,允许指令编码为16位的长度。与等价的32位代码相比较,Thumb指令集在保留32代码优势的同时,可以在很大程度上节省系统的存储空间。
2.3.1 Atmel AT91RM9200 • AT91RM9200具有以下的丰富片上资源。 • (1)16KB数据Cache,16KB指令Cache; • (2)虚拟内存管理单元MMU; • (3)带有Debug调试的在片Emulator; • (4)Mid-level Implementation Embedded Trace Macrocell; • (5)16KB的内部SRAM和128KB的内部ROM; • (6)带有外部总线接口(EBI),方便用户进行扩展升级; • (7)支持SDRAM、SRAM、Burst Flash和CompactFlash、SmartMedia and NAND Flash的无缝连接; • (8)增强型的时钟产生器和电源管理单元; • (9)带有2个PLL的2个在片振荡器; • (10)慢速的时钟操作模式和软件电源优化能力; • (11)4个可编程的外部时钟信号; • (12)包括周期性中断、看门狗和第二计数器的系统定时器; • (13)带有报警中断的实时时钟; • (14)带有8个优先级、可单个屏蔽中断源、Spurious中断保护的先进中断控制器; • (15)7个外部中断源和1个快速中断源; • (16)4个32位的PIO控制器,可以达到122个可编程I/O引脚(每个都有输入控制、可中断及开路的输出能力); • (17)20通道的外部数据控制器(DMA); • (18)10/100M的以太网接口; • (19)2个全速的USB 2.0主接口和一个从口; • (20)4个UART; • (21)3通道16位的定时/计数器(TC); • (22)两线接口(TWI); • (23)IEEE 1149.1 JTAG标准扫描接口。
2.3.2 Samsung S3C2410 • S3C2410是著名的半导体公司Samsung推出的一款32位RISC处理器,为手持设备和一般类型的应用提供了低价格、低功耗、高性能微控制器的解决方案。
其片上功能如下。 • (1)内核工作电压为1.8/2.0V、存储器供电电压3.3V、外部I/O设备的供电电压3.3V; • (2)16KB的指令Cache和16KB的数据Cache; • (3)LCD控制器,最大可支持4K色STN和256色TFT; • (4)4通道的DMA请求; • (5)3通道的UART(IrDA1.0、16字节TxFIFO、16字节RxFIFO),2通道的SPI接口; • (6)2通道的USB(Host/Slave); • (7)4路PWM和1个内部时钟控制器; • (8)117个通用I/O,24路外部中断; • (9)272Pin FBGA封装; • (10)16位的看门狗定时器; • (11)1通道的IIC/IIS控制器; • (12)带有PLL片上时钟发生器。
2.3.3 TI OMAP1510/1610系列 • MAP161X系列的处理器主要具有以下特点。 • 1.低功耗、高性能CMOS技术 • 2.TMS320C55xDSP核 • 3.ARM926TEJ核
2.3.4 Freescale i.Max21 • i.Max21主要具有如下特性。 • 集成ARM926内核。 • 16KB的指令Cache和16KB的数据Cache。 • 采用Smart Speed Switch技术,可实现数据的并行处理,增加数据的吞吐量。 • 16/18位的彩色LCD控制器,支持SVGA。 • USB On-the-Go,2通道的USB Host。 • 支持实时MPEG4和H.263编解码,最高可每秒传输30帧CIF或QVGA图像。
1.硬件资源情况 • CPU:三星S3C2410A,主频203MHz。 • 内存:64MB。 • NOR Flash:2MB(SST39VF160或SST39VF1601)。 • NAND Flash:64MB(K9F1208,用户可自己更换为16MB、32MB或128MB的NandFlash)。 • 2个标准5线串口。 • 10M网口,CS8900Q3,带联接和传输指示灯。 • 2个USB1.1 HOST接口(其中一个HOST与Device复用,通过短路块选择)。 • 1个USB1.1 Device接口(它与USB HOST接口复用,通过短路块选择)。 • 1个IRDA红外线数据通信口。 • 采用IIS接口芯片UDA1341,一路立体声音频输出接口可接耳机或音箱。 • 支持录音,自带驻机体话筒可直接录音,另有一路话筒输入接口可接麦克风。 • 1个SD卡接口,可接256M SD卡。 • 1个50芯LCD接口引出了LCD控制器和触摸屏的全部信号。 • 支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸从3.5寸到12.1寸,屏幕分辨率可达到800600像素。 • 支持黑白、4级灰度、16级灰度、256色、64K色、真彩色TFT液晶屏,尺寸从3.5寸到12.1寸,屏幕分辨率可达到800600像素。 • 标准配置为夏普256K色240320/3.5英寸TFT液晶屏,带触摸屏。 • 内部实时时钟(带有后备锂电池)。 • 1个20芯Multi-ICE标准JTAG接口,支持SDT2.51,ADS1.2等调试。 • 开关电源供电,输入直流电压范围是7~20V,带电源开关和指示灯。 • 1个EEPROM(AT24C02)用来验证IIC总线读写。 • 16个小按键,4个高亮LED。 • 1个蜂鸣器(带使能控制的短路块)。 • 2个PS/2接口,信号线接在中断引脚上。 • 1个精密可调电阻接到ADC引脚上用来验证模数转换。 • 1个60芯2mm间距双排标准连接器用作扩展口,引出了地址线、数据线、读写、片选、中断、I/O口、ADC、5V和3.3V电源、地等用户扩展可能用到的信号。
2.软件资源情况 • ADS1.20安装程序(评估版)。 • 采用Linux2.4以上内核。 • 支持多种文件系统,比如Cramfs、Fat以及用于NAND Flash的YAFFS文件系统。 • 支持LCD和触摸屏。 • 支持USB HOST。 • 支持QT。 • 支持MP3播放和视频播放。 • 支持多种网络应用,比如FTP、HTTP、Telnet等网络应用。 • 烧写Flash的工具软件SJF2410(包含NT/2000/XP解决方案)。 • 串口工具软件sscom32.exe、dnw.exe、tftp.exe。 • 64K色(RGB565)图片字模软件。 • USB Device接口驱动程序。 • FS2410 BIOS源代码(ADS1.20的项目文件)。 • FS2410测试程序(ADS1.20的项目文件,包含全部源代码)。 • Linux for S3c2410内核源码包以及编译工具。 • WINCE4.2.NET板级支持包BSP for S3c2410。 • 已经编译好并可在FS2410上运行的wince内核,基于优龙提供的BSP。 • Samsung半导体网站关于S3C2410的全部资料和参考代码。 • FS2410核心板和底板电路原理图。
2.4.2 众多的开发板供应商 • 随着嵌入式开发领域的不断深入和发展,现在越来越多的半导体厂商都开发了基于ARM核的32位RISC嵌入式处理器,并且为了推广各自的芯片,都有配套完善的开发板提供给用户。
Q&A www.farsight.com.cn
谢谢! www.farsight.com.cn