孟祥莲嵌入式系统原理及应用教程部分习题答案
嵌入式系统开发练习题(附答案)

嵌入式系统开发练习题(附答案)一、单选题(共100题,每题1分,共100分)1.描述系统的功能如何实现的嵌入式系统设计步骤的是A、软件/硬件设计B、体系结构设计C、需求分析正确答案:B2.函数S3c2410_adc_init(){…..}在什么时候运行?()A、安装驱动程序时B、卸除驱动程序时C、以上说法都对正确答案:A3.()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。
A、交叉编辑B、交叉开发C、交叉编译正确答案:C4.Linux设备驱动程序中常见的设备接口是:A、全部都是B、PCIeC、USB正确答案:A5.ARM11处理器中,内核与cache之间数据通路是()位A、64B、32C、16D、8正确答案:A6.当()进行时,可移植性是要重点考虑的问题A、嵌入式软件开发B、电路设计C、数学建模正确答案:A7.ROMMonitor程序是利用()写入Flash存储器。
A、JTAGB、JJAGC、JKAG正确答案:A8.为能够断电持续保留重要数据和保存系统配置信息,开发板外扩了一片()A、EEPROM存储芯片AT24C02B、ROM存储芯片C、RAM存储芯片正确答案:A9.μC/OS-II结构小巧,最小内核可编译至(),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等A、2KB、4MC、8G正确答案:A10.Linux中,用于创建字符设备文件的命令是什么?A、mknodB、mkfsC、mkdir正确答案:A11.Linux设备驱动程序是指:A、安装在设备上的程序B、控制设备的操作系统内核代码C、控制设备硬件的程序正确答案:C12.计算机的软件由系统软件和()组成。
A、应用软件B、系统硬件C、应用硬件正确答案:A13.Make预置了一些内部宏,其中$@表示A、以上都不是B、没有扩展名的当前目标文件C、当前目标文件最近更新的文件名正确答案:A14.Ramdisk是将一部分固定大小的内存当作()来使用。
嵌入式系统课后习题及答案

第1章嵌入式系统根底什么是嵌入式系统它由哪几局部组成有何特点写出你所想到的嵌入式系统。
答:〔1〕定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为根底,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、本钱、体积、功耗等严格要求的专用计算机系统。
2〕组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几局部组成。
3〕特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b.需要操作系统支持,代码小,执行速度快;c.专用紧凑,用途固定,本钱敏感;d.可靠性要求高;e.多样性,应用广泛,种类繁多。
〔4〕嵌入式系统:个人数字助理〔PDA〕、机顶盒〔STB〕、IP 。
嵌入式处理器分为哪几类2〕中高端的嵌入式微处理器〔EmbededMicroProcessorUnit,EMPU〕;3〕通信领域的DSP处理器〔DigitalSignalProcessor,DSP〕;4〕高度集成的片上系统〔SystemonChip,SoC〕。
ARM英文原意是什么它是一个怎样的公司其处理器有何特点答:〔1〕英文原意:AdvancedRISCMachines。
高级精简指令集机器。
2〕公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供给商,通过将其高性能、低本钱、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM 公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。
3〕其处理器特点:a.小体积、低功耗、低本钱而高性能;32位双指令集;c.全球的合作伙伴众多。
什么是实时系统它有哪些特征如何分类答:〔1〕实时系统的定义:实时系统〔RealTimeSystem〕是指产生系统输出的时间对系统至关重要的系统。
〔2〕特征:实时性、并行性、多路性、独立性、可预测性、可靠性。
〔3〕分类:根据响应时间的不同,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统。
单片机嵌入式系统原理及应用课后答案

单片机嵌入式系统原理及应用课后答案【篇一:单片机原理及嵌入式系统设计第一次作业习题】1、用8位二进制数表示出下列十进制数的补码:+65 、—115[+65]补:0100 0001[-115]补:1100 11012 、写出十进制数12.4用的bcd码和二进制数:bcd码:0001 0010.0100 二进制数:1100.0110011001100110(结果保留16位小数) 3 、当采用奇校验时,ascii码1000100和1000110的校验位d7应为何值?这2个代码所代表的字符是什么?答:分别为0和1,代表字符分别是d和f4、计算机由(运算器、控制器、存储器、输入设备、输出设备)五部分组成。
5、画出微机的组成框图,说明三总线的作用。
数据总线db:在控制总线的配合下传递cpu的输入/输出数地址总线ab:选择芯片或选择芯片中的单元,以便cpu通过控制总线让数据总线与该单元之间单独传输信息控制总线cb:配合数据总线与地址总线起作用,负责传递数据总线或地址总线的有效时刻和数据总线的传输方向等信息6、8位微机所表示的无符号数、带符号数、bcd码的范围分别是多少?答:8位微机所表示的无符号数范围:0~255带符号数范围:-128~+127bcd码范围:0~997、1001001b分别被看作补码、无符号数、ascii码、bcd码时,它所表示的十进制数或字符是什么?答:分别是补码73,无符号数73,bcd码498、举例说出单片机的用途。
答:比如马路上红路灯的时间控制;洗衣机的洗涤、甩干过程的自动控制等9、举例说明cpu执行指令的过程。
答:计算机每执行一条指令都可分为三个阶段进行。
即取指令、分析指令、执行指令。
根据程序计数器pc中的值从程序存储器读出现行指令,送到指令寄存器。
将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。
如指令要求操作数,则寻找操作数地址。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。
嵌入式系统课后习题及答案

第1章嵌入式系统基础1.什么是嵌入式系统它由哪几部分组成有何特点写出你所想到的嵌入式系统。
答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。
(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b.需要操作系统支持,代码小,执行速度快;c.专用紧凑,用途固定,成本敏感;d.可靠性要求高;e.多样性,应用广泛,种类繁多。
(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。
2.嵌入式处理器分为哪几类答:(1)低端的微控制器(MicroController Unit,MCU);(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);(3)通信领域的DSP处理器(Digital Signal Processor,DSP);(4)高度集成的片上系统(System on Chip,SoC)。
3.ARM英文原意是什么它是一个怎样的公司其处理器有何特点答:(1)英文原意:Advanced RISC Machines。
高级精简指令集机器。
(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。
(3)其处理器特点:a.小体积、低功耗、低成本而高性能;32位双指令集;c.全球的合作伙伴众多。
4.什么是实时系统它有哪些特征如何分类答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。
嵌入式系统原理及应用 第四章习题

第四章硬件作业习题7、编写一程序,用查询的方式,对S3C2410X的A/D转换器的第0通道连续进行100次A/D转换,然后将其结果求平均值。
注意:A/D转换器有独立的模拟信号输入引脚AIN0---AIN9。
解:(1)计算预分频值由于A/D转换器的最高输入时钟为2.5MHz,取为1MHz,则预分频值+1 = 50M/1M = 50所以预分频值 = 49(2)程序如下:#define rADCCON (*(volatile unsigned *)0x58000000)#define rADCDAT0 (*(volatile unsigned *)0x5800000c)#define pref 49#define ch 0int adc(int chan){rADCCON=(1<<14)|(pref<<6)|(ch<<3)|1; //设置预分频、通道、启动转换while(rADCCON&0x8000==0); //查询转换是否结束return rADCDAT0&0x3ff; //读取并返回转换结果}void main(){int adc_data=0, i;for(i=0;i<100;i++)adc_data+=adc(ch);adc_data=adc_data/100;printf("adc average is: %d\n",adc_data);}9、S3C2410X的中断控制器的工作过程是怎样的?对于IRQ,整个中断过程是怎样的(中断控制器处理,向CPU请求,转到中断入口,转去获得中断服务程序的首地址,执行中断服务程序)?答:S3C2410X中断控制器有56个中断源,对外提供24个外中断输入引脚,内部所有设备都有中断请求信号,例如DMA控制器、UART、IIC等等。
S3C2410X的ARM920T内核有两个中断,IRQ中断和快速中断FIQ。
嵌入式系统习题答案

嵌入式系统习题答案文字简答、问答类题目见教材3.2 R0和R1中有两个32位数,若R0>R1,则R0=R0-R1;若R0<R1,则R1=R1-R0;若R0=R1,则R1、R0保持不变。
1)请用CMP、B和SUB指令完成上述操作。
2)请用条件SUB指令完成上述操作。
解答:(已调试通过)1、用CMP、B和SUB指令AREA StrCopy, CODE, READONLYENTRYstartMOV R0,#3MOV R1,#2CMP R0,R1BLT LessBGT MoreB stopLess SUB R1,R1,R0B stopMore SUB R0,R0,R1stopB stop2、用条件SUB指令AREA StrCopy, CODE, READONLYENTRYstartMOV R0,#3MOV R1,#2CMP R0,R1SUBLT R1,R1,R0SUBGT R0,R0,R1stopB stop3.3 用合适的指令实现以下功能1)R0 =16mov R0,#162)R1 = R0 × 4MOV R1,R0,LSL #23)R0 =R1/16Mov r0,r1, LSR #44)R1 = R2 × 7SUB R1, R2, R2, LSL #33.5下列指令序列完成什么功能?ADD R0, R1, R1, LSL #1SUB R0, R0, R1, LSL #4ADD R0, R0, R1, LSL #7解答:1、R0=R0+2*R12、R0=R0-16*R13、R0=R0+128*R14.7试编写程序,计算2+4+6+8+…+2N的值解答:(已调试通过)方法一N EQU 3AREA StrCopy, CODE, READONLYENTRYstartMOV R0,#0MOV R1,#NL1MOV R2,R1,LSL #1ADD R0,R0,R2SUB R1,R1,#1CMP R1,#0BEQ stopB L1stopB stop方法二N EQU 3AREA StrCopy, CODE, READONLY ENTRYstartMOV R0,#0MOV R1,#1L1MOV R2,R1,LSL #1ADD R0,R0,R2ADD R1,R1,#1SUB R2,R1,#1CMP R2,#NBEQ stopB L1stopB stop方法三EXPORT Add2T o2N ; 声明程序可被外部引用EXPORT START ; 声明程序入口标号START 可被外部引用NNUM EQU 10 ; 符号定义伪指令,NNUM 代表问题中的N ,此处N = 10AREA Add2T o2N, CODE, READONLYENTRYSTARTMOV R0, #NNUM ; 问题中的加数,从N 递减至0 ,初始值为N MOV R1, #0 ; 问题中的结果保存在R1 中,初始值为0ADDDECCMP R0, #0BEQ MUTTWO ; 当R0 == 0 时跳出累加例程ADD R1, R1, R0 ; 将当前的加数R0 累加到结果R1 中SUB R0, R0, #1 ; 加数R0 递减B ADDDEC ; 重复累加,直到加数为0MUTTWOMOV R0, R1, LSL #1 ; 将R1 中保存的累加结果左移1 位,即乘以2 ,保存到R0STOPMOV R0, #0x18LDR R1, =0x20026SWI 0x123456END ; 结束。
嵌入式系统课后习题部分答案1
第一章1-1.简述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。
1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4指令集。
1.4.Cortex-M3主要应用在哪些方向?主要用在平衡ARM的产品的性能和功耗,提高ARM的性能,降低其功耗1.5.简述StrongARM处理器和ARM处理器的关系StrongARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。
1.7.简述ARM9和ARM9E的不同点硬件处理器不一样指令集不一样1.8.ARM11采用的是什么架构的指令ARMv6嵌入式操作系统的特点(1)体积小(2)实时性(3)特殊的开发调试环境SecureCore处理器系列的特点(1)支持ARM指令集和Thumb指令集,以提高代码密度和系统性能(2)采用软内核技术一提供最大限度的灵活性,可以防止外部对其进行扫描探测(3)提供了安全特性,可以抵制攻击(4)提供面向智能卡和低成本的存储保护单元MPU(5)可以集成用户自己的安全特性和其它的协处理器第二章2-1.简述ARM可以工作在几种模式。
嵌入式系统课后习题及答案
第1章嵌入式系统基础之迟辟智美创作1.什么是嵌入式系统?它由哪几部份组成?有何特点?写出你所想到的嵌入式系统.答:(1)界说:国内对嵌入式系统的一般界说是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、本钱、体积、功耗等严格要求的专用计算机系统.(2)组成:嵌入式处置器、外围设备、嵌入式把持系统和应用软件等几部份组成.(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b.需要把持系统支持,代码小,执行速度快;c.专用紧凑,用途固定,本钱敏感;d.可靠性要求高;e.多样性,应用广泛,种类繁多.(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP德律风.2.嵌入式处置器分为哪几类?答:(1)低真个微控制器(MicroController Unit,MCU);(2)中高真个嵌入式微处置器(Embeded MicroProcessor Unit,EMPU);(3)通信领域的DSP处置器(Digital SignalProcessor,DSP);(4)高度集成的片上系统(System on Chip,SoC).3.ARM英文原意是什么?它是一个怎样的公司?其处置器有何特点?答:(1)英文原意:Advanced RISC Machines.高级精简指令集机器.(2)公司简介:该公司是全球领先的16/32位RISC微处置器知识产权设计供应商,通过将其高性能、低本钱、低功耗的RISC微处置器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片.ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准.(3)其处置器特点:a.小体积、低功耗、低本钱而高性能;b.16/32位双指令集;c.全球的合作伙伴众多. 4.什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的界说:实时系统(Real Time System)是指发生系统输出的时间对系统至关重要的系统.(2)特征:实时性、并行性、多路性、自力性、可预测性、可靠性.(3)分类:根据响应时间的分歧,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统.根据确定性的分歧,实时系统可分为2种类型:硬实时、软实时.5.RTOS由哪几部份组成?它有哪些特点?与一般把持系统相比有何分歧?答:(1)组成:实时内核、网络组件、文件系统、图形用户界面.(2)特点:a.支持异步事件的响应;b.中断和调度任务的优先级机制;c.支持抢占式调度;d.确定的任务切换时间和中断延迟时间;e.支持同步.(3)与一般OS的分歧:a.实时性:响应速度快,只有几微秒;执行时间确定,可预测;b.代码尺寸小:只有10~100KB,节省内存空间,降低本钱;c.应用法式开发较难;d.需要专用开发工具:仿真器、编译器和调试器等.6.单片机系统、嵌入式系统和SOC系统三者有何区别和联系?答:(1)目前嵌入式系统的主流是以32位嵌入式微处置器为核心的硬件设计和基于实时把持系统(RTOS)的软件设计;(2)单片机系统多为4位、8位、16位机,不适合运行把持系统,难以进行复杂的运算及处置功能;(3)嵌入式系统强调基于平台的设计、软硬件协同设计,单片机年夜多采纳软硬件流水设计;(4)嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基秘闻同.(5)SoC是嵌入式系统的最高实现形式,它集成了许多功能模块,它的核心技术是IP(IntellectualProperty Core,知识产权核)核.7. 无第2章嵌入式系统开发过程1.嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?答:(1)需求分析阶段:a.对问题的识别和分析;b.制定例格说明文档;c.需求评审.(2)设计阶段:a.数据流分析;b.划分任务;c.界说任务间的接口.(3)生成代码阶段:a.代码编程;b.交叉编译和链接;c.交叉调试;d.测试.(4)固化阶段2.嵌入式系统有哪几种调试方式?现在最流行的是哪种?使用什么接口?答:(1)调试方式:源法式模拟器方式、监控器方式、仿真器方式.(2)现在最流行的是仿真器方式,使用JTAG(Joint Test Action Group,联合测试行动组)接口.3.什么是板级支持包?它一般应完成哪些工作?答:(1)界说:有些嵌入式把持系统的内核明确分为两层,上层一般称为“内核”,而底层则称为“硬件笼统层”或“硬件适配层”,缩写为HAL,有的厂商将硬件笼统层称为BSP,即板级支持包(Board Support Package).(2)主要完成工作:a.在系统启动时,对硬件进行初始化.B.为驱动法式提供访问硬件的手段.(3)主要作用:消除硬件不同.第3章 ARM体系结构1.ARM的英文全名是什么?ARM处置器有什么特点?答:见第1章课后习题第3题.2.ARM7和ARM9在流水线方面有何分歧?答:ARM7是3级流水线结构,ARM9是5级流水线结构.AR]M9把3级流水线中的执行阶段的把持进行再分配,即把执行阶段中的“寄存器读”插在译码阶段中完成,把“寄存器写”安插在另一级(即第5级)完成,同时,在该级之前,再安插一级(存储访问).3.ARM处置器支持的数据类型有哪些?答:(1)Byte 字节,8位;(2)Halfword 半字,16位;(3)Word 字,32位;4.写出ARM使用的各种工作模式和工作状态.答:(1)工作模式:详见下表:(2)工作状态:a.ARM:32位,这种状态下执行字对齐的ARM指令;b.Thumb:16位,这种状态下执行半字对齐的Thumb指令.5.ARM处置器总共有几多个寄存器?其中哪个用做PC?哪个用做LR?答:(1)ARM处置器总共有37个寄存器:31个通用寄存器,6个状态寄存器.(2)R15用做法式计数器PC,R14用做子法式链接寄存器LR.6.假设R0=0x12345678,使用将R0存储到0x4000的指令存到存储器中,若存储器为年夜端组织,写出从存储器0x4000处加载一个字节到R2的指令执行后R2的值.答:由于0x4000是年夜端组织,所以R0存进后,0x4000中有数0x56781234,从0x4000加载一个字节到R2后(由位置到高位加载),R2的值为0x34.7.ARM920T处置器加入了哪两个协处置器?各自的主要功能是什么?答:ARM920T处置器加入了两个协处置器:(1)CP14,允许软件访问调试通信通道;(2)系统控制协处置器CP15,提供了一些附加寄存器用于配置和控制Caches、MMU、呵护系统、时钟模式和其他系统选项.8.ARM920T支持哪些时钟模式?答:快速总线模式、同步模式、异步模式.9.什么是写直达和写回Cache把持,各有何特点?答:(1)写直达:当CPU对Cache写命中时,Cache与主存同时发生写修改.优点:一致性好;缺点:耗时.(2)写回:当CPU对Cache写命中时,只修改Cache 的内容而不立即写入主存,只当此执行被换出时才写回主存.优点:减少访问主存次数,提高效率.缺点:一致性差点.10.ARM为何集成了32位的ARM指令集和16位的Thumb指令集?(即它的好处)答:可提供长的转移范围、强年夜的算术运算能力和年夜的寻址空间.11.什么是big-endian和little-endian,编写一段法式测试你所用的计算机体系结构采纳哪种存储机制?答:(1)年夜端存储系统(big-endian):低地址寄存高字节,高地址寄存低字节.小端存储系统(little-endian): 低地址寄存低字节,高地址寄存高字节.(2)int x=0x12345678;int *p=&x;if(*(char*)p=0x78)…little endianelse…big endian第4章 ARM系统硬件设计基础1.一个典范的可执行映像由哪几部份组成?答:2.汇编和C语言的相互调用方法.答:(1)汇编法式调用C法式的方法为:首先在汇编法式中使用IMPORT伪指令事先声明将要调用的C语言函数;然后通过BL指令来调用C函数.(2)C法式调用汇编子法式的方法为:首先在汇编法式中使用EXPORT伪指令声明被调用的子法式,暗示该子法式将在其他文件中被调用;然后在C法式中使用extern关键字声明要调用的汇编子法式为外部函数.(弥补)3.基于ARM的硬件启动流程?答:(1)分配中断向量表;(2)初始化存储器系统;(3)初始化各工作模式下的仓库;(4)初始化有特殊要求的硬件模块;(5)初始化用户法式的执行环境;(6)切换处置器的工作模式;(7)调用主应用法式.第5章基于S3C2410的系统硬件设计1.复习掌握:P230 I/O口编程实例.弥补:2.中断的处置流程?答:(1)保管现场;(2)模式切换;(3)获取中断源;(4)中断处置;(5)中端返回,恢复现场.3.中断寄存器的作用及相关的把持?P235-237.。
嵌入式课后习题及答案
嵌入式课后习题及答案 1.1 什么是嵌入式系统? 答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。可靠性,成本,体积,功耗要求严格的专用计算机系统。
1.2 与通用计算机相比,嵌入式系统有哪些特点? 答:(1).嵌入式系统通常是面向特定应用的; (2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科; (3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期; (4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中; (5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
1.3 ARM处理器有几种寻址方式,说明各种寻址的方式。 答: 立即寻址:操作数直接放在指令中。例如:ADD R0,R0,#0x3f ;R0←R0+0x3f 寄存器寻址:操作数放在寄存器中。例如:ADD R0,R1,R2 ;R0←R1+R2 寄存器间接寻址:操作数在内存,以寄存器中的值作为操作数的地址。 例如:LDR R0,[R1] ;R0←[R1] 基址加偏移量寻址(基址变址寻址):基址寄存器的内容与指令中的偏移量相加形成操作数的有效地址 例如:LDR R0,[R1,#4] ;R0←[R1+4] LDR R0,[R1,R2] ;R0←[R1+R2] 多寄存器寻址:一条指令可以完成多个寄存器值的传送。例如: LDMIA R0,{R1,R2,R3,R4} ;R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12] 堆栈寻址:堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。 例如:STMFD R13!,{R0,R4-R12,LR} LDMFD R13!,{R0,R4-R12,PC}
嵌入式系统原理及应用第三章习题
AREA P rocedure5,CODE,READONL Y ENTR Y
CODE32
START
MOV R0,#0x400000
MOV R1,#0
LOOP LDRB R2,[R0,R1]
CMP R2,#0x61
BLO NEXT
CMP R2,#0x7B SUBLO R2, R2,#0x20 STRBLO R2,[R0,R1];
STRB R2,[R1],#1
SUBS R7,R7,#1 BNE LOOP
CEASE
B CEASE
END4、编写程序,比较存储器中0x400000和0x400004两无符号字数据 的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记 为 0, 若前者大于后者其结果记为 1 ,若前者小于后者其结果记为 -1 。 解:
第三章 软件作业习题
3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。
解:
AREA procedure3,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,=0x400800
MOV R7,#200
LOOP LDRB R2,[R0],#1
AREA procedure4,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,[R0],#4
LDR R2,[R0],#4;Hale Waihona Puke CEASEBCEASE
END
5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程 序,将其所有的小写字母转换成大写字母, 对其它的ASCII码不做变 换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 1 1.嵌入式系统的概念的是什么答:嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。
)2.嵌入式系统的特点是什么答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境4.嵌入式系统的功能是什么答:提供强大的网络服务小型化,低成本,低功能;人性化的人机界面;完善的开发平台5.嵌入式系统的硬件平台由哪些部分组成答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O单元电路,通信模块,外部设备必要的辅助接口组成的。
7.嵌入式操作系统的主要特点是什么答:体积小;实时性;特殊的开发调试环境。
8.叙述嵌入式系统的分类。
答:按嵌入式微处理器的位数分类可以分为4位、8位、16位、32位和64位等;按软件实时性需求分类可以分为非实时系统(如PDA),软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统);按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。
习题2处理器和工作状态有哪些答:ARM状态:此时处理器执行32位的的字对齐的ARM指令。
Thumb状态:此时处理器执行16位的,半字对齐的Thumb指令2.叙述ARM9内部寄存器结构,并分别说明R13、R14、R15寄存器的作用。
答:共有37个内部寄存器,被分为若干个组(BANK),这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。
R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。
处理器的工作模式有哪些答:用户模式:ARM处理器正常的程序执行状态。
快速中断模式:用于高速数据传输或通道处理外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护系统模式:运行具有特权的操作系统任务未定义指令终止模式:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
微处理器支持的数据类型有哪些答:ARM微处理器中支持字节(8位)、半字(16位),字(32位)三种数据类型。
其中,字需要4字节对齐,半字需要2字节对齐。
7.叙述CPSR寄存器及其各位数据位的作用答:CPSR是当前程序状态寄存器,是在任何模式下都可以访问的通用状态寄存器,它包括条件标志位,中断禁止位,当前处理器模式标志位,以及其他一些相关的一些相关的控制和状态位①条件码标识;N,Z,C,V均为条件码标识,它们的内容可被算术或逻辑的结果所改变,并且可以决定某条指令是否被执行。
②控制位:CPSR的低8位称为控制位,当发生异常时这些位可被改变,如果处理器运行特权模式,这些位也可以由程序修改。
③保留位:CPSR 中的其余位为保留位,当改变CPSR中的条件码标志位或者控制位时保留位不要被改变,在程序中也不要使用保留位来存储数据习题3指令有哪几种寻址方式试分别叙述其各自的特点,并举例说明。
答:①寄存器寻址:寄存器寻址就是利用寄存器中的内容作为操作数,寄存器本身就是操作数地址,例:MOV R2,R3 ;R2—R3指R3中的内容赋给R2 ②立即寻址:操作数没有存储在寄存器或存储器中,而是包含在指令的操作码中,只要取出指令也就取到了操作数.例:ADD R1,R2,#1234;R1—R1+1234 ③寄存器间接寻址:以寄存器中的内容作为操作数的地址,而操作数本身存放在存储器中。
例:LDR R1,[R2] ;R1—[R2]④变址寻址:将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。
例 LDR R0,[R1,#8] ;R0—[R1+8]⑤寄存器移位寻址:操作数由寄存器的数值进行相应移位而得到例MOV R0,R1,LSL#4 ⑥多寄存器寻址:一条指令可以完成多个寄存器值的传送例:LDMIA R1,{R2—R4,R5}; R2—[R1]R3—[R1+4] R4—[R1+8] R5—[R1+12]⑦堆栈寻址:一种数据结构,按先进后出的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
⑧相对寻址:以程序计数器PC的当前值为基地址,指令中的地址标号作为为偏移量,将两者相加之后得到操作数的有效地址2.简述ARM9指令集的分类答:交换指令、ARM数据处理器指令、ARM分支指令、ARM协处理器指令⑤ARM 软件中断指令4.请叙述处理器如何实现ARM状态和Thumb状态的切换。
答:进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态,此外,当处理处于Thumb状态时发生异常,则异常返回时,自动切换到Thumb状态。
进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以微处理器从Thumb状态切换到ARM状态,此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以是处理器模式切换到ARM状态6.简述ARM9的LDM/STM堆栈指令中空、满,递增、递减的含义。
答:当堆栈指针指向最后压入堆栈的数据时,称为满堆栈。
当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈;当堆栈由低向低地址向高地址生成时,称为递增堆栈;当堆栈由高地址向低地址生成时,称为递减堆栈和BL指令有什么不同答:BX指令是分支和交换指令,寄存器的地址是目标地址其中的位[0]不是地址信息,当寄存器的位[0]为1时,表明目标地址处是Thumb指令,当寄存器的位[0]为0时,表明目标地址是ARM指令,此时,要求字对准,BL指令是分支和链接指令,将一条指令的地址复制到R14,并引起处理器移位到目标地址,但目标地址不可以是ARM指令,BL指定不能转移到当前指令+4MB 以外的地址。
习题41.ARM伪指令与Thumb伪指令有什么区别答:与ARM指令相关的伪指令共有4条:ADR 、ADRL、 LDR 、NOP,这四条伪指令和通用的指令不同,在程序编译过程中,编译程序会为这四条指令产生代码,但这些代码不是它们自己的代码,所以尽管它们可以产生代码,但还是伪指令,与Thumb指令相关的伪指令共有3条,ADR、LDR、NOP,但这些伪指令必须出现在Thumb程序段。
3.编写一个完整的程序,结构是什么答:在汇编语言程序中,用AREA伪指令定义一个段,并说明所定义段的相关属性,ENTPY伪指令标示程序的入口点,接下来为语句段,执行主代码后,通过返回控制终止应用程序,并返回到DEBDG通过使用软件中断指令实现返回,在程序的末尾为END伪指令,该伪指令通知编译器停止对源文件的处理,每一个汇编程序段都必须有一条END伪指令,指示代码段的结束。
4..汇编语言中的表达式有哪些试举例说明答:数字表达式、逻辑表达式、字符串表达式、以寄存器和程序计数器(PC)为基址的表达式。
例:BASE:A.5.汇编语言中的运算符有哪些试说明它们的特点及使用方法.答:数字运算符:表明两个表达式之间的关系。
算术运算符“+”、“-”、“x”及“MOD”移位运算符”RDR”、“RDL“、“SHL、“SHR“逻辑运算符“AND”、“OR”、“NOT”、”EOR”逻辑运算符包括LAND,LDR,LNOT,LEOR运算符关系运算符:“=”、“>“、“>=”,“=<”,“/=”、“<”运算符单目运算符,双目运算符7.汇编语言与C/C++的混合编程通常有几种方式答:有三种方式:在C/C++代码中嵌入汇编指令;在汇编程序和C/C++的程序之间进行变量的互访;汇编程序,C/C++程序间的相互调用。
习题51.S3C2440A芯片外部可寻址的存储空间是多少答S3C2440A芯片外部可寻址的存储空间是1GB,被分为8个存储模块,每块128MB2.S3C2440A中的中断控制器可以从多少个中断源接收中断请求答:S3C2440A中的中断控制器可以60个中段源接收中断请求。
这些中断源由内部的外围I/O端口或部件如DMA控制器,UART,IIC等提供。
芯片有几个通道DMA,共有多少个寄存器答:S3C2440A芯片有4个通道DMA,共有36个寄存器,其中6个用于控制DMA传输,3个用于监视DMA的控制器的状态。
5.看门狗定时器原理是什么答:看门狗定时器用于当噪音或系统错误引起故障时恢复控制器操作的定时,看门狗定时器是一普通的16位时间间隔定时器,定时溢出来请求中断服务,每128个PCLK时钟周期产生一个复位信号。
6.触摸屏接口模式分为几类答:触摸屏接口模式可分为:正常转换模式、分离xy坐标转换模式、自动xy坐标转换模式、等待中断模式、备用模式习题6芯片的2I C总线时序中,ACK信号的作用是什么结合相应的时序图加以说明答:在完成一个字节的传输操作后,接收器应该发送一个ACK位给发送器。
ACK位应该出现在SCL线的第9个时钟,当接收器收到第9个时钟周期时,发送器应该通过使SDA信号线变为高电平来释放SDA信号线变为低电平,以便使SDA信号线保持在低电平,而发出ACK信号。
芯片的2I S总线有几条信号线分别是什么答:2I S总线有4线,即串行数据输入(IISDI),串行数据输出(IISDD),左右通道选择(IISLRCK)和串行位时钟(IISCLK)中的音频串行接口D模式是什么答:2I S总线格式、MSBJUSTIFIED格式、采样频率和主设备时钟芯片的AC97控制器的操作流程是什么答内部数据通路流程图操作 AC—link数字接口协议 AC97掉电的摄像头接口由哪几部分组成答:共由图像多路复用器,捕捉单元,预览计数器,多媒体数字信号编解码器,DMA 预览,DMA编解码器及特殊功能寄存器7个部分组成。
习题7IDE包括什么功能答: <1>建立一个工程 <2>编译和链接工程3.什么是交叉编译为什么要进行交叉编译答:交叉编译是嵌入式操作系统开发过程中的一项重要技术。
其主要特征是某机器中执行的程序代码不是在本机编译生成,而是在另一台机器编译生成。
一般前者成为目标机,后者称为主机采用交叉编译的原因在于多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译过程转移到高性能的主机上进行。
这就需要在强大的PC上建立一个用于目标机的交叉编译环境。
下的交叉编译环境主要包括几部分答:<1>针对目标系统的编译器GCC。
<2>针对目标系统的二进制工具binutils;<3>目标系统的标准C库glibc,有时出于减小libc库大小的考虑,也可以用别的C库来代替glibc,例如uclibc,newlibc等;<4>目标系统的LInux内核头文件。