嵌入式复习资料

篇一:嵌入式系统复习资料

第1章 嵌入式系统导论

1.嵌入式系统的概念:

是以现代计算机技术为基础,以应用为中心,可以根据系统或用户需求(功能、可靠性、成本、体积、功耗、环境等),灵活裁剪软硬件模块的专用计算机系统。

2.嵌入式系统的分类及分类依据:

嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。

硬件:嵌入式微处理器、 外围电路、 外围硬件设备。

软件:BootLoader 、嵌入式操作系统、用户的应用程序等。

3.几种典型嵌入式操作系统:(1) uC/OS II

(2)uCLinux

(3)Windows CE

(4)嵌入式Linux 等

4.任务调度:

任务的调度有三种方式: 可抢占式、不可抢占式和时间片轮转。

【不可抢占式调度是指一个任务一旦获得CPU就独占其运行,除非由于某种原因使它决定放弃CPU的使用权;

可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其他任务;

当两个或两个以上任务有同样的优先级时,不同任务轮转使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。】

目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的可抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。

5.针对有内存管理单元(MMU,Memory Management Unit)的处理器而设计的一些桌面操作系统,如Windows、Linux,使用了虚拟存储器的概念。

6.计算机的发展:

冯诺依曼架构:将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。

哈佛结构(冯诺依曼架构的扩展):主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。CortexM3

7.C

嵌入式复习资料

ortex系列

按嵌入式系统的典型应用分类 :

① Cortex-A:高性能(High Performance),【针对日益增长的运行Linux、WinCE、Symbian等操作系统在内的消费者娱乐和无线产品设计与实现。】

② Cortex-M:微控制器类(Microcontroller),【针对应用系统对功耗、成本敏感,同时对微处理器性能要求较高的工业领域(汽车、家电、医疗器械等)。】 ③ Cortex-R:【实时类(Real Time),针对实时性要求较高的领域,可以运行RTOS。】

④ Cortex-W:【Wireless】

Cortex指令完全采用Thumb-2体系架构。

第2章 Cortex-M3 内核原理

1.Cortex-M3是ARM公司推出的新一代32位低成本、高性能通用微控制器内核。

2.Cortex-M3 体系结构:

Cortex-M3 处理器主要由两大部分组成 :

① Cortex-M3 内核:

? 中央处理器核心(Cortex-M3 Core

? 嵌套向量中断控制器(NVIC )

? 系统时钟(SYSTICK )

? 存储器保护单元(MPU)

? 总线

② 调试系统

3.AMBA总线:

(l)AHB:Advanced High Performance Bus,用于高性能系

统模块的连接,支持突发模式数据传输和事务(ACID:原子性、一致性、隔离性和持久性)分割;

(2)ASB:Advanced System Bus,也用于高性能系统模块的

连接,支持突发模式数据传输,这是较老的系统总线格式,后来由AHB总线替代;

(3)APB:Advanced PeriPheral Bus,用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。

(4)

4. Cortex-M3内核是典型的32位处理器内核:

① 内部数据路径宽度为32位,

② 寄存器宽度为32位,

③ 存储器接口宽度也是32位,

? Cortex-M3内核拥有独立的指令总线和数据总线,其寻址能力均为4G,且共享同一个存储器空间,取指与数据访问可同时进行。

5.Cortex-M3寄存器:

(1). 低组寄存器(R0~R7)【所有指令均能访问,字长为32位,复位后的初始值是随机的。 绝大多数16 位 Thumb 指令只能访问R0~R7 。】

(2). 高组寄存器(R8~R12)【只有很少的 16 位Thumb 指令能访问,32位指令则不受限制,复位后的初始值是随机的。】

(3). 堆栈寄存器(R13) 又称“堆栈指针SP”【Cortex-M3处理器内核有两个堆栈,但这两个寄存器不会同时生效,根据系统运行状态进行堆栈切换,以保证程序运行的快速性、安全性等要求。】

①主堆栈指针(MSP ),或写作SP_main。【缺省堆栈指针,它由OS内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。】

②进程堆栈指针(PSP ),或写作SP_process。【用于常规的应用程序代码

6.在系统连接结构中,通常借助AHB-APB 桥实现内核内部高速总线到外部低速总线的数据缓冲和转换。

7.Cortex-M3是一个32 位处理器,支持 4GB 存储空间, 与ARM 架构相比,有很多优点:

(1)预定义存储器映射和总线配置;

(2)支持 “ 位带(bit ‐band )” 操作;

(3)支持非对齐访问和互斥访问;

(4)支持小端和大端两种存储格

8.位带操作:

(1)概念: 位带操作,只适用于数据访问,不适用于取指。通过位带的功能,可以把多个布尔型数据打包在单一的字中,却依然可以从位带别名区中,像访问普通内存一样地使用它们。位带别名区中的访问操作是原子的,消灭了传统的“读-改-写”三步曲以及由此产生的被中断的可能。

(2)为什么采用位带操作?

可以显著提高位操作的效率和安全性,对许多底层软件开发特别是操作系统和驱动程序具有重要意义。

(3)片内外设区(Peripheral ,0x40000000~0x5FFFFFFF ,512MB)外部RAM 区(External Ram ,0x60000000~0x9FFFFFFF ,256KB )外部设备区(External Device ,0xA0000000~0xDFFFFFFF ,768KB )

(4)映射公式:

bit_word_addr =bit_band_alias_base + (byte_offset ×32) + (bit_number×4)

– bit_word_addr 是别名存储器区中字的地址,它映射到某个目标位。 – bit_band_alias_base 是别名区的基址,即起始地址。

– byte_offset 是包含目标位的字节在位带区里的序号。

– bit_number 是位带区目标位所在字节中的位置(0-7)。

(5)例题:

例1 :

位带区SRAM地址为0x20000300的字节中的位2,其位带别名区的映射地?

【答案】? = 0x22000000 + (0x300*32) + (2*4).

0x22006008 = 0x22000000 + (0x300*32) + (2*4).

? 对0x22006008地址的写操作和对SRAM中地址0x20000300字节的位2执行 “读--改--写 ”操作有着相同的效果。

例2 :

(1)地址 ? 的别名字映射为0x200FFFFF的bit-band字节的位0:

(2)地址 ? 的别名字映射为0x200FFFFF的bit-band字节的位7:

(3)地址 ? 的别名字映射为0x20000000 的bit-band字节的位0:

(4)地址 ? 的别名字映射为0x20000000的bit-band字节的位7:

【答案】

(1)地址 0x23FFFFE0 的别名字映射为0x200FFFFF的bit-band字节的位0: 0x23FFFFE0=0x22000000+(0xFFFFF*32)+0*4

(2)地址0x23FFFFEC 的别名字映射为0x200FFFFF的bit-band字节的位7: 0x23FFFFEC=0x22000000+(0xFFFFF*32)+7*4

(3)地址0x22000000 的别名字映射为0x20000000 的bit-band字节的位0: 0x22000000=0x22000000+(0*32)+0*4

(4)地址0x220001C 的别名字映射为0x20000000 的bit-band字节的位7: 0x2200001C=0x22000000+(0*32)+7*4

例2图示:

篇二:ARM嵌入式系统复习资料

一.名词解释

1.嵌入式系统:(Embedded Systems) (书P1)

以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2.嵌入式微控制器: (书P5)

又称单片机,嵌入式微控制器一般以微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、EEPROM等各种必要功能和外设。

3.嵌入式操作系统:(书P6)

是一种支持嵌入式系统应用的操作系统软件,是嵌入式系统(包括硬件系统和软件系统)极为重要的组成部分。是嵌入式系统的灵魂,是嵌入式应用软件的基础和开放平台,它是一段嵌入在目标代码中的软件,用户的其他应用程序都建立在操作系统之上。

4.SOC:片上系统,即System On Chip ,以微处理器为核心,集成了多种功能 5.SOPC:System-on-a-Programmable-Chip,即可编程片上系统。 6.CISC (书P15)

复杂指令集计算机(Complex Instruction Set Compurter),这类计算机偏重于由硬件执行指令

7.RISC (书P15)

精简指令集计算机(Reduced Instruction Set Computer )

这类计算机设计的中心思想是精简指令集的复杂度,简化指令实现的硬件设计 8.IP核

IP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。 9.流水线技术 流水线(pipeline)技术是指程序执行时多条指令重叠进行操作的一种准并行处理实现技术。 10.流媒体 (书P299)

采用流式传输的方式在Internet播放的媒体格式。嵌入式流媒体播放器以嵌入式处理器PXA270为核心。

11.RTOS:即实时操作系统,是针对不同处理器优化设计的高效率实时多任务内核 12.JTAG:JTAG(Joint Test Action Group,联合测试行为组织)调试接口。 13.GUI

图形用户界面(Graphical User Interface,简称 GUI,称图形用户接口) 即采用图形方式显示的计算机操作用户界面。 14.交叉编译环境 (P199)

交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。 15.冯 诺依曼结构

是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。16.哈佛结构

是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。

二.简答题

1.ARM处理器的工作状态与切换方法?说明ARM处理器支持的7种运行模式及功能,说明ARM处理器的异常类型及异常处理过程(书P27)

处理器工作模式 功能

用户模式(usr)正常程序执行模式

快速中断模式(fiq) 用于高速数据传输和通道处理 外部中断模式(irq) 用于正常的中断处理 管理模式(svc)操作系统保护模式

数据访问终止模式(abt) 用于虚拟存储及存储保护

未定义指令终止模式(und) 用于支持硬件协处理器的软件仿真 系统模式(sys)用于运行特权级的操作系统任务 注:除用户模式外,其他6种模式称为特权模式 7种异常,分别为:

复位,未定义指令,软件中断,指令预取中止,数据中止, 外部中断请求(IRQ),快速中断请求(FIQ) 异常处理过程:

对异常响应(具体步骤在书上32~35页) 从异常返回(具体步骤在书上35~37页)

2.PXA270处理器结构框图,PXA270处理器内部件和接口的主要功能。

高速基带协处理器;丰富的串行外设;支持JTAG调试;片内集成跟踪缓冲区,具有硬件监视特性;实时时钟;操作系统定时器;LCD控制器;USIM接口;低功耗;高性能的存储器控制;灵活的时钟;系统附属外设单元;中断控制器(详见P139)

图5.2 PXA270结构框图

3.PXA270时钟管理单元结构图,PXA270时钟管理单元主要功能。

时钟管理为各个外围器件提供时钟。负责执行处理器的复位、时钟、能量管理及控制外部能耗管理芯片,来达到对处理器功耗或者执行某些单独操作的能耗优化。时钟系统主要包括以下五个时钟源;

① 13MHz振荡器,产生PLL的参考时钟和串口单元的时钟。 ② 32.768kHz振荡器,用于低功耗模式和实时时钟单元 ③ 外围PLL,用于产生外围总线和外围单元的固定频率。

④ 核心PLL,用于产生内核、LCD控制器。内存控制器、系统总线的可编程时钟频率。 ⑤ 存储控制器时钟输出,设置存储器控制器时钟频率,让它和系统总线频率相同。

图5.6 PXA270时钟结构图

4.SD卡的工作模式和引脚定义,SD卡接口电路。

SD卡引脚定义:

SD卡工作模式:SD模式、SPI模式 SD卡接口电路:

5.用时序图描述I2C总线的数据传输过程,图示I2C接口应用实例。

(1)开始:主设备产生启动信号,表明数据传输开始。

(2)地址:主设备发送地址信息,包含7位的从设备地址和1位的数据方向指示位(读(1)或写(0)位,表示数据流的方向)。

(3)数据:根据指示位,数据在主设备和从设备之间传输。数据以8位传输,重要的位放在前面;传输多少量的数据没有限制。接收器产生1位的ACK(应答信号)表明收到了每个字节。传输过程可以被中止和重新开始。 (4)停止:主设备产生停止信号

I2C总线与使用I2C总线的EEPROM芯片KS24C080C连接电路如下图所示。

6. 图示PXA270扩展64MB Flash存储器与64MB SDRAM 存储器电路。

Flash存储器设计:Flash存储器(内存)作为一种非易失性存储器,在系统中通常用于

存放操作系统映像、程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。Flash选用的是Intel公司的RC28F256 P30C120,双片构成64MB的并行接口Flash。PXA270复位后访问的是低地址空间(第一条指令在0x0000 0000处),因此引导Flash的片选采用nCS0,其缺省地址空间是0x00000000~0x03FF FFFF,共64MB。单片Flash为16位数据总线,采用两片Flash数据总线并行连接,与PXA270为32位数据总线连接。

篇三:嵌入式复习资料

书后练习

习题1

(1) 嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用

系统对功能、可靠性、成本、体积、功耗等方面有特设要求的专用计算机系统。

(2) 嵌入到对象体系中的专用计算机系统。嵌入、专用、与计算机系统是嵌入式系统的

三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。

(3) 嵌入式系统按形态可分为设备级(工控机)、板级(单极、模块)、芯片级。

(4) 嵌入式系统由硬件和软件两部分组成,硬件一般由高性能微处理器和外围接口电路

组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)链接。

(5) 嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层

组成。

(6) 在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式

Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、Linux内核文件系统、用户应用程序。

(8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即嵌入式微控制器、嵌入式微处理器、嵌入式数字信号处理器和嵌入式片上系统。

(10)ARM7TDMI中,T表示支持Thumb指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。

(12)ARM微处理器有两种工作状态:Thumb状态、ARM状态。

(13)通常寄存器分为三类:未分组寄存器、分组寄存器、程序寄存器。

(15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC是当前CPU的两种架构。

2.思考与简答

(1)简述嵌入式系统的特点

解:①系统内核小②专用性强③运行环境差异大④可靠性要求高⑤系统精简和高实时性操作系统⑥具有固化在非易失性存储器中的代码⑦无自举开发能力

(2)简述嵌入式系统的应用领域

解:工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境工程与自然、机器人

(3)简述嵌入式系统的发展趋势

解:(1)新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。

(2)Linux、Windows CE、Palm OS等嵌入式操作系统迅速发展。(3)嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

(4)简述嵌入式微处理器的特点

解:①实时多任务,很强的支持能力②具有很强的存储区保护功能③可扩展处理器结构④功耗低

(14)简述嵌入式操作系统的种类和特点

解:

uC/OS-II:可应用于8位,16、32位单片机或DSP

windowsCE:微软开发的一个开放的,可升级的32位嵌入式系统,是基于掌上型电脑类的电子设备操作系统

VxWorks:专门为实时嵌入式系统设计开发的

Linux:类似于UNIX的操作系统

Palm OS:是一个32位的嵌入式操作系统

(16)简述嵌入式系统的结构

解:

硬件结构软件结构

(17)简述嵌入式系统开发流程、开发要点。

解:(1)系统需求分析

(2)体系结构设计

(3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。

(4)系统集成

(5)系统测试

习题2

1. 填空题

(1)交叉开发环境是由开发主机和目标板两套计算机系统构成的。

(3)交叉编译的主要特征是某机器中执行的程序代码不是在本机编译生成,而是由另台机器编译生成的,一般把前者称为目标机,后者称为宿主机。

(4)基于ARM平台的交叉编译工具链主要有:arm-linux-*和arm-elf-*。

(5)arm-linux-*是针对Linux程序的开发环境的

(6)arm-elf-*是针对uCLinux程序的开发环境

(11)TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行文件传输的简单协议,主要基于UDP协议来实现。

2.思考与简答

(2)交叉开发环境主要由哪些工具组成?

解:交叉调试环境包括宿主机端的交叉调试器和目标机端的调试代理。

(3)简述采用交叉编译的主要原因?

解:采用交叉编译的主要原因有两个:首先,在嵌入式系统开发的起始阶段,目标平台尚未建立,因此需要做交叉编译,来生成所需的BootLoader以及操作系统内核;其次,当目标平台能够启动之后,由于目标机资源的限制,不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的宿主机中进行

(4)简述建立交叉编译工具链的方法。

解:①编写C语言或汇编语言源程序②生成目标文件③编写链接脚本文件④用链接器生成最终的目标文件⑤生成二进制代码⑥反汇编目标代码

(5)arm-linux-*和arm-elf-*的区别

解:arm-linux-*和arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。

习题3

1. 填空题

(1)目前,在嵌入式系统开发中,使用的主要编程语言是C和汇编。

(2)从程序员的角度看,函数库实际上就是一些头文件(.h)和库文件(.so或.a)的集合。

(3)Linux下大多数函数默认将头文件放到/usr/include目录下,而库文件放到/usr/lib目录下。

(4)静态库也叫做档案(archive),可以认为是一些目标代码的集合,静态库的文件名按惯例以“.a”作为文件后缀名。

(5)共享库是在程序启动时被加载到执行程序中的,并且可以被多个执行程序共享使用。

(6)GCC(GNU Compiler Collection)是一组编译工具的总称,主要的任务是预处理和编译,并且提供了与编译器紧密相关的运行库(libgcc_s.so、libstdc++.so等)的支持。

(7)Makefile文件规则包含两个部分:依赖关系和生成目标的方法。

(8)编程库是指始终可以被多个Linux软件项目重复使用的代码集。

(9)在汇编语言中,用助记符代替操作码,用地址符号代替地址码。

(10)PC机上,对于x86系列的处理器,有AT&T和Inter两种语法格式。

(11)目前常用的ARM编译环境有2种:ARM ASM、GNU ARM ASM。

(12)伪操作是ARM汇编语言源程序里的一些特殊助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序汇编期间由汇编程序处理。

(13宏指令是由用户按照宏定义格式编写的一段程序,其中语句可以是指令、伪操作、伪指令,甚至是已定义的宏指令。

(14)用户可以通过AREA伪操作来定义一个段。

(15)汇编源程序的缺省入口是—start 标号,用户也可以在链接脚本文件中用ENTRY标志指明其它入口点。

(16)为了使C语言程序和汇编程序之间能够互相调用,必须为子程序间的调用制定规则,在ARM处理器中,这个规则被称为ATPCS规则。

(18)在ARM处理器平台上的底层驱动开发,通常会有两种方式:一种是脱离操作系统的裸机驱动设计方法,这与以前在8位机和16位机上的常用开发方式类同。另一种就是基于操作系统的底层驱动设计方法。

(21)ELF格式文件有3类:可重定位的目标文件、可执行文件、共享库。

(22)可从两个视角了解ELF文件格式:程序链接的视角、程序执行的视角。

2.思考与简答

(1)简述GCC软件包里包含哪些工具,他们的作用是什么?

解:①源代码预处理程序cpp cpp0 ②C编译器cc,ccl cclplusgcc③C++编译器c++,cclplus g++

(1) 简述编译C语言源程序时的基本流程。

解:源程序-----预处理器---编译器----汇编器----链接器---可执行程序

(2) 简述gcc的基本用法

解:GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

-c,只编译,不链接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。

-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项

-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。

-O2,比-O更好的优化编译、链接,当然整个编译、链接过程会更慢。

(3) 简述GNU make工具的作用,以及GNU make工作流程

解:GNU make是一个命令工具通过在shell提示符下输入make命令调用。不过在执行make之前,需要一个命名为Makefile的特设文件来告诉make需要做什么,该怎么做。通常,make工具被用来进行工程编译和程序链接。

make的执行过程如下:

① 依次读取变量“MAKEFILES”定义的makefile文件列表

②读取工作目录下的makefile文件

② 依次读取工作目录makefile文件中使用指示符“include”包含的文件

④查找重建所有已读取的makefile文件的规则

⑤初始化变量值并展开那些需要立即展开的变量和函数并根据预设条件确定执行分支 ⑥根据“终极目标”以及其他目标的依赖关系建立依赖关系链表

⑦执行除“终极目标”以外的所有的目标的规则

⑧执行“终极目标”所在的规则

(4) 简述Makefile文件的作用

解:makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率

习题4

1. 填空题

(1)引导加载程序是计算机系统加电后运行的第一段软件代码。对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。

(2)一个嵌入式Linux系统从软件的角度来看,通常可以分为四个层次:引导加载程序、Linux内核、文件系统用户应用程序

(3)大多数BootLoader都包含两种不同的操作模式:启动加载模式、下载模式

习题5

1. 填空题

(1)模块是一种目标对象文件,需要在内核空间执行,可以把它看做是一组已经编译好而且已经链接成可执行文件的程序。

(2)内核移植主要是修改和硬件平台相关的代码。移植的难道取决于两种硬件平台的差异。Linux对特定硬件平台的软件称为板级支持包 BSP。

(3)典型的内核映像是zImage,包含自引导程序和压缩两部分

习题6

1.填空题

(1)为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS,并为各类文件系统提供一个统一的操作界面和应用编程接口。

(2)Linux启动时,第一个必须挂载的是根文件系统 ,之后可以自动或手动挂载其他文件系统

(3)闪存主要有NOR和NAND两种技术

(4)在嵌入式Linux下,MTD(存储技术设备)为底层硬件(闪存)和上层(文件系统)之间提供一个统一的抽象接口。

补充:

1、 嵌入式系统的定义

解:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、 嵌入式ARM和单片机的区别

解:arm是单片机的一种,51也是,但是arm的ROM和RAM远大于51,而且I/O口功能和处理速度也是两个级别的,arm能上很多操作系统,51只能勉强上极其简单的实时操作系统,所以arm常用来开发手机登多媒体产品,51只能完成有限的实时控制功能,形象一点说,51和arm的等级差别就像手机和电脑的等级差别。

3、 英文缩写:

ARM(Acorn RISC Machine)

板级支持包BSP(Bulk Synchronous Parallel)