基于ARM嵌入式Linux应用开发与实例教程
本书详细地论述了嵌入式系统基础理论方面的知识,讲述了嵌入式系统的详细开发方法和步骤。目录38用户界面17467 uclinux内核运行方式…,148381图形用户界面11868uC!inu支持的文件系统……148382关鍵技术[1347嵌入式设备文件系统1489智能化用户界面.4.7.1闪存介绍14839, I Agent技术12047.2第二版扩展文件系统392 Agent技术与用户界面的Ext2fs149结合临时文件系统tmps3,10主流嵌入式操作系统介纤.…12448日志闪存文件系统版本23.0 1 windows ce3.10.2 vxworks48]概述3.1039s926482JFFs的设计原理,1150310.4QNX…,…2649嵌入式用户界面…15231.5pC/OS.[1…,,,126491KFre864X(带帧緩冲区3. 10.6 Linux125支持的x11k64)152第4章嵌入式Linu介绍1284.9.2 Microwindows4.9.3 FLTK,.1534.1 Linux的基础知识介绍1284.9.4 QtEmbedded1544.2Linuκ的进程与中断管理杋制4.10 Microwindows剖析42 I linux进程状态4.10L分层设计4,22[inux进程控制块…4.102设备驱动层1554.23Lmu内核同步机制1334.103设备无关的图形引擎层.554,24Linu进程间的通信…,,144104API(基于Wi32).13642.5Linu中断与定时服务l3740.5消息传递机制1564.3 Linux的调度机制…1374.10.6谢口操作15543 Linux的一般调度机制…1384.07客户区域和纯对坐……15743,2 RF-Linux的实时调度机俐.1384108设备上下文1574.4[irux的文件系统管理.…1394l1 Microwindows的移植中文化158441文件系统管理4.1.1针对 uClanⅨ所作的修改.158442虚拟文件系统1404]l2中文化处理15845Linuκ下的用户界面…1241412应用实例—电子文本阅读器.159451 X Window简介,11414121功能要求以及方桌选择…1594.52X服务器n1424122具体实现594.53窗口管理器143413主流嵌入式inux46嵌入式 Linux内核…4,13,1 aT-Lipux,…,-,1604.61 u China概还.144.13.2 uCi462 uClinux的内存管理B454. 13.3 Embedix…161463uCnu内核结构….1464,134Ljux,16l464内存保护……:4 135 Pocketlinux161465编程接凵的改变…1474.136 MidoriLinux…16t466 u Clinux的应用程序库.147437红旗嵌入式 Linux…12基于ARM嵌入式LiH应用开发与实例教程第5章嵌入式系统中的 Bootloader,16372.1CoFF文件格式Bootload概述163722ELF文件格式…11-119552 Bootloader设计分析.…16372.3fat文件桦式52]启动加载模式16473调试技术522下载模式731常见调试方法1965.3 Bootloader的启动及初始化732內存调试…19753 L buullDader的 stage73.3 MEMWATCH1975.1. 2 Bootloader i] stage2734YAM[.54 Bootloader难点分析74系统调用跟踪…20055命令控制台…16875程序调试7.5.1 gdb第6章交叉编译7.52kgdb..206.编译原理l6975300pS……………:…0361,1编译的一般过程75系统引导和内核启动61.2与编译器相关的程序.1707.6.1 Bootloader程序的设讠6.13编评器钓移植.1?1与实现…:…:…11120462词法分析7.62硬件平台的通信…20562.1词法的形式化播述.…17176.3硬件平台初始化稈序20562.2诃法分析程序的设计764妲件平台监控程序,.20563语法分析7.7 uClinux移植∴,20663,自顶向下的话法分析主7677]第一阶段.……206632目底向上的语法分析7722第二阶段20864中间代码18第8章设备驱动程序65代码优化,Lq■即↓↓■66交叉繃译技术8.1概述2】018567cCC变叉编详器811设备类型211671CC编译流程812设备号l866.72Linwκ环境下的GCC交叉81.3模央化编程212编详器…198.2设备文件接21368一个交叉编译器的生成实例.190821用户访间接口21368.1可执行文科格式….19082.2pen入冂点682交叉编诉器19]823cse人口……213683相关问题824re3d入口点21482入点2|4第7章嵌入式LinuⅨ的软件开发826 ioctl入口214环境1g483文牛操作21471交叉编译环境.l9483.1 file operations结构71.1宣装交叉编译环境83.2fle结构]712添加设备驱动和内核模块…19584I操作72可执行文件19584.1阻塞型[(0217目录8. 4.2 select2163觖摸屏…843异步触发-}·hbL气LL卜{气气L■2138网终设备……11…2325中断处理21y8.7网络驱动的框架8.51注册中断处理程序87,2网卡驱动程序的加载方法.235852返回值2208.73CS8900A芯片恃点……2368.53多数220874CS8900A芯片驱动程序8.54实现中断处理程序221的实现86就用实例+12287.5网络设备驱动程序的编译243g61字符型设备…7.b网络驱动程序的测试.24362按键第二部分第9章 GX-ARM9-2410EP说明….245L02配置 mINIcar9系统概述245103配景TFTP692中路说明…,,+…,248l04配FNFs服务61921系统供电249第11章甚本实验部分92.2系统配置923复位逻转.250实验1编译 Bootloader…262924启动分区 IOOT ROY实验2锎译 Linux内核…266BANKOF出验3作文件系统及程序的烧写…839,2SLCD和触摸屏接囗实验4烧写各部分到目标板…286926键盘和SPI接252实验5交叉编译并运行简单程序29L97AD,DA转换接彐9.2.8 Smart Media Card (Nand Flash第12章高级实验部分…297ery)卡电碎54实验6简单驱动程序的编写297929 PCMCIA接凵9210SD卡主机MMC)接1]…25实验7LED点阵驱动92.11IC接山实验8中断试验.3069,212USB接[…256实验9[CLED实验32092.13UART接口和rDA接口.257文验101音频实验第10章开发环境的建立实验11RS485实验35514.1建主机开发环境.258第一部分绪论近些年来,随着以计算机技术、通信技术为的信息技术的快速发展和 Intemet的广泛应用,朕入式系统也受到了越来越多的重视。1.入式系统的定义嵌入式系统是指用于执行独立功能的专用计算机系统。它由微处理器、定吋器、微拴制器、存储器、传感器等一系列微电子芯片及器件,和嵌入在存储器中的微型操作系统及控制应用软件组成,共同实诸如实时控制、监视、管理、移动计算、数据处理等各种白动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件和软件的协同性及整合性,软件及硬件叮剪裁,以满足系统对功能、战本、体积和功耗等的要求最简单的嵌入式系统仅有执行单功能的控制能力,在惟一的ROM中仅有实蚬单一功能的控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA、手持电脑〔HPC)等,「平具有与PC一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM或Fash存储器中,而不是存储于磁盘等载体中。很多复杂的嵌入式系统又是由若T个小型嵌入式系统组成的。2.嵌入式系统的硬件和软件特征放入式系统的硬件必须根据兵体的应用任务,以功耗、成本、体积、可靠性和处理能力等为指标来选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、叫靠,大多对实时性有严格要求。早期的嵌入式系统的设计方法,通常是采用“硬件优先”原则。即在粗略估计软件任务需求的情况下,首先进行硬件设计与实现。然后,在比硬仁平台之上,再进行软件设计。因而很难充分利用硬件和软件资源,取得最佳性能效果。同时,一旦在测试时发现向题,需要对设计进行修改时,格个设计流程将重新进行,对成本和设计周期芮影响很大。这种传统的设计方法只能改善硬件和软件各白的性能在有限的设计空间不可能对系统做出较好的性能综合优化,在很大程度上依赖了设计者的经验和反复实验。20世纪90年代以来,随着电子系统功能的日益强人和微型化,系统设计所涉及的问题越来越多,难度也越来越大。同时硬件和软件也个是截然分开的两个概念,而是紧密结合、相互影响的。因而出现了软硬件协同设计 Codesign方法,即使用統一的方法和工具对款件和硬件进行描述、综合和验证。在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统的软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案基于ARM嵌入式Lmux应用开发与实例教程3.嵌入式操作系统日前流行的嵌入式操作系统可以分为两类:一类是从运行在个人电脑上的操作系统向下移植郅嵌入式系統,形成的嵌入式操作系統,如倣软公司的 Windows ce及其新版本,Sun公司的Java操作系统,朗讯科扳公浒的 inferno,嵌入式 Linux等。这类系统经过个人电脑或高性能计算机等产的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积罴了丰窩的开发工具和应用软件资源。另一类是实时操作系统,如windRiver公司的 Vx Works,ISI公司的pSOS,QNX系統软件公司的QNX,AT!公司的ucleus,中图科学院凯思集闭的 Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性和高可靠性等进行了精巧的设计,而且提供了独立巾完备的系统廾发和测试二具,较多地应用在军用产品和王业控制等领域中。Linux是20世纪9年代以后逐渐成熟的个开放源代码的操作系统。PC机上的 Linux版木在全球数以百万计爱好者的合力开发下:得到了非常迅速的发展。20世纪9年代末,uClinux、 RT-LInux等相继推出,在嵌入式领域得到了广泛的关注,它们拥有大批的程序员和现成的应用框序,是我们研究开发工作的宝贵资源4.学习嵌入式系统的意义从控制意义上说,嵌入式系统涉及系统最底层的、芯片级的信息处理与控制。在某种意义上:对这些“微观”世界的了解与驾驭正是控制的真正日的。嵌入式系统与通常意义上的控制系统在设计思路和总体架构方面有许多不同之处,而这些不同之处恰恰是传统控制学科教学中较少教给学的。在当今信息化社会中,嵌入式系统在人们的日常工作和生活中所占的价额,可能已超过传统意义的控制系统,这航是为什么我们的学生感到学的没有用,而有用的又没有学的原因。在嵌入式系统及开发环境方面,目前仍有许多问题尚在研究发展之中,例如,嵌入式系统的软硬件协同设计方法;面向多目标、多饪务的微内核嵌入式操作系统;分布嵌入式系统的实时性问题,分布式计算,分布式信息交互与综合处理;以及嵌入式系统的多目标交叉编译和交叉调试工具的研究等。嵌入式系统”作为自动化学科中一门理论与实际密切结合的、知识与技术含量较高的综合性专业课程,必将随荐信息产业的发展币逐渐趋于成熟。第1章嵌入式系统的硬件构成嵌入式系统以应用为中心,以计算机技术为基础,轼硬件可裁剪,是对功能、可靠性成本、体积、功耗等有严要求的专用计算机系统。嵌入式系统的硬件一版包括处理器、存储器、外设器件和电源等。1.1嵌入式处理器嵌入式系统的核心部件是各种类型的嵌入式处理器,据不完全统训,到2006年全世界嵌入式处理器的品种总量已经超过1200多种,流行体系结构有30多个系列,其中8051体系的占多半。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Phis公司就有近100舜。现在几乎每个导体制造商都生产嵌入式处担器,越来越多的公司组建了自的处理器设计部门嵌入式处理器的寻址空间…般介于64KB~16MB之间,处理速度介于0l~2000MIPS之间,常用封装形式从8个引脚到144个引脚不等。1.1.1嵌入式处理器的品种划分根据目前现状,嵌入式处理器可以分成下面几类嵌入式微处理器嵌入式微处理器( Embedded Microprocessor Unit,EMPU的基础是通用计算机中的CPUJ在应用中,将微处坪器装酗在专门设计的电路饭上,兵保留与嵌入式应用有关的功能,这样可以人幅度减小系统的体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上同标准微处理器基本一样,但在工作温度、旄电磁干扰、可靠性等方面一般都做了增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线口和各种外设等器件。嵌入式微处理器及其存储器、总线和外没等安装在一块电路板上,称为单板计算机,如 STD-BUS、PC0等。近年来,德国、日本的一些公司乂开发出了类似“火柴盒”的或名片大小的嵌入式计算机系列OEM产品,台湾省研华公司也推出了关似约模组化系统 SOM(Syslem On Module)。嵌入式处理器且前主要有Am186/88、386EX、SC-400, Power PC、68000,MPS和ARM系列等。嵌入式微理器根据指令体系的不同,又可分为CSC和RSC两类。大家熟悉的大多数台式PC机都是使用CISC微处理器,如Intl的x86。RSC结构体泰有两大主流: SiliconGraphics公司(砗谷图形公司)的MPS技术,ARM公司的 Advanced RisC Machines技术。此外 Hitach日立公司)也有自匚的一套RSC技术 SuperlRISC和CSC是目前设计制姓徽微处器的两种典型技术,虽然它们都试图在体系结构操怍运行、软件硬件、編译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异较大,主要表现在以下几个与面。基于ARM嵌入式imux应用开发与实例教程(1)指令系統RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常洱的功能,则通过组合指令来完成、因此,在RIsC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而ISC计算机的指令系统比较丰富,有专用指令*完成特定的功能。因此,处理特殊任务时的效率较高2)存储器操作RSC对存储器彙作有限制,使控制简单化;而CISC.机器的存储器操作指令多,操作直接。3)程序RSC汇编諳亡程序一般需要较大的内存空间,实特殊功能的程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。(4)中断RISC机器在一条指令执行的适地方可以响应中断;而CISC机器是在一条指令执行结柬后才响应中断。(5] CPURISC CPU包含较少的单元电路,因前积小、功耗低: CISC CPU包含丰富的电路单因而功能强、面积大、功耗大。(6)设计周期RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术:CISC微处理器结构复杂,设计周期长(7)用户使用RISC微处理器结构简单,指令规整。性能容易把握,易学易用:CISC徹处理器结构复杂,功能大,容易实现特殊功能、8)应用范围由于RISC指令系统的确定与特定的应用领域有关,故RsC机器更适合于专用机:而ClSC机器则吏适合于通用机。2.嵌入式微控制器嵌入式微挖制器( Microcontroller unit,MCU乂称单片机,颇名湛义,就是将整个计算机系统集戌到一块芯片宀。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROMEPROM、RAM、Fash、总线、总线逻辑、定时计数器、 WatchDog、FO、串行∏、脉宽调制输出、ΔD、DA等各和必要的功能模块。为适应不同的应用需求,一般一个系列的单片机具有多种行尘产品,每种行尘产品的处理器内核都是一样的,不同之处在于存储器和外设的配置及對装。这样可以使单片机最大限度地同应用需求相匹配,从而减少功耗和成本。与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提髙。微控制器是目前嵌入式系统工业的主流。徹控制器的片上资源一般比较丰肓,适合于控制,因此称为微控制器。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS969%/296、C166/167、MC68HC05/11216和68300等。另外还有许多半嵌入式系統的件构通用系列,如支持USB接口的MCU8XC9301931、C540和C54l。目前MCU占嵌入式系统约70%的市场份额特别值得注意的是,近年来提供x86微处理器的著名厂商AMD公司将AM86 C/CHACU等嵌入式处理器称之为 Microcontroller, Motorola公司把以 Powcr PC为基础的PC505和PPC555亦列入单片机行列。们公司亦将其TMs32C2XXX系列DSP做为MCU进打推3.嵌入式DsP处理器DsP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT和谱分析等方面,DSP算法正在大量进入嵌入式领域,D$P应用正从在通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两个发展来源,一是DsP处理器经过单片化、EMC改造和增加片上外设成为嵌入式DSP处理器,II的TMs320C2000℃5000等属于此范畴;二是在通用单片机或片上系统(SOC)中增加DSP协处理器,例如nel的MCs-2%推动嵌入式DSP处理器( mbedded Digital Signal Processor,EDsP发展的一个重要因素是献入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别端,带有邡解密算法的键盘,ADSL按入,实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性浮址等较多,这些正是DsP处理器的长处所在。嵌入式DSP处器比较有代表性的产品是 Texas instruments的TMS320系列和 Motorola的DSP5600系列。TM8320系列处理器包括用于控制的C200系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DP56000DSH56100、DS56200和DSP56300等几个不同系列的处理器DSP的设计者们把重点放在了处理连续的数据流上。在嵌入式应用中,如果强调对连续的数据流的处理及高精度复杂运算,则应该选用DSP器件4.嵌入式片上系统随着LSI设计的普及化及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就是 System On Chip(SOC。各种通用处理器内核将作为SO℃设计公司的标准库,和许多其他嵌入式系统外设一样,成为ⅥI设计中一种标准的器供,用标准的HDL等语言描述,存储在器件库中。用户只需定义出整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或儿块怂片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性扑常有利。SoC可以分为通用和专用两类。通用系列包括 Motorola的 M-Core,某些ARM系列器, Echelon和 Motorola联合研制的 Neuron芯片等。专用SOC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是 Philips的 SmartxA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块娃片上,形成一个可加载Java或C语亩的专用的SOC,可用公众互联网{如 Internet安全)方面。
下载地址
用户评论