ARM嵌入式基础知识

ARM嵌入式基础知识
ARM嵌入式基础知识

ARM嵌入式

目录

一、开发工具

二、操作系统

嵌入式linux与ARM开发板的入门建议

一、开发工具

二、操作系统

嵌入式linux与ARM开发板的入门建议

展开

ARM嵌入式简介

ARM(Advanced RISC Machines),既可认为是一个公司的名字,也可认为是对一类微处理器的统称。

ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。

1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器

75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面。

ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。

ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。

根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统的核心是嵌入式微处理器。

今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机

顶盒、信息加电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。

用ARM处理器做的嵌入式系统更是前途广阔,接下来就简介开发工具、操作系统等研发设计及制造的公司或组织。

编辑本段

一、开发工具

ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。

用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。

使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成

(一) ARM SDT

ARM SDT的英文全称是ARM Software Development Kit ,是ARM公司(为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。ARM SDT 经过ARM公司逐年的维护和更新,目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM ADS 1.0,取ARM SDT而代之,今后将不会再看到ARM SDT的新版本。

ARM SDT由于价格适中,同时经过长期的推广和普及,目前拥有最广泛的ARM 软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成在自己的产品中,比如美国EPI公司的JEENI仿真器。

ARM SDT(以下关于ARM SDT的描述均是以版本 2.50为对象)可在Windows95、98、NT以及Solaris 2.5/2.6、HP-UX 10上运行,支持最高到ARM9(含ARM9)的所有ARM处理器芯片的开发,包括StrongARM。

ARM SDT包括一套完整的应用软件开发工具:

*armcc ARM的C编译器,具有优化功能,兼容于ANSI C。

*tcc THUMB的C编译器,同样具有优化功能,兼容于ANSI C。

*armasm 支持ARM和THUMB的汇编器。

*armlink ARM连接器,连接一个和多个目标文件,最终生成ELF格式的可执行映像文件。

*armsd ARM和THUMB的符号调试器。

以上工具为命令行开发工具,均被集成在SDT的两个Windows开发工具ADW 和APM中,用户无需直接使用命令行工具。

*APM Application Project Manageer,ARM工程管理器,完全图形界面,负责管理源文件,完成编辑、编译、链接并最终生成可执行映像文件等功能。

(二) ADS

ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM 处理器下最主要的开发工具。ADS 是全套的实时开发软件工具,包编译器生成的代码密度和执行速度优异。可快速低价地创建ARM 结构应用。ADS包括三种调试器ARMeXtended Debugger, AXD 向下兼容的ARMDebugger for Windows/ARM Debugger forUNIX 和ARM 符号调试器。其中AXD 不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。该产品还包括RealMonitor?(可以在前台调试的同时断点续存并且在不中断应用的情况下读写内存跟踪调试工具)。

ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经发布到2.2。但国内大部分开发者使用的均是1.2版本。

(三) RealView MDK

RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%

RealView MDK的突出特性:

菜鸟的阿拉伯飞毯——启动代码生成向导,自动引导,一日千里

启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的µVision3工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。。

高手的无剑胜有剑——软件模拟器,完全脱离硬件的软件开发过程

RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。

专家的哈雷望远镜——性能分析器,看得更远、看得更细、看得更清

RealView MDK的性能分析器好比哈雷望远镜,让您看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。

业界最优秀的编译器——RealView 编译器,代码更小,性能更高

RealView MDK的RealView编译器与ADS 1.2比较:

代码密度:比ADS 1.2编译的代码尺寸小10%;

代码性能:比ADS 1.2编译的代码性能高20%。

配备ULINK2仿真器+ Flash编程模块,轻松实现Flash烧写

RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。

绝对的高性价比——国际品质,本土价格

RealView MDK中国版保留了RealView MDK国际版的所有卓越性能,而产品价格和国内普通开发工具的价格差不多;另外我们还根据不同需求,专门定制了4个版本,以满足工程师们不同的需要。这绝对是您选择开发工具的首选。

更贴身的服务——专业的本地化的技术支持和服务

RealView MDK中国版用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将为国内工程师们开发出更有竞争力的产品提供更多的助力

(四) GNU

GNU是“GNU‘s Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU 计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。

1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU 计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions

到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器GCC,以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。

1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系

统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd 依然在开发中,目前已经发布Beta版本。)

许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。

(五) ARM REALVIEW DEVELOPER SUITE

RealView Developer Suite工具是ARM公司是推出的新一代ARM集成开发工具。支持所有ARM 系列核,并与众多第三方实时操作系统及工具商合作简化开发流程。开发工具包含以下组件:

· 完全优化的ISO C/C++编译器

· C++ 标准模板库

· 强大的宏编译器

· 支持代码和数据复杂存储器布局的连接器

· 可选 GUI调试器

· 基于命令行的符号调试器(armsd)

· 指令集仿真器

· 生成无格式二进制工具、Intel 32位和Motorola 32位ROM映像代码的指令集模拟工具

· 库创建工具

· 内容丰富的在线文档

(六) IAR EWARM

Embedded Workbench for ARM 是IAR Systems 公司为ARM 微处理器开发的一个集成开发环境(下面简称IAR EWARM)。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。

IAR Systems 公司目前推出的最新版本是IAR Embedded Workbench for ARM version 4.30。这里提供的是32k 代码限制、但没有时间限制的Kickstart版。

EWARM 中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM 内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAR EWARM 的功能和使用方法。

IAR EWARM 的主要特点如下:

1、高度优化的IAR ARM C/C++ Compiler

2、IAR ARM Assembler

3、一个通用的IAR XLINK Linker

4、IAR XAR 和XLIB 建库程序和IAR DLIB C/C++运行库

5、功能强大的编辑器

6、项目管理器

7、命令行实用程序

8、IAR C-SPY 调试器(先进的高级语言调试器

(七) KEIL ARM-MDKARM

Keil uVision调试器可以帮助用户准确地调试ARM器件的片内外围功能(I2C、 CAN、UART、SPI、中断、I/O口、A/D转换器、D/A转换器和PWM模块等功能)。ULINK USB-JTAG转换器将PC机的USB端口与用户的目标硬件相连(通过JTAG或OCD),使用户可在目标硬件上调试代码。通过使用Keil uVision IDE/调试器和ULINK USB-JTAG转换器,用户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。

支持Philips、Samsung、 Atmel、 Analog Devices、 Sharp、 ST等众多厂商ARM7内核的ARM微控制器。

高效工程管理的uVision3集成开发环境

* Project/Target/Group/File的重叠管理模式,并可逐级设置;

* 高度智能彩色语法显示;

* 支持编辑状态的断点设置,并在仿真状态下有效。

高速ARM指令/外设模拟器

* 高效模拟算法缩短大型软件的模拟时间;

* 软件模拟进程中允许建立外部输入信号;

* 独特的工具窗口,可快速查看寄存器和方便配置外设;

* 支持C调试描述语言,可建立与实际硬件高度吻合的仿真平台;

* 支持简单/条件/逻辑表达式/存储区读写/地址范围等断点。

多种流行编译工具选择

* Keil高效率C编译器;

* ARM公司的ADS/RealView 编译器;

* GNU GCC 编译器;

* 后续厂商的编译器。

(八) MULTI 2000

Multi 2000是美国Green Hills软件公司开发的集成开发环境,支持

C/C++/Embedded C++ /Ada 95/Fortran编程语言的开发和调试,可运行于Windows 平台和Unix平台,并支持各类设备的远程调试。

Multi 2000支持Green Hills公司的各类编译器以及其它遵循EABI标准的编译器,同时Multi 2000支持众多流行的16位、32位和64位处理器和DSP,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等,并支持多处理器调试。

Multi 2000包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。

(九) Embest IDE

Embest IDE英文全称是Embest Integrated Development Environment,是深圳市英蓓特信息技术有限公司推出的一套应用于嵌入式软件开发的新一代集成开发环境。

Embest IDE是一个高度集成的图形界面操作环境,包含编辑器、编译器、汇编器、链接器、调试器等工具,其界面同Microsoft Visual Studio类似。Embest IDE支持ARM、Motorola等多家公司不同系列的处理器,对于ARM系列处理器,目前支持到ARM9系列,包括ARM7、ARM5等低系列芯片。

(十) Hitool for ARM

由Hitool International Inc出品,是一种较新的ARM嵌入式应用软件开发系统,主要包括Hitool ARM Debugger、GNU Compiler(内建)、JTAG cable、评估板以及嵌入式实时操作系统ThreadX等。其中编译器模块可以替换成ARM ADS Compiler或ARM SDT Compiler。

其主要特点如下:

1) 近似MS Visual Studio的调试界面风格,可以在Win98/ME/NT等多种Win32环境下运行;

2) 优秀的工程管理器、源代码和二进制代码编辑器、字符串搜索引擎以及调试目标的自由拖放等功能;

3) 支持汇编、C以及C++源码级调试,不仅可以通过串口和并口进行本地调试,也可以通过TCP/IP进行远端调试;

4) 集成了S-Record、Binary和Disassembly格式的内存上下载工具,Flash 编程工具;

5) 支持多种常用的Jtag Cable,具备通过宏和脚本实现的自动化调试功能。

(十一) JEENI仿真器

JEENI仿真器是美国EPI公司生产的专门用于调试ARM7系列的开发工具。它与PC之间通过以太网口或串口连接,与ARM7目标板之间通过JTAG口连接。该仿真器使用独立电源。

JEENI仿真器支持ARM/THUMB指令,支持汇编/高级语言调试。用户应用程序通过JEENI仿真器下载到目标RAM中。通过JEENI仿真器,用户可以观察/修改ARM7的寄存器和存储器的内容,用户可以在所下载的程序上设置断点,用户可以以汇编/高级语言单步执行程序,也可以全速运行程序,用户可以观察高级语言变量的数据结构及内容并对变量的内容在线修改。

JEENI 内部使用了一片带有高速缓存的 ARM 处理器,支持对调试操作的快速响应,比如:单步、读写存储器、读写寄存器和下载应用程序到目标板。JEENI 的这种结构,允许以太网接口在处理器执行JTAG指令的同时访问存储器。这种设计极大的提高了下载速度。

JEENI仿真器能够很好地与SDT2.5工具连接,用户可使用SDT的编译器和调试界面。JEENI 对那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用户来说是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多数第三方的调试器也都支持 JEENI

(十二) ULINK2 仿真器

ULINK2是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink 仿真器的升级版本。ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG, SWD和 OCDS)、Flash编程…

ULINK2 新特点:

标准Windows USB驱动支持ULINK2即插即用

支持基于 ARM Cortex-M3的串行调试

支持程序运行期间的存储器读写、终端仿真和串行调试输出

支持10-pin 连接线 (也支持20-pin 连接线)

ULINK2主要功能:

USB通讯接口高速下载用户代码

存储区域/寄存器查看

快速单步程序运行

多种程序断点

片内Flash编程

(十三) Multi-ICE

Multi-ICE是ARM公司自己的JTAG在线仿真器,目前的最新版本是2.1版。

Multi-ICE的JTAG链时钟可以设置为5 kHz到10 MHz,实现JTAG操作的一些简单逻辑由FPGA实现,使得并行口的通信量最小,以提高系统的性能。

Multi-ICE硬件支持低至1V的电压。Multi-ICE 2.1还可以外部供电,不需要消耗目标系统的电源,这对调试类似手机等便携式、电池供电设备是很重要的。

Multi-ICE 2.x支持该公司的实时调试工具MultiTrace,MultiTrace包含一个处理器,因此可以跟踪触发点前后的轨迹,并且可以在不终止后台任务的同时对前台任务进行调试,在微处理器运行时改变存储器的内容,所有这些特性使延时降到最低。

Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM 10和Intel Xscale微结构系列。它通过TAP控制器串联,提供多个ARM处理器以及混合结构芯片的片上调试。它还支持低频或变频设计以及超低压核的调试,并且支持实时调试。

Multi-ICE提供支持Windows NT4.0、Windows95/ 98/2000/Me、HPUX 10.20 和 Solaris V2.6/7.0的驱动程序。

Multi-ICE主要优点:

快速的下载和单步速度。

用户控制的输入/输出位。

可编程的JTAG位传送速率。

开放的接口,允许调试非ARM的核或DSP。

网络连接到多个调试器。

目标板供电,或外接电源

编辑本段

二、操作系统

(一)μC/OS-II

μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息、队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。

(二) VxWorks

VxWorks 是美国 Wind River System 公司(以下简称风河公司,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、防真环境和工具。

VxWorks操作系统有以下部件组成:

内核(wind):

多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)?

任务间的同步?

进程间通信机制?

中断处理?

定时器和内存管理机制?

I/O 系统?

VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。

VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、消息登录、内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和 ANSIC标准。

在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。

嵌入式Vxworks系统的主要应用领域主要有以下几方面:

1.数据网络:如:以太网交换机、路由器、远程接入服务器等

2.远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统等

3.医疗设备:如:放射理疗设备

4.消费电子:如:个人数字助理等

5.交通运输:如:导航系统、高速火车控制系统等

6.工业:如:机器人

7.航空航天:如:卫星跟踪系统

8.多媒体:如:电视会议设备

9.计算机外围设备:如:X终端、I/O 系统等

总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。

VxWorks6.0版本新增功能:

风河通用平台VxWorks版(GPP)是所有设备软件应用程序的首要基础平台。此通用平台基于全球应用最广泛的运行时操作系统--VxWorks而构建。最新版本(VxWorks 6.1)中的各运行时组件可向后兼容VxWorks的早期版本。此最新版本包含了增强的内存保护、容错管理,并支持最新的网络和安全协议以及设备与企业间的连通性。

通用平台组合了最为严格和确定性的实时操作系统,其产品完全集成了现有的产品开发解决方案,从而能够满足贵企业的各种苛刻需求。它无缝集成了业界标准的RTOS(VxWorks 6.1)、功能强大的开发套件(Workbench 2.3)、网络和安全协议、用于工程人员快速启动项目的培训以及迅速扩展您开发团队综合技能的各种专业服务。

(三)pSOS

pSOSystem是美国系统集成公司(Integrated Systems, Inc. 简称ISI公司,现已与美国WindRiver系统公司合并)根据几十年从事嵌入式实时系统理论研究与实践活动而设计开发的实时嵌入式操作系统。pSOSystem 集成了一整套嵌入式软件模块、工具和服务。作为嵌入式系统微内核设计的先驱者之一,ISI公司将pSOSystem构造成适于嵌入式应用系统开发、在嵌入式实时领域具有领导地位的实时操作系统。pSOSystem从ISI 公司和许多第三厂家得到大量的支持。

pSOSystem 是一个专门为嵌入式微处理器设计和开发的模块化、高效率的实时操作系统。它提供了基于标准化开放系统的完整的多任务环境,例如:对网络文件系统的支持。

pSOSystem 的设计宗旨是为了实现高效、可靠、易于使用的嵌入式实时软件,以支持用户自己设计的或商品化的硬件系统。

pSOSystem 的每一部分都是完全“自包含”的,这种机制允许开发者根据每个应用的特殊要求对操作系统的功能和内存进行裁剪和配制。pSOSystem 的这种设计,使得开发人员对简单的独立设备及复杂的可容错多处理机系统都可以灵活配置。

pSOSystem提供了一套集成化的交叉开发工具以支持应用系统的开发。该集成环境可在PC机或工作站上运行。这些工具可通过多种连接机制与目标机通讯。

(四)Palm OS

Palm OS是Palm公司开发的专用于PDA上的一种操作系统,这是PDA上的

霸主,一度普占据了90%的PDA市场的份额。虽然其并不专门针对于手机设计,但是Palm OS的优秀性和对移动设备的支持同样使其能够成为一个优秀的手机操作系统。其最新的版本为Palm OS 5.2。目前具有手机功能的Palm PDA如Palm 公司的Tungsten W。而Handspring公司(目前已被Palm公司收购)的Treo系列则是专门使用Palm OS的手机,如Treo 270以及最新的倍受瞩目的Treo 650 Palm OS是一种32位的嵌入式操作系统,用于掌上电脑。此系统是3Com公司的Palm Computing 部开发的。(Palm Computing目前已经独立成一家公司。)Palm OS与同步软件HotSync结合可以使掌上电脑与PC机上的信息实现同步,

把台式机的功能扩展到了手掌上。目前,基于Palm OS的掌上电脑主要是3Com 的系列产品,如Palm IIIx,Palm V,Palm VII, IBM WorkPad c3用的也是Palm OS。Sony等公司也获得了Palm Computing的许可,将开发基于Palm OS的掌

上电脑。Palm OS与Windows CE间的搏斗正在展开。

(五)QNX

QNX是由一家位于加拿大的 QNX软件系统有限公司开发的实时操作系统。QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。QNX是一个微内核实时操作系统,其核心仅

提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

(六)Windows CE

WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。

WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0

(七)Linux

简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要

用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。

绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux。但有些人只把操作系统叫做"Linux"。

Linux 的历史是和GNU紧密联系在一起的。

1983年,理察·马修·斯托曼(Richard Stallman)创立了G [3]NU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的

Unix-like操作系统。自1990年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的元件,像是——函式库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unixshell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。

从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU 已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds 和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的Linux分销商之一。

编辑本段

嵌入式linux与ARM开发板的入门建议

[1]第一,学习基本的【非法词语被屏蔽】机编程。

对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS 去编程,第一个实验就是控制 led。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了学习【非法词语被屏蔽】机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎么组织这么多资源的,这些资源又是怎么由cpu、由编程进行控制的。比如说,s3c2410中有AD转换器,有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器来控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还有,norflash内部的每一个单元在这个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗?而与 norflash相对应的nandflash内

部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是什么意思?不要这个可以吗?诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。

不过先声明一下,本人并没有使用ADS对ARM9进行编程,我是学完ARM7

后直接就使用ARM9学linux系统的,因此涉及使用ADS对ARM9进行编程的问题我很难回答^_^,自己去研究研究吧。

对于这部分不久将提供一份教程,这个教程中的例程并不是我为我们所代理的板子写的,是我在我们学院实验室拿的,英培特为他们自己的实验箱写的,不过很有借鉴意义,可以作为一份有价值的参考。

第二,使用linux系统进行一些基本的实验。

在买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按照手册上的例程做一做里面的实验,虽然有点娃娃学走路,有点弱智,但是我想很多高手都会经历这个过程。

在这方面我们深蓝科技目前没有计划提供相应的例程,主要是开发板的提供商会提供很丰富的例程,我们不做重复工作,只提供他们没有的、最有价值的东西给大家。

第三,研究完整的linux系统的的运行过程。

所谓完整的linux系统包括哪些部分呢?

三部分:bootloader、linux kernel(linux内核)、rootfile(根文件系统)。

那么这3部分是怎么相互协作来构成这个系统的呢?各自有什么用呢?三者有什么联系?怎么联系?系统的执行流程又是怎么样的呢?搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统就打下了另一个重要的根基。介绍这方面的资料网上可以挖掘到几吨,自己好好研究吧。

第四,开始做系统移植。

上面说到完整的linux有3部分,而且你也知道了他们之间的关系和作用,那么现在你要做的便是自己动手学会制作这些东西。

当然我不可能叫你编写这些代码,这不实现。事实上这个3者都能在网下载到相应的源代码,但是这个源代码不可能下载编译后就能在你的系统上运行,需要很多的修改,直到他能运行在你的板子上,这个修改的过程就叫移植。在进行移植的过程中你要学的东西很多,要懂的相关知识也很多,等你完成了这个过程你会发现你已经算是一个初出茅庐的高手了。

在这个过程中如果你很有研究精神的话你必然会想到看源代码。很多书介绍你怎么阅读linux源代码,我不提倡无目的地去看linux源代码,用许三多的话说,这没有意义。等你在做移植的时候你觉得你必须去看源代码时再去找基本好书看看,这里我推荐一本好书倪继利的《linux内核的分析与编程》,这是一本针对linux-2.6.11内核的书,说得很深,建议先提高自己的C语言编程水平再去看。

至于每个部分的移植网上也可以找到好多吨的资料,自己研究研究吧,不过要提醒的是,很多介绍自己经验的东西都或多或少有所保留,你按照他说的去做总有一些问题,但是他不会告诉你怎么解决,这时就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保证能解决你的问题,因为我未必遇到过你的问题,不过我相信能给你一点建议,也许有助你解决问题。

这一步的最终目的是,从源代码的官方主页上(都是外国的,悲哀)下载标准的源代码包,然后进行修改,最终运行在板子上。

盗用阿基米德的一句话:“给我一根网线,我能将linux搞定”。

第五,研究linux驱动程序的编写。

移植系统并不是最终的目的,最终的目的是开发产品,做项目,这些都要进行驱动程序的开发。Linux的驱动程序可以说是五花八门,linux2.4和 linux2.6的编写有相当大的区别,就是同为linux2.6但是不同版本间的驱动程序也有区别,因此编写linux的驱动程序变都不是那么容易的事情,对于最新版本的驱动程序的编写甚至还没有足够的参考资料。那么我的建议就是使用、移植一个不算很新的版本内核,这样到时学驱动的编程就有足够的资料了。

这部分的推荐书籍可以参考另一篇文章《推荐几本学习嵌入式linux的书籍》。

第六,研究应用程序的编写。

做作品做项目除了编写驱动程序,最后还要编写应用程序。现在的趋势是图形应用程序的开发,而图形应用程序中用得最多的还是qt/e函数库。我一直就使用这个函数库来开发自己的应用程序,不过我希望你能使用国产的MiniGUI

函数库。盗用周杰伦的广告词就是“支持国产,支持MiniGUI”。 MiniGUI的编程比较相似Windows下的VC编程,比较容易上手,效果应该说是相当不错的,我曾使用过来开发ARM7的程序。不过MiniGUI 最大的不好就是没有像qtopia 这样的图形操作平台,这大大【非法词语被屏蔽】了他的推广,我曾经幻想过与北京飞漫公司(就是MiniGUI的版权拥有者)合作使用 MiniGUI函数库开发像qtopia这样的图形操作平台,不过由于水平有限这只能是幻想了,呵呵。

完成这一步你基本就学完了嵌入式linux的全部内容了。

还有一个小小的经验想和大家分享。我在学习嵌入式linux的过程中很少问人,客观原因是身边的老师、同学师兄都没有这方面的高手,主观原因是我不喜欢问人,喜欢自己研究解决问题。这样做有个好处,就是可以提高自己解决问题的能力,因为做这些东西总有很多问题你难以理解,别人也没有这方面的经验,也不是所有问题都有人给你答案,这时必须要自己解决问题,这样,个人的解决问题能力就显得非常关键了。因此我的建议就是一般的问题到网上搜索一下,确实找不到答案了就问问高手,还是不行了就自己去研究,不要一味去等别人帮你解决问题。

记住,问题是学习的最好机会。

参考资料

1

ARM嵌入式开发与学习资料

https://www.360docs.net/doc/0611273088.html,/demoboardbbs/default.aspx?g=pos

ts&t=776

嵌入式ARM期末考试试卷及参考答案

第一学期期末试题——嵌入式ARM(B卷) 题号一二三四五六总分 分数 说明:本试卷共四大题,试卷满分100分,考试时间120分钟。 一、填空题(请将答案填入题后括号中:共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:处理器、()、输入/输出和软件,一般 软件亦分为()和应用软件两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(),嵌入式DSP,()以及片 上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、()、()、I/O 资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(),其中实时系统亦 可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核 的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM920T采用()的内核架构。 8. ARM7TDMI采用()级流水线结构,ARM920TDMI采用()级流水线。 9 .按操作系统的分类可知,DOS操作系统属于顺序执行操作系统,UNIX操作系统属于()操 作系统,VXWORKS属于()操作系统。 10、ARM7TDMI中,T表示支持16位THUMB指令集,D表示(),M表示内嵌乘法器 MULTIPLIER,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中:共10小题,每小题2分,满分20分。 1、下面哪种操作系统不属于商用操作系统。 ( A. WINDOWS XP B. LINUX C. VXWORKS D. WINCE 2. 下面哪点不是嵌入式操作系统的特点。 ( A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 3. 下面哪种不属于嵌入式系统的调试方法。 (

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFAT,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

嵌入式 考试题1

一、简答题 1.什么是嵌入式系统?嵌入式系统的特点是什么? 答案:嵌入式系统的定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 嵌入式系统明显特点:1.嵌入式系统是一个专用计算机系统,有微处理器,可编程;2、嵌入式系统有明确的应用目的3、嵌入式系统作为机器或设备的组成部分被使用。 嵌入式系统特点:1、与应用密切相关2、实时性3、复杂的算法4、制造成本5、功耗 6、开发和调试 7、可靠性 8、体积小 2.简要说明嵌入式系统的硬件组成和软件组成。 答案:硬件组成:微处理器、存储器、输入设备、输出设备。 软件组成:嵌入式应用程序、应用程序接口、嵌入式实时操作系统、板级支持包 3.S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件? 答案:AHB总线上连接的控制器:LCD控制器,总线控制器,USB主控制器,中断控制器,存储器控制器,Nand Flash 控制器,时钟与电源管理,ExtMaster。 APB总线上连接的控制器:通用异步收发器,通用I/O端口,定时器/脉宽调制,实时时钟,看门狗定时器,A/D转换器与触摸屏,IIC总线接口,IIS总线接口,SPI串行外设接口,MMC/SD/SDIO主控制器,USB设备控制器。 4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态? 答案:7种异常,异常种类处理模式优先级 复位管理程序模式最高 数据中止中止模式次之 快速中断请求快速中断请求模式次之 中断请求中断请求模式次之 指令预取中止中止模式次之 未定义指令未定义模式最低 软件中断管理程序模式最低 5.存储器生长堆栈可分为哪几种?各有什么特点? 答案:满递减堆栈(特点是栈指针指向堆栈的最后一个已使用的地址,堆栈向存储器地址减小方向生长)、满递增堆栈(特点是指针指向堆栈的最后一个已使用的地址,堆栈向存储器地址增大方向生长)、空递减堆栈(特点是指SP指向堆栈的第一个没有使用的地址,堆栈向存储器地址减小方向生长)、空递增堆栈(特点是指SP指向堆栈的第一个没有使用的地址,堆栈向存储器地址增大方向生长) 6.简述存储器系统层次结构及特点。 答案:存储系统分为三个层次:高速缓冲存储器cache,主存储器和辅助存储器构成。 特点:Cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列,存放的是最近一段时间微处理器使用最多的程序代码和数据,Cache一般集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的存储容量大小依不同

ARM嵌入式期末考试题库精心整理版

1、智能物联网工程师群,免费共享100G学习资料 2、 3、qq群号码:538435543 4、 5、欢迎大家加入交流经验,互相学习分享 6、cortex-A8 中只有CP14和CP15 两种协处理器。CP14用来测试(test),CP15用作系 统控制. 7、cortex-A8中协处理器CP15是协助处理器做管理工作,属于A8内部。 8、cortex-A8的通用寄存器和状态寄存器属于A8内部的32位存储器。 9、跳转指令BL只能实现前后32M的小范围的跳转,使用“LDR PC,..”伪指令可以实 现大范围的跳转。大范围4G 10、汇编中用#注释(F)。@ 错误,是@符号注释 11、根据ATPCS标准,子程序间通过寄存器R0、R1、R2、R3来传递参数,如果参数 多余4个,则多出的部分用堆栈传递,返回值用R0传递。 12、寄存器R13用作数据栈指针,记作SP。 13、寄存器R14称为链接寄存器,记作LR,它用于保存子程序的返回地址。 14、寄存器R15是程序计数器,记作PC,不能用作其它用途。 15、汇编的优点是效率高,体积小。(对) 16、S5PV210内部对模块的管理是分区域管理的,分为那几个区域()、()、 ()。 不清楚答案,查询得知,S5PV210由ARM内核、系统外围设备、存储器子系统、多媒体加速、电源管理、连接性模块等模块组成,p42 17、S5PV210内部有三条总线,他们是APB总线,频率100兆以下、AHB总线,200-100 兆、AXI总线。 18、S5PV210的AHB总线的工作频率范围是200M~100M。 19、S5PV210的APB总线的工作频率范围是100M以下。 20、CortexA8的工作频率高达(1GHZ),定时器的PLCK的值是(66MHZ)。 21、S5PV210内部有( 5 )个定时器,其中有PWM引脚的有定时器(T0 T1 T2 T3 ),有死区功能的有定时器(T0 T1 )。 22、占空比就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比。 23、可以通过改变高低电平的时间改变占空比,也可以通过修改时钟周期的时间改变占 空比。(F)前面话对,后面话错 24、ARM 处理器有两个级别的中断请求,他们分别是(fiq )和(irq )。ARM上实现内存管理的单元叫(MMU )。 25、ARM的全称是(Advanced RISC Machine) 目前常用的嵌入式外围设备按功能可以分为(存储设备)、(通信设备)和(显示设备)。硬件设备=嵌入式处理器+外围设备 外围设备是完成存储通信调试显示等辅助功能的其他部件。目前常用,存储设备(ram,sram,flash),通信设备(rs232接口,),显示设备(显示屏)。 26、嵌入式linux操作系统属于免费的操作系统。 27、ARM 有3种含义,它是(一个公司名词),是(一类微处理器通 称),还是(一种技术)的名称。 28、ARM支持(大端)和(小端)两种内存模式。

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

《ARM嵌入式系统基础教程》期末试题

《ARM嵌入式系统基础教程》期末试题 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:处理器、(存储器)、输入/输出和软件,一般软件亦分为(操作系统)和应用软件两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制器),嵌入式DSP,(嵌入式微处理器)以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、(进程间通信)、(内存管理)、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时操作系统)和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务调度)。 6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。 7、哈佛体系结构数据空间和地址空间(分开),ARM920T采用(哈佛体系)的内核架构。 8. ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。 9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、下面哪种操作系统不属于商用操作系统。 (B) A. windows xp B. Linux C. VxWorks D. WinCE 2. 下面哪点不是嵌入式操作系统的特点。 (C) A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 3. 下面哪种不属于嵌入式系统的调试方法。 (D) A. 模拟调试 B. 软件调试 C. BDM/JTAG调试 D. 单独调试 4. 在嵌入式ARM处理器中,下面哪种中断方式优先级最高。 (A) A. Reset B. 数据中止 C. FIQ D.

嵌入式基础考试题目

1、用PWM方式,使LED灯闪烁。 #include "" void PwmInit(void); int main(void){ PINSEL0=0x00080000; PwmInit(); while(1){ PWMMR0=4000; PWMMR6=2000; } return 0; } void PwmInit(){ PWMPR=0x00; PWMMCR=0x02; PWMMR0=4000; PWMMR6=2000; PWMLER=0x41; PWMPCR=0x4000; PWMTCR=0x09; } 2、用定时器匹配后引脚翻转功能使LED灯1秒闪烁一次。

#include "" #define LED 1<<3 void __irq IRQ_Time0(){ while((T0IR&0x01)==0); T0IR=0x01; VICVectAddr=0x00; } void Time0Init(){ T0PR = 99; T0MCR = 0x03; T0MR0 = 110592/4; T0TCR = 0x03; T0TCR = 0x01; T0EMR=0X30; VICIntSelect = 0x00; VICVectCntl0 = 0x24; VICVectAddr0 = (uint32)IRQ_Time0; VICIntEnable = 0x00000010; } int main(){ PINSEL0 = 0x00000080; IOCLR=LED; Time0Init(); while(1); return 1; } 3、上位机发送一个数字字符给下位机(1-8),下位机接受到这个字符若为“1”,则点亮一盏灯,“2”点亮2盏灯。。。。。。。“8”点亮8 盏灯。

arm嵌入式期末考试试题()

一、选择题(共5) 1、下面哪个不是嵌入式操作系统的特点。( C ) A.内核精简 B.专用性强 C.功能强大 D.高实时性 2、ARM指令集合Thumb指令集分别是(D )位的。 A.8,16 B.16,32 C.16,16 D.32,16 3、FIQ中断的入口地址是( A ) A.0x0000001C B.0x00000008 C.0x00000018 D.0x00000014 4、ADD R0,R1,#6,执行该指令时属于( A)寻址方式。 A.立即寻址 B.多寄存器寻址 C.寄存器直接寻址 D.相对寻址 5、寄存器R13除了可以用作通用寄存器之外,还可以作为( B ) A.程序计数器 B.堆栈指针寄存器 C.链寄存器 D.基址寄存器 6、是(B) A.78 56 34 12 B.12 34 56 78 C.87 65 43 21 D.21 43 65 87 二、填空题(共5个) 1、嵌入式系统体系结构一般具有冯.诺依曼和哈佛两种基本形式,且ARM7采用冯.诺依曼体系结构。 2、从编程角度看,ARM微处理器一般有ARM和Thumb两种工作状态。 3、ARM9处理器使用了程序存储器和数据存储器分开独立编址的哈佛结构,并采用5级指令流水线,5级流水线操作分别是取指、译码、执指、缓冲和写回。 4、ARM微处理器支持字节、半字、字三种数据类型,数据的位数分别为8位、16位、32位,其中字必须以4字节为边界对齐,半字必须以2字节为边界对齐。 5、复位异常的优先级最高,因此在任何情况下,只要进入该状态系统无条件地将PC 指向0x00000000处,以执行系统第一条指令。 三、判断题(共5个) 1、ARM7采用3级指令流水线,即取指令、译码和执行指令。(√)

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适、 1应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。、 2从层次角度来看,嵌入式

系统由四大部分组成,分别是:应用软件层、操作系统层、、 3板级支持包(或硬件抽象层) 和硬件层。嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。、 4嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统、 5集成和系统测试。需求分析包括:功能性需求分析和非功能性需求分析。 6、确定输入信号是数字信号还 是模拟信号属于功能性需求。 7、确定系统的物理尺寸和重量属于非功能性需求。 8、在嵌 入式系统的设计过程中,其中规格说明解决“做什么”。 9、在嵌入式系统的设计过程中,其 中体系结构设计解决“如何做”。 10、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 11、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段 完成。、 12在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。、13在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。、 14在嵌入式系统 的设计过程中,完成版图设计应在构件设计阶段完成。、15在嵌入式系统的设计过程中,完 成软件设计应在构件设计阶段完成。 16、反映嵌入式系统设计人员的水平能力主要在于总体 设计(需求分析、规格说明和体系 17、结构设计)和系统调试。设计流程指的是设计过程中所经历的过程步骤。、 18核的模块级重用和基于平台的系统级重用。 IP 设计重用技术主要分为基于19、 软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验 20、证几个阶段组成。嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和、21页共页第 1 44 《嵌入式系统》试题库

嵌入式ARM期末考试试卷A

期末试题——嵌入式ARM(A卷) 说明:本试卷共四大题,试卷满分100分,考试时间120分钟。 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式DSP处理器),(嵌入式微处理器)以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内存管理)、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。 6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。 7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用(冯诺依曼体系)的内核架构。 8. ARM7TDMI采用( 3 )级流水线结构,ARM920TDMI采用( 5 )级流水线。 9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。( D ) (A) 处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断 (C) 处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。( D ) (A) DOS (B)unix (C) Windows xp (D)linux 3、下面哪个选项不是SUB设备的特点。( B ) (A) 串行通信方式(B)不可热拨插 (C) 分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。( C ) (A) Symbian (B)WinCE (C) uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。( A )

《ARM嵌入式系统基础教程》试题及答案

《ARM嵌入式系统基础教程》试题及答案 一、选择题 1、以下说法不正确的是(B )。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2下列描述不属于RISC计算机的特点的是(C)。 A.流水线每周期前进一步。B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 3 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容 为(D)。 A、0x21 B、0x68 C、0x65 D、0x02 4 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A.先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。 5 RS232-C串口通信中,表示逻辑1的电平是(D )。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A.R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 7 IRQ中断的入口地址是(C)。FIQ的入口地址为0x0000001C A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 8 S3C2420X I/O口常用的控制器是(D)。 A.端口控制寄存器(GPACON-GPHCON)。 B.端口数据寄存器(GPADAT-GPHDA T)。 C.外部中断控制寄存器(EXTINTN)。 D.以上都是。 9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。 A. 同步 B. 互斥 C. 调度 D. 执行 10 和PC系统机相比嵌入式系统不具备以下哪个特点(C)。 A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 11 、ADD R0,R1,#3属于(A)寻址方式。 A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址 12、GET伪指令的含义是(A) A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量 13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为(C)。 A、0x00 B、0x87 C、0x65 D、0x61 14、μCOS-II操作系统不属于(C)。 A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 16、寄存器R13除了可以做通用寄存器外,还可以做(C )。

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。 13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。 14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。 15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。 16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于 IP 核的模块级重用和基于平台的系统级重用。 20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和

嵌入式技术基础与实践_习题参考答案

单片机习题参考答案 第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据及程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 3.比较MCU及CPU的区别及联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较

完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4.举例说明嵌入式系统在日常生活中的应用。 答:日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;及高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。 6.阅读光盘中【第01章(概述)阅读资料】中的“嵌入式C语言工程简明规范”,用一页纸给出嵌入式C语言工程简明规范的要点。 答:此规范主要针对单片机编程语言和08编译器而言,包括命名、注释、编码规范性等内容。建议在一个工程或者一个项目中尽量遵循相同的代码规范,而不是说你只能拥有一个代码规范。 (1)命名规则:命名清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即 "见名知意";命名风格要自始至终保持一致;命名中若使用特殊约定或缩写,要有注释说明;为了代码复用,命名中应避免适用及具体项目相关的前缀;应使用英语命名。 (2)注释:注释基本原则就是有助于对程序的阅读理解,说明程序

嵌入式题库 湖南工业大学

共6页 嵌入式试题库 1、ARM汇编语言与c++的混合编程通常用以下哪几种方式在C/C++代码中嵌入汇编指令、在汇编程序和C/C++的程序之间进行变量的互访、汇编程序、C/C++程序间的相互调用。 2、嵌入式处理器可以分为微控制器,微处理器数字信号处理器,片上系统。 3、目前世界上的四大嵌入式处理器内核分别是、、68/OOLDFIRE核。P30 4、ARM微处理器中支持字节(8位),半字(16位),字(32位),3种数据类型其中字需要对齐,半字需要 2字节对齐。P43 5、S3C2410X-/S3C2440X是三星公司出品的基于 ARM920T它与基于ARM的S3C44BOX的最大区别在于,S3C24/OX/S3C244OX内部带有全性能的内存管理单元(MMU)。P12 6、ARM7TDMI采用因此对存储器的控制没有专门的,存储器采用间的而直接的地址方式来表示实际的物理地址,没有进行段式页的转换。P50 7、LIMUX内核包含、,网络及资源管理部分。P256 8、嵌入式系统地3个基本要素是, P1 嵌入式系统发展的4个阶段分别是以单片机为核心的低级嵌入式系统,以嵌入式微处理器为基础的初级嵌入式系统,以嵌入式操作系统为标志的中级嵌入式系统,以Internet为标志的高级嵌入式系统。P3 9、嵌入式系统的硬件有电源模块,种I/O接口,总线以及外部设备和插件等组成。嵌入式系统的软件包括中间层程序、嵌入式操作系统、应用软件以及实际后用程序层。P6--7 10、目前世界上的四大嵌入式处理器内核分别是内核。P30 11、ARM处理器工作在不同模式,使用的寄存器有所不同,PC 为当前程式状态寄存器;7个通用寄存器和转台寄存器在不同模式下不同。P35 12、S3C44BOX内部除内核处,还包括许多可编程外围设备组建,这些外围设备组件的可编程功能均是通过各个可编程外围设备组件中的相关控制寄存器来完成设置的。 13、嵌入式系统地调试工具有:指令集模拟器,,在线仿真器。P23 14、嵌入式系统简单的说就是15、ARM微处理器的工作状态有两种:ARM状态和THUMB 状态,其中是指ARM工作于32位指令状态,是指ARM执行16位的THUMB指令状态,二者的状态转换是通过BX指令完成的。P33 简答题 1、基于ARM体系结构的嵌入式处理器具有哪些技术特征?并对每种技术特征予以简单的说明。P33 答:(1)单周操作:ARM指令系统在一个机器周期内完成简单和基本的操作。 (2)采用加载/存储指令结构:存储器访问指令的执行时间长,因此只采用了加载和存储两种指令对存储器进行读和写的操作,面向运算部件的操作都经过加载指令和存储指令,从存储器取出后预先存放到寄存器对内,以加快执行速度。(3)固定的32位长度指令:指令格式固定为32位长度,使指令译码结构简单,效率提高。 (4) 3地址指令格式:采用三地址指令格式、较多寄存器和对称的指令格式便于生成优化代码,降低编译开销(5)指令流水线技术:ARM采用多级流水线技术,以提高指令执行的效率。

ARM嵌入式系统期末考试试卷

选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式(B)。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一(D)。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一(C)。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式2.ARM7TDMI的工作状态包括(D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态3.下面哪个Linux操作系统是嵌入式操作系统(B)。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,(B)不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段

1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1)手机,(2)机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。)2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFAT,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。 6.Linux下的一个进程在内存里包括三部分的数据,它们是:(18) 代码段,(19)堆栈段,(20)数据段。 1.目前使用的嵌入式操作系统主要有哪几种(1) Linux,(2) Windows CE,(3) uc/OS II,(4)Android。(或VxWorks,Palm OS ,QNX,Symbian等) 2.如果按用途划分,嵌入式微处理器可分为哪类(5)嵌入式微控制器(MCU),又称为单片机,(6)嵌入式微处理器(EMPU)_,(7) 嵌入式DSP处理器,(8)嵌入式片上系统(SOC)。 3.ARM核有两个指令集,分别是:(9)ARM指令集和(10)Thumb指令集。 4.Makefile里主要包括的语法规则有哪些:(11) 显式规则,(12) 隐晦规则,(13) 变量定义,(14) 文件指示,(15) 注释。 5.大多数Bootloader都包含两种不同的操作模式,分别是:(16) 启动加载模式,(17)下载模式。 6.Linux内核的配置系统由三部分组成,它们分别是:(18)Makefile,(19) 配置文件(config.in),(20)配置工具。 RISC:reduced instruction set computer,精简指令集计算机MCU:Micro Controller Unit,微控制单元 DSP:Digital Signal Processor,数字信号处理器ROM:read-only memory,只读存储器 SWI:Software Interrupt PC:程序计数器 IRQ:外部中断请求NFS:Network 网络文件系统 SOC:System On Chip,片上系统CPSR:当前程序状态寄存器ICE:In Circuit Emulator,实时在线仿真器MMU:Memory Management Unit,内存管理单元 FIQ:快速中断请求VFS:虚拟文件系统 IPC:Inter-Process Communication内部进程间通信I R:指令寄存器 1、嵌入式开发环境主要包括哪些组件? 答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括

嵌入式系统考试试题A及答案

《嵌入式系统》考试试卷 试题总分: 100 分考试时限:120 分钟 一、填空题(每空2分,共18分) 1、PC机开机的初始化工作一般由BIOS完成,而嵌入式系统的初始化工作一般由______________完成。 2、ARM内核三级流水线机制是指指令运行过程中经过的__________、译码、执行三个阶段。 3、ARM寄存器SPSR被称为_______________寄存器。 4、uClinux与标准Linux的最大区别在于___________。 5、嵌入式系统是以应用为中心、以为基础、软硬件可、功能、可靠性、成本、体积、功 耗严格要求的专用计算机系统。 6、ARM的数据存取指令Load/Store是唯一用于寄存器和存储器之间进行的指令。 7、μC/OS中,为保护任务之间的共享数据和提供任务之间的通信,提供了操作系统任务间通信方法有:、 邮箱、,事件标志。 二、单项选择题(每题2分,共24分) 1、下列哪一项不属于嵌入式系统软件结构一般包含的四个层面。() A. 嵌入式处理器 B. 实时操作系统(RTOS) C. 应用程序接口(API)层 D. 实际应用程序层 2、一条ARM数据处理指令,例如“ADD R0,R1,#immed”中使用的立即数 #immed 是有一定限制的,下列立即 数表示中合法的是( )。 B. 0x F000000F 0000F D. 0x F080000 3、μCOS-II操作系统不属于()。 A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 4、ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是()。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 5、ARM寄存器组有()个寄存器。 A、7 B、32 C、6 D、37 6、每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是()。

ARM嵌入式系统期末考试试卷及答案

《ARM嵌入式系统》期末考试试卷 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务调度)。 2、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。 3、哈佛体系结构数据空间和地址空间(分开),ARM920T采用(哈佛体系)的内核架构。 4. ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。 5、一般而言,嵌入式系统的构架可以分为4个部分:处理器、(存储器)、输入/输出和软件,一般软件亦分为(操作系统)和应用软件两个主要部分。 6、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制器),嵌入式DSP,(嵌入式微处理器)以及片上系统。 7、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、(进程间通信)、(内存管理)、I/O资源管理。 8、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时操作系统)和软实时系统。 9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、下面哪种操作系统不属于商用操作系统。(B) A. windows xp B. Linux C. VxWorks D. WinCE 2. 下面哪点不是嵌入式操作系统的特点。(C) A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 3. 下面哪种不属于嵌入式系统的调试方法。(D) A. 模拟调试 B. 软件调试 C. BDM/JTAG调试 D. 单独调试 4. 在嵌入式ARM处理器中,下面哪种中断方式优先级最高。(A) A. Reset B. 数据中止 C. FIQ D. IRQ 5. NAND FLASH和NOR FLASH的区别正确的是。(D) A. NOR的读速度比NAND稍慢一些 B. NAND的写入速度比NOR慢很多 C. NAND的擦除速度远比NOR的慢 D.大多数写入操作需要先进行擦除操作 6. 下面哪种嵌入式操作系统很少用在手机上。(D)

相关文档
最新文档