嵌入式系统复习.docx

上传人:b****6 文档编号:6043915 上传时间:2023-01-03 格式:DOCX 页数:13 大小:22.32KB
下载 相关 举报
嵌入式系统复习.docx_第1页
第1页 / 共13页
嵌入式系统复习.docx_第2页
第2页 / 共13页
嵌入式系统复习.docx_第3页
第3页 / 共13页
嵌入式系统复习.docx_第4页
第4页 / 共13页
嵌入式系统复习.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

嵌入式系统复习.docx

《嵌入式系统复习.docx》由会员分享,可在线阅读,更多相关《嵌入式系统复习.docx(13页珍藏版)》请在冰豆网上搜索。

嵌入式系统复习.docx

嵌入式系统复习

嵌入式系统复习

第一章

1.嵌入式系统的3个基本要素

“嵌入性”、“专用性”、“计算机系统”。

2.嵌入式系统的实时分类

非实时系统、软实时系统、硬实时系统。

3.嵌入式系统的硬件平台组成

嵌入式系统的硬件平台是以嵌入式处理器为核心,由存储器、I/O单元电路、通信模块、外部设备等必要的辅助接口组成的。

4.嵌入式系统的3层和4层结构

3层:

嵌入式系统硬件平台、嵌入式实时操作系统和嵌入式系统应用。

4层:

嵌入式系统硬件平台、硬件抽象层、嵌入式实时操作系统和嵌入式系统应用。

5.什么是嵌入式系统?

狭义上讲,嵌入式系统是指:

“嵌入到对象体系中的、用于执行独立功能的专用计算机系统”。

定义为以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件硬件可剪裁的,适应应用系统对功能、可靠性、成本、体积、功耗和应用环境有等严格要求的专用计算机系统。

广义上讲,凡是带有微处理器的专用硬件系统都可以称为嵌入式系统。

6.什么是硬件抽象层HAL,它有什么功能?

硬件抽象层通过接口向操作系统以及应用程序提供对硬件进行抽象后的服务。

硬件抽象层一般应包含相关硬件的初始化、数据的输入输出操作、硬件设备的配置操作等功能。

7.硬件抽象层的定义和代码设计应该具有哪些特点?

1.硬件抽象层具有与硬件的密切相关性;

2.硬件抽象层具有与操作系统的无关性;

3.接口定义的功能应包含硬件或系统所需硬件支持的所有功能;

4.定义简单明了,太多接口函数会增加软件模拟的复杂性;

5.可测性的接口设计有利于系统的软硬件测试和集成。

8.嵌入式系统的应用领域。

工业过程控制、网络通信设备、消费电子产品、航空航天设备、军事电子设备和现代武器.

第二章

1、ARM的三种含义,常见的ARM芯片。

一个公司的名称、一类微处理器的通称、一种技术的名称。

常见的ARM芯片有ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore、Cortex

3、RISC与CISC的区别

指标

RISC

CISC

指令集

一个周期执行一条指令,通过简单指令的组合实理复杂操作;指令长度固定

指令长度不固定,执行需要多个周期。

流水线

流水线每周期前进一步。

指令的执行需要调用微代码的一个微程序

寄存器

更多通用寄存器。

用于特定目的的专用寄存器

Load/Store结构

独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

处理器能够直接处理存储器中的数据。

4、ARM微处理器的应用选型主要考虑哪些方面?

1.ARM微处理器内核的选择

2.系统的工作频率

3.芯片内存储器的容量

4.片内外围电路的选择

5、存储器的“大端”格式、“小端”格式

大端格式:

字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;

小端格式:

数据的低字节存储在低地址中,而数据的高字节则存放在高地址中。

6、ARM系统支持的指令集,都是多少位?

ARM系统支持两种指令集:

ARM指令集和Thumb指令集。

ARM指令集32位,Thumb指令集16位。

7、ARM9有多少寄存器,通用寄存器,状态寄存器?

R13、R14、R15通常被用作?

ARM9的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器.。

R13寄存器的作用通常是栈指针; 

R14用作子程序链接寄存器,用于保存子程序的返回地址; 

R15的功能是程序计数器,从R15读取的值是处理器正要取指的地址。

8、CPSR寄存器标志位含义

4个条件代码标志;

2个中断控制位;

5个对当前处理器模式进行编码的位;

1个指示当前执行指令的工作状态位;

保留位.

9、ARM处理支持哪7种运行模式?

哪5种的异常模式?

用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式、未定义指令中止模式。

其中除去用户模式和系统模式以外的5种称为异常模式。

10、当一个异常发生时,ARM处理步骤?

(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能重新开始执行。

(2)将CPSR复制到相应的SPSR中。

(3)根据异常类型,强制设置CPSR的运行模式位。

(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处,同时设置中断禁止位,以禁止中断发生。

11、ARM异常向量及其优先级。

优先级

异常

优先级

异常

1(最高)

复位

4

IRQ

2

数据终止

5

预取指令终止

3

FIQ

6(最低)

未定义指令、SWI

12、ARM异常向量及其入口地址。

地址

异常

进入模式

0x00000000

复位

管理模式

0x00000004

未定义指令

未定义模式

0x00000008

软件中断

管理模式

0x0000000C

终止(预取指令)

终止模式

0x00000010

终止(数据)

终止模式

0x00000014

保留

保留

0x00000018

IRQ

IRQ

0x0000001C

FIQ

FIQ

第三章

1.ARM指令的格式,并解释每一部分的含义。

{}{S},,

其中各项介绍如下:

操作码,如ADD表示算术加操作指令; 

{}决定指令执行的条件域; 

{S}决定指令执行是否影响CPSR寄存器的值; 

目的寄存器; 

第一个操作数,为寄存器; 

第二个操作数。

 

2.ARM处理器的堆栈工作方式。

满递增方式:

堆栈指针指向最后入栈的数据位置,且由低地址向高地址生成。

满递减方式:

堆栈指针指向最后入栈的数据位置,且由高地址向低地址生成。

空递增方式:

堆栈指针指向下一个入栈数据的空位置,且地址由低向高生成。

空递减方式:

堆栈指针指向下一个入栈数据的空位置,且地址由高向低生成。

3.B、BL和BX指令的区别。

1.B指令(分支,跳转)

2.BL指令(分支和链接指令,子程序调用)

3.BX指令(分支和交换指令,ARM/Thumb切换)

4.MOV/LDR/STR/ADD/SUB/LSL指令。

指令解释,如LDRR2,[R4,#5]!

的含义。

MOVR4,R5;将寄存器R5的内容传送到寄存器R4

MOVPC,R14;将寄存器R14的内容传送到PC

LDRR1,[R2];R1←[R2],将以R2中的内容为地址,将该地址中的数据传送到R1中

LDRR2,[R4,#5]!

;R2←[R4+5],R4←R4+5

;将R4的内容加上5形成操作数的有效地地址,从而取得操作数存入寄存器R2中,然后R4的内容自增5个字节。

STRR1,[R2];[R2]←R1,将R1中的内容传送到以R2中的内容为地址的存储器中。

MOVR0,R1,LSL#2;将R1中的内容左移2位后传送到R0中,

ADDR0,R3,R4;R0=R3+R4

ADDR0,R3,#10;R0=R3+10

SUBR0,R1,#0x10;R0=R1-0x10

SUBR0,R2,R3,LSL#1;R0=R2-(R3<<1)

 

第四章

1、——asm——Import、Export、AREA、CODE、READONLY

Import:

使用IMPORT伪操作声明该全局变量;

Export:

在汇编中用EXPORT导出函数名,并用该函数名作为汇编代码段的标识;

AREA:

段指示伪指令,用于定义一个代码段或数据段;

CODE:

代码段的相关属性,用于定义代码段,默认为READONLY;

READONLY:

代码段的相关属性,指定本段为只读,默认为READONLY。

2、汇编语言结构

AREA伪指令定义一个段,并定义段的相关属性,本例定义一个名为example的代码段,属性为只读。

ENTRY伪指令标识程序的入口点,接下来为语句段。

执行主代码后通过使用软件中断SWI指令实现了返回到DEBUG。

END伪指令指示代码段的结束。

3、C语言中内嵌ARM汇编指令时有哪些限制?

(1)不能直接赋值PC,程序跳转要使用B或者BL指令。

(2)在使用物理寄存器时,不要使用过于复杂的C表达式,避免物理寄存器冲突。

(3)R12和R13可能被编译器用来存放中间编译结果,计算表达式值时可能将R0~R3、R12及R14用于子程序调用,因此要避免直接使用这些物理寄存器。

(4)一般不要直接指定物理寄存器,而让编译器进行分配。

4、C/C++与ARM汇编语言混合编程有哪些情况?

1.在C语言中内嵌汇编

2.在汇编中使用C程序全局变量

3.C程序中调用汇编的函数

4.在汇编程序中调用C的函数

5.C和C++混合调用

5、C语言中内嵌汇编语言实例

#include

voidmy_strcpy(constchar*src,char*dest)//声明一个函数

{

charch;//声明一个字符型变量

__asm//调用关键词__asm

{

LOOP//循环入口

LDRBch,[src],#1//

STRBch,[dest],#1//

CMPch,#0//比较CH是否为零,否则循环。

BNELOOP//B指令跳转,NE为Z位清零不相等

}

}

intmain();C语言主程序

{

char*a="forgetitandmoveon!

";

charb[64];//字符型数组

my_strcpy(a,b);//调用子函数,进行复制

printf("original:

%s",a);//屏幕输出,a的数值

printf("copyed:

%s",b);//屏幕输出,b的数值

return0;

}

6、C语言调用汇编语言的函数实例

/*C程序*/

#include

externvoidasm_strcpy(constchar*src,char*dest);

//声明可以被调用的函数

intmain()//C语言主函数

{

constchar*s="seasonsinthesun";//声明字符型指针变量

chard[32];//声明字符型数组,初始化为0

asm_strcpy(s,d);//调用汇编子函数

printf("source:

%s",s);

printf("destination:

%s",d);

return0;

}

;汇编语言程序段

AREAasmfile,CODE,READONLY;声明汇编语言程序段

EXPORTasm_strcpy;声明可被调用函数名称

asm_strcpy;函数入口地址

LOOP;循环标志条

LDRBR4,[R0],#1;R0的地址加1后送给R4

CMPR4,#0;比较R4是否为零

BEQOVER;为零跳转到结束,目标数组初始化为0

STRBR4,[R1],#1;R4的值送入R1加1地址

BLOOP;跳转到循环位置

OVER;跳出标志位

MOVPC,LR;子函数返回

END

第五章

1、S3C2440A的地址线对外引出条数?

寻找空间多大?

内存分成几个bank,每个bank多大?

S3C2440A芯片对外只引出了30根寻址的存储空间是1GB,并且被分成8个存储模块,每块128MB对外引出地址线(A0-A26)。

2、SRAM、DRAM的特点,NorFlash、NandFlash的特点。

SRAM:

优点:

速度快,常用作计算机里的Cache;缺点:

功耗大,价格高,集成度差;

DRAM:

优点:

结构简单,拥有非常高的密度,单位体积的容量较高因此成本较低。

但相反的,DRAM也有访问速度较慢,耗电量较大的缺点。

NorFlash:

特点是芯片内执行,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。

NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

 

NandFlash结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。

应用NAND的困难在于flash的管理和需要特殊的系统接口。

3、S3C2440A共有多少个GPIO?

被分成几组?

S3C2440A芯片共130个GPIO端口,被分为9组。

5、S3C2440A共有多少个中断源?

外部、内部几个?

可以接收60个中断源,24个外部中断EINT0-23,36个内部中断。

外部中断可以根据紧急情况分EINT0-3,EINT4-7,EINT8-23。

8、看门狗定时器的原理和作用

原理:

设系统程序完整运行一周期的时间是tp,看门狗的定时周期为ti,且ti>tp;

在程序运行一周期tp后就修改(再重新设定看门狗的定时周期)定时器的计数值(俗称“喂狗”),只要程序正常运行,定时器就不会溢出;

若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器将在ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。

作用:

就是当系统“跑飞”而进入死循环时,恢复系统的运行。

9、GPIO如何设置输入、输出、上拉电阻?

配置输出端口,可以向GPnDAT的相应位写数据

配置输入端口,可以从GPnDAT的相应位读数据

控制每个端口组的上拉电阻的允许/禁止:

某位为0,允许上拉电阻;

某位为1,禁止上拉电阻

简答题

1、与通用计算机系统相比,嵌入式系统的特点。

1.系统内核小2.专用性强3.运行环境差异大4.可靠性要求高5.系统精简和高实时性系统6.具有固化在非易失性存储器中的代码7.嵌入式系统开发工作和环境

2、采用RISC架构的ARM微处理器的特点。

•体积小、低功耗、低成本、高性能;

•支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

•大量使用寄存器,指令执行速度更快;

•大多数数据操作都在寄存器中完成;

•寻址方式灵活简单,执行效率高;

•指令长度固定。

3、常见的ARM处理器的寻找方式。

寄存器寻址、立即寻址、寄存器间接寻址、变址寻址、寄存器移位寻址、多寄存器寻址、堆栈寻址、相对寻址

4、S3C2440A设置外部中断的一般方法。

1.挑选GPx组的引脚,设置为中断输入(不带上拉电阻)

2.通过EXTINT0-2寄存器,设置中断触发方式

3.清空中断源寄存器ESRCPND.中断悬挂寄存器EINTPND

4.设置中断屏蔽寄存器EINTMASK.INTMSK允许中断

5.设置中断处理函数。

如:

pISR_EINT8_23=(U32)Key_ISR;

5、S3C2440A的定时器个数,配置定时器的一般流程:

S3C2440A有5个16位的定时器;

1.选择一个定时器(0,1,2,3,4)

2.设置预分频值(TCFG0),设置分频值(TCFG1),设置计数初始值(TCNTBn)

3.设置TCON(手动更新,自动加载),清除TCON的手动更新

4.注册定时器中断服务函数

5.开启定时器中断(定时器中断使能),开启定时器

6、RISC体系结构应具有如下特点。

采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。

使用单周期指令,便于流水线操作执行。

大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。

除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗.

所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。

可用加载/存储指令批量传输数据,以提高数据传输效率

可在一条数据处理指令中同时完成逻辑处理和移位处理

在循环处理中使用地址的自动增减来提高运行效率。

两个例题

while

(1)

{

for(i=0;i<4;i++)

{

GPFDAT=ledtab[i];

Delay(70);

}

}

return(0);

}

voidDelay(unsignedintx)

{

unsignedinti,j,k;

for(i=0;i<=x;i++)

for(j=0;j<=0xff;j++)

for(k=0;k<=0xff;k++);

}

AREA|DATA|,CODE,READONLY

ENTRY

ldrr13,=0x1000

IMPORTLedlamp;

bLedlamp

END

例5-2程序如下:

#defineGPFCON(*(volatileunsigned*)0x56000050)

#defineGPFDAT(*(volatileunsigned*)0x56000054)

#defineGPFUP(*(volatileunsigned*)0x56000058)

voidDelay(unsignedint);

intLedlamp()

{

unsignedcharledtab[]={0xf7,0xef,0xdf,0xbf};

inti;

GPFUP&=0XFFFFFF87;

GPFCON&=0XC03f;

GPFCON|=0X1540;

例5-3程序如下:

intBellMain()

{

#defineGPBCON(*(volatileunsigned*)0x56000010)

#defineGPBDAT(*(volatileunsigned*)0x56000014)

#defineGPBUP(*(volatileunsigned*)0x56000018)

voidDelay(unsignedint);

GPBUP&=0XFFFFFFFE;

GPBCON&=0XFFFFFFC;

GPBCON|=0X0000001;

while

(1)

{

GPBDAT&=0xfe;

Delay(40);

}

AREA|DATA|,CODE,READONLY

ENTRY

ldrr13,=0x1000

IMPORTBellMain;

bBellMain

END

GPBDAT|=0x1;

Delay(40);

}

return(0);

}

voidDelay(unsignedintx)

{

unsignedinti,j,k;

for(i=0;i<=x;i++)

for(j=0;j<=0xff;j++)

for(k=0;k<=0xff;k++);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1