ARM嵌入式系统原理及应用开发谭会生考试重点

发布 2022-10-21 09:20:28 阅读 4890

1.1.1 嵌入式系统的定义。

ieee的定义:嵌入式系统是用来控制、监控或者辅助操作机器、装置、工厂等大规模系统的设备。

我国通常定义:嵌入式系统(embedded system)就是嵌入到目标体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的3个基本要素。

具体地讲,嵌入式系统是指以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

1.1.2 嵌入式系统的特点。

1.嵌入式系统是专用的计算机系统。

2.嵌入式系统须满足系统应用环境的要求。

3.嵌入式系统需满足对象系统的控制要求。

4.嵌入式系统是一个知识集成应用系统。

5.嵌入式系统具有较长的应用生命周期。

6.嵌入式系统软件固化在非易失性存储器中。

7.多数嵌入式系统具有实时性要求。

8.嵌入式系统设计需专用的开发环境和工具

1.嵌入式系统发展的4 个阶段。

1)以单片机为核心的低级嵌入式系统。

2)以嵌入式微处理器为基础的初级嵌入式系统。

3) 以嵌入式操作系统为标志的中级嵌入式系统。

4)以internet 为标志的高级嵌入式系统。

基于32位/64位微处理器的嵌入式系统的优点:① 芯片内外资源丰富,硬件系统简单;② 可运行各种操作系统,降低了复杂系统应用程序开发的难度;可运行多种操作系统,应用程序开发难度降低,系统人机界面友好;③ 系统数据处理能力强,控制精度高;④ 有成熟的开发工具,丰富的开发资源和资料;⑤ 32位/64位的嵌入式系统的开发人群不断增多,有助于降低企业项目开发成本、保持开发的连续性。

1.4.1 嵌入式处理器的种类。

嵌入式微处理器(embedded microcomputer unit,empu)、

嵌入式微控制器(embedded microcontroller unit,emcu)

嵌入式数字信号处理器(embedded digital signal processor,edsp)

嵌入式片上系统(system on chip,soc)

嵌入式可编程片上系统(system on a programmable chip,sopc)。

1.6.1 嵌入式系统的总体考虑。

1.嵌入式微处理器及操作系统的选择。

2.开发工具的选择。

3.对目标系统的观察与控制。

嵌入式系统的开发环境一般由三个部分组成:宿主机、调试**器和目标机。

1.指令集模拟器。

2.驻留监控软件。

3.jtag**器。

4.****器。

1.7.3 嵌入式系统的应用模式。

1.非操作系统层次的应用。

2.操作系统非gui层次的应用。

3.操作系统gui层次的应用。

1.7.4 嵌入式应用软件的开发特点

1.需要交叉编译工具。

2. 通过**手段进行调试。

3.目标机是最终的运行环境。

4.执行应用程序的指令通常写入操作系统。

5.系统资源有限。

6.控制特定部件。

目前世界上有四大流派的嵌入式处理器内核生产厂家及嵌入式处理器内核。

mips处理器内核, arm处理器内核, powerpc,68k/coldfire。

嵌入式处理器内核是一个设计技术,并不是一个芯片,内核的设计一般追求高速度、低功耗、易于集成。

arm7采用3级流水线结构,采用冯·诺依曼体系结构(程序存储器与数据存储器统一编址)。arm9采用5级流水线,采用哈佛体系结构(程序存储器与数据存储器分开独立编址)。arm10采用6级流水线。

2 arm体系结构的技术特征。

1)单周期操作。

2)采用加载/存储指令结构。

3)固定的32位长度指令。

4)3地址指令格式。

5)指令流水线技术。

3)arm与thumb间的切换。

(1)由arm状态切换到thumb状态。通过bx指令可将arm状态切换到thumb状态,即当操作数寄存器的最低位为1 时,可执行bx指令使微处理器进入thumb状态。

2)由thumb状态切换到arm状态。通过bx指令可将thumb状态切换到arm状态,即当操作数寄存器的最低位为0时,可执行bx指令使微处理器进入arm状态。当处理器进行异常处理时,则从异常向量地址开始执行,系统将自动进入arm状态。

1)通用寄存器。

通用寄存器有31个,其中不分组的寄存器有8个(r0~r7);在快速中断模式下,r8~r12标有fiq,代表快速模式专用,与其他模式地址重叠,但模式不同,因此寄存器内容并不冲突,共2组计10个寄存器;r13~r14除了用户模式和系统模式分别为堆栈指针(stack pointer, sp)和程序链接寄存器(link register, lr)之外,其他模式下均有自己独特的标记方式,是专用于特定模式的寄存器,共6组计12个;另外还有作为pc的r15,这样通用寄存器共31个。所有通用寄存器均为32位结构。

2)状态寄存器。

状态寄存器共6个,除了共用的cpsr外还有分组的spsr(5组共5个)。程序状态寄存器的格式如图2.1所示,其中条件码标志4个(n,z,c,v),还有q标志以及8个控制位(i,f,t,m4~m0)。

7种类型的异常分成6级,优先级由高到低依次是:

(1)复位(reset)异常;

(2)数据访问中止(dabt)异常;

(3)快速中断请求(fiq)异常;

(4)外部中断请求(irq)异常;

(5)指令预取中止(fabt)异常;

(6)软件中断(swi)异常和未定义的指令(und)异常最低优先级。

复位异常的优先级最高,因此任何情况下,只要进入复位状态,系统无条件地将pc指向0x00000000处,去执行系统第一条指令。通常此处放一条无条件的转移指令,转移到系统初始化程序处。

1.arm存储字数据的格式。

1)大端格式。

在大端格式中,32位字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

2)小端格式。

在小端格式中,32位字数据的高字节存放在高地址中,而低字节存放在低地址中。

所谓流水线电路,就是将一个电路系统或电路系统的大的数据处理电路模块分成几个小的数据处理电路模块,并且沿着数据通路引入流水锁存器,这样就可以减小有效关键路径,从而提高系统的时钟速度或采样速度,或者可以在同样的速度下降低功耗。

在一个m级流水线系统中,从输入到输出的任一路径上的延时元件数目是(m-1),它要大于在原始时序电路中同一路径上的延时元件数。若要使电路正常工作,相邻的两个寄存器之间路径的时延应小于寄存器的时钟信号clk的周期 tclk ,亦即流水线锁存器的时钟周期tclk应大于所有功能部件中的最长执行时间。同时要使流水线电路正常工作,并且系统处理速度尽可能快,流水线数据通路上的各个功能部件的执行时间因尽可能均衡。

1. arm7tdmi的特点。

1)采用arm体系结构版本4t,支持64位乘法、半字、有符号字节存取;

2)支持thumb指令集,可降低系统开销;

3)采用32×8 dsp乘法器;

4)具有32位寻址空间——4gb线性地址空间;

5)包含了嵌入式****器模块,以支持嵌入式系统调试;

6)jtag控制逻辑被认为是处理器核的一部分。

arm汇编语言与c/c++的混合编程通常用以下几种方式:

1)在c/c++**中嵌入汇编指令。

2)在汇编程序和c/c++的程序之间进行变量的互访。

3)汇编程序、c/c++程序间的相互调用。

在实际的编程设计中,使用较多的方式是:程序的初始化部分用汇编语言完成,然后用c/c++完成主要的编程任务,程序在执行时首先完成初始化过程,然后跳转到c/c++程序**中,汇编程序和c/c++程序之间一般没有参数的传递,也没有频繁的相互调用,因此,整个程序的结构显得相对简单,容易理解。

wdt组件的构成。

控制寄存器的含义及作用如下:

(1) 控制寄存器是一个特定的存储单元,而控制寄存器各位的定义由微控制器/微处理器的内部硬件结构决定,所以控制寄存器各位的定义是控制编程的依据。

(2) 控制寄存器是人机信息交互的桥梁,而人或机器对某个功能组件的控制指令首先必须通过编程给控制寄存器赋值,再通过cpu对控制寄存器的读操作将有关操作控制信号或操作数据传递给该功能组件。当这些操作控制信号或操作数据有效时,该功能组件就会执行特定的操作。

对于8位数据宽度的存储器组织,存储器地址线与系统地址总线直接相连;对于16位数据宽度的存储器组织,存储器的地址线与系统总线要错一位相连;对于32位存储器组织,存储器的地址线与系统总线要错两位相连。

5.19 s3c44b0x与sst39vf160的连接示意图。

5.21 s3c44b0x与hy57v651620b的连接示意图

linux的文件系统可分为以下三个子系统:

(1) 虚拟文件系统(vfs)。

2) 逻辑文件系统。

3) 设备管理部分。

4) 进程间通信(ipc)

5) 网络。

6) 资源管理。

计算wdt组件计数周期的公式为:

twdt=1/

例5.3】 如果mclk = 60 mhz,采用的预分频值为255,分频系数为128,则wdt的计数周期为

即wdt的计算周期为546.13 μs。

超时时间t = wtcnt×twdt,如果wtcnt = 0x1000,则超时时间的值为

t = 0x1000×546.13 = 4096×546.13 = 2 236 948.48 (μs)≈2.24(s)

即每隔2.24 s,如果没有干预,则看门狗就会引起复位。

若通过s3c44b0x的pwm组件的定时器0控制pwm输出频率为3000~15000 hz、占空比为4/5的波形,其c语言子程序如下:

void pwmw**e(void)

rtgfg0 = 0xff;

/* 设置定时器的预分频率值:time0/1 = 255,time2/3 = 0,time4/5=0 */

rtcfg1 = 0x1;/*设置定时器的工作模式:中断模式 */

/* 设置定时器的分频率值:time0为1/4,其他为1/2 */

for (freq=3000; freq < 15000;freq+=1000 )

ARM嵌入式实验开发系统

arm嵌入式实验开发系统el arm 830 产品描述。一 适用范围 el arm 830 型嵌入式实验开发系统适合高等院校 嵌入式系统原理开发与设计 课程的实验教学,可以移植linux uclinux vxworks psos qnx ucosii wince等嵌入式操作系统,适合嵌入式系统的实验...

嵌入式系统原理及应用

嵌入式系统原理及应用复习。一 判断题 每小题2分,共30分 1 嵌入式系统必须有操作系统。2 单片机应用系统不属于嵌入式系统。3 通用计算机也可以作为嵌入式系统集成到产品中。4 嵌入式处理机只能是单核形式。5 arm是所有嵌入式处理机的总称。6 flash存储器是以扇区为单位进行读写的。7 所有的嵌...

嵌入式系统原理及应用

2010 年 嵌入式系统原理及应用考试提纲 一 填空题。1 jtag是英文joint test action group 联合测试行为组织的缩写,该组织成立于1985年,是由几家主要的电子制造商发起制订的pcb和ic测试标准。该标准规定了进行边界扫描所需要的硬件和软件。jtag主要应用于电路的边界扫...