嵌入式系统设计arm复习

发布 2022-10-21 08:02:28 阅读 5780

1. 什么是嵌入式系统?其特点有些什么?

答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”

特点:1)软硬件一体化,集计算机技术、微电子技术、行业技术于一体;

2)需要操作系统支持,**小,执行速度快;

3) 专用紧凑,用途固定,成本敏感;

4)可靠性要求高;

5) 多样性,应用广泛,种类繁多。

嵌入式系统的三个基本要素:嵌入性、专用性、计算机系统。

嵌入式系统的存储结构中存储速度最快的是:寄存器组。

2. 嵌入式微处理器体系结构:

1) 冯诺依曼结构(arm7):程序、数据存在一个存储器的不同物理位置。

2) 哈佛结构(arm9):程序、数据分开放在不同存储器中。

3. 目前嵌入式操作系统有哪些?

答:1)c/os-ii 嵌入式操作系统内核;2)vxworks嵌入式实时操作系统;3)wince操作系统;4)linux操作系统 ;5)symbian操作系统。

4. 目前嵌入式操作系统有哪些?

答:1)c/os-ii 嵌入式操作系统内核;2)vxworks嵌入式实时操作系统;3)wince操作系统;4)linux操作系统 ;5)symbian操作系统。

5. arm的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?

答:1)复位(reset)异常(管理模式);

2)未定义指令(undefined instruction)异常(未定义模式);

3)软件中断(swi)异常(管理模式);

4)指令预取中止(prefech abort)异常(中止模式);

5)数据访问中止(data abort)(中止模式);

6)快速中断请求(fiq)(fiq模式);

7)外部中断请求(irq)(irq模式)。

异常返回指令:1)swi,未定义的返回:movs pc,r14;2)irq,fiq,预取中止的返回:

subs pc,r14,#4;3)数据中止返回并重新存取:subs pc,r14,#

异常中断的优先级:复位(最高优先级)--数据异常中止---fiq --irq---预取指异常中止---swi---未定义指令(包括缺协处理器)。

6.什么是risc? risc架构arm微处理器特点。

答:risc是精简指令集计算机。

特点:(1)减少复杂功能的指令,减少指令条件,选用使用频度最高的指令,简化处理器的结构;(2)体积小,低功耗,高性能;(3)大量使用寄存器;(4)寻址方式灵活简单。

7.arm处理器数据存储格式有哪几种?各自的特点?

答:arm存储器有大端格式和小端格式。大端模式:数据的高字节存储在低地址中,低字节存储在高地址中。小端模式:数据的低字节存储在低地址中,高字节存储在高地址中。

8. s3c2410a的电源模式:正常模式、慢速模式、空闲模式、掉电模式。

9. 数据总线配置有8位、16位、32位。

10写arm指令,完成操作r1=r2*4 r1=r2*3

mov r1,r2,lsl #

add r1,r2,r2,lsl #

初始值r2=5,r3=4,r4=3,执行指令subs r2,r3,r4,lsr #2后,寄存器r2,r3的值分别是什么?

r2=r3=4

复位方式:上电复位、系统复位、软复位。

flash存储器分类:(1)nor:速度快,数据不易失;(2)nand:写入很快,容量很大,具有非线性。

11. arm处理器一共有几种中工作模式,分别是?那种模式下,专业寄存器最多。

arm处理器一共有7种运行模式,它们分别是:用户模式(user)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、数据访问中止模式(abt)

系统模式(sys)和未定义指令中止模式(und)。

12. arm处理器正常工作时,处于何种工作模式?

答:用户模式(user)。

13. arm处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存器。

答:共有37个32位寄存器,其中31个为通用寄存器,可用于累加操作,6个为状态寄存器。

14. arm指令的寻址方式。

1)寄存器寻址; (2)立即寻址;

3)寄存器偏移寻址;(4)寄存器间接寻址;

5)基址变址寻址; (6)多寄存器寻址;

7)堆栈寻址; (8)块拷贝(复制)寻址;(9)相对寻址。

15. mmu:是内存管理单元,它是**处理器(cpu)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。

16. 什么是交叉开发环境?

答:交叉编译环境:嵌入式系统开发首先要搭建一套pc机的开发环境,主要包括:宿主机、目标板和接口。这种在宿主机上开发程序、在目标板上运行程序的方式,通常叫做交叉开发。

什么是交叉编译,为什么要采用交叉编译?

所谓交叉编译,是指在一个平台上编译生成在另一个平台上运行的可执行程序。(3分)之所以采用交叉编译,是因为目标平台上不具备直接运行开发环境的条件(2分)。

17. 什么是引导程序?它的功能是什么?

答:(1)引导程序:在嵌入式系统中,bootloader作用与pc机上的bios类似,通过bootloader可以完成对系统板上的主要部件进行初始化,也可以**文件到系统板上,还可以对flash进行擦除与编程。

(2)功能:它会在操作系统内核运行之前运行,通过它可以分配内存空间的映射,从而使系统的软硬件环境进入一个合适的状态,以便为最终调用操作系统准备好正确的环境。

18. 试写抢占式和非抢占式任务调度。

答:(1)抢占式任务调度:当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的cpu使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到cpu的控制权。

其特点:任务级响应时间得到最优化,而且是确定的,因而中断响应较快。由于任务在运行过程中可以被其他任务抢占,所以任务不应直接使用不可重入的函数,进行加锁保护后才能使用。

同理,对共享数据的使用也需要互斥、信号量等保护机制。

(2)非抢占式调度:它也称为合作型多任务,各个任务彼此合作共享一个cpu。其特点:①响应中断快;②可使用不可重入函数;③共享数据方便。

19、如何提高嵌入式系统软件的可移植性。

答:(1)可移植性是指将操作系统从一种计算机硬件平台转移到另一种计算机硬件平台后,仍然能够按其自身方式运行的能力。linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境和任何平台上运行。

(2)提高嵌入式系统软件的可移植性的方法可从以下方面进行:①数据大小或长度相关性;②字节位序;③位操作;④对齐。

程序题:1)按键分析程序设计,程序能分别记录不同按键按下的次数。

void main()

unsigned char p,keylast; target_init();目标初始化。

while(1)

keylast=key_number; /取出按键值

key_number=0xff; /按键值重置为无按键

if (keylast>0 &keylast<10 &keylast<>0xff)

dispinput(keylast);

keylast=0xff;//按键值重置为无按键

delay(50);

2) 强制类型转换应用:

编写一个函数,实现字符串到整形数的转换,当字符串中含有不是数字的字符时,函数返回0.(不考虑溢出情况)函数原型:

int ascii_to_integer( char * string );

int j;

unsigned char p;

char *q;

q= string;

while (*q>=0x30 & q<0x40)

p=*q-0x30; q++;j=j*10+p; }

if (*q==0x0a | q==0x0d |*q==0x0)

return j;

else return 0;

3) uc/os信号量应用:

在c/os-ⅱ中,建立两个任务task1,task2,两个信号signal1,signal2 任务1在lcd上画一个10*10的网格,每个网格大小为25像素,画好后,发一个signal2信号给任务2,表示画完了,接收到重画信号后,再画一次任务2在接收到任务1的画完信号后,延时2s,把 lcd上的图像清除,并发重画信号给任务1

解:参考uc/os,定义用到的变量等,每秒100个节拍

#define stacksize 256 os_stk_data stk; /分配任务堆栈,定义信号*/

os_stk stack_task_1[stacksize];

os_stk stack_task_2[stacksize];

os_event * signal1;//重画信号 os_event * signal2;//画完信号。

void task_2(void *pdata)

while(1)

*画10*10网格-25像素。

从10,10坐标开始画,x,y最大值249+10 */

void task_1(void *pdata)

int i,j;

while(1)

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

10*10网格左上角坐标30,30

draw_hline (30+i*25, 30, 280);

/y0, x0,x1 draw_vline (30+i*25 ,30, 280);

/x0, y0,y1 } ossempost(signal2);/画好 }

嵌入式ARM嵌入式系统设计

摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...

ARM嵌入式系统

arm 嵌入式系统 bootloader 引言 对于 pc 机,其开机后的初始化处理器配置 硬件初始化等操作是由 bios basic input output system 完成的,但对于嵌入式系统来说,出于经济性 方面的考虑一般不配置 bios,因此我们必须自行编写完成这些工作的程序,这就是所需...

ARM嵌入式系统综合设计

1 arm简介。arm advanced risc machines 既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。如果说,嵌入式 是2008年电子工程师谈论得最多的词之一,2009年谈论得最多的一个词就是 arm 究竟什么是arm呢,他是英国一家电子公司...