嵌入式系统设计辅导 2019秋

发布 2022-10-21 08:31:28 阅读 7979

《嵌入式系统设计原理》辅导。

第一章嵌入式系统概述。

1、嵌入式系统的基本结构。

经过不断的发展,原先嵌入式系统的3层结构逐步演化成为一种4层结构,包括:硬件平台、硬件抽象层、嵌入式实时操作系统(rtos)和嵌入式实时应用程序,如图所示:

2、嵌入式系统硬件平台的基本组成。

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

3、板级支持包(bsp)

bsp是硬件抽象层的一种具体实现,它隔离了所支持的嵌入式操作系统与底层硬件平台之间的相关性,使嵌入式操作系统能够通用于bsp所支持的硬件平台。bsp是介于底层硬件和操作系统之间的软件层次,它完成系统上电后最初的硬件和软件初始化,为上层的驱动程序提供访问硬件设备寄存器的函数包。

4、实时系统的特点及分类。

实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果的系统。大多数嵌入式系统都属于实时系统,根据实时性的强弱分为两种类型的实时系统:软实时系统和硬实时系统。

第二章嵌入式系统基本知识。

1、嵌入式微处理器分类。

嵌入式微处理器包括嵌入式微控制器、嵌入式dsp处理器、嵌入式微处理器、嵌入式片上系统四类。

2、嵌入式片上系统(soc)

soc嵌入式系统微处理器就是一种电路系统。它结合了许多功能区块,将功能做在一个芯片上。soc最大的特点是实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的**模块。

3、arm7tdmi处理器。

在arm7tdmi的指令流水线中,每条指令可以分为取指、译码、执行3个阶段执行。arm7tdmi处理器有arm和thumb两种工作状态。

4、power pc处理器。

power pc既有高端产品,又有低端产品, 应用领域十分广泛, 基于power pc架构的处理器主要有:

1) ibm power pc ,motorola power pc

5、嵌入式实时操作系统分类。

常用的嵌入式实时操作系统一般分为3大类:商用系统、专用系统和开放系统。商用系统:

vxworks、windows ce等;专用系统:android、symbian等;开放系统:linux、uc/os-ii等;

6、影响cpu性能的因素。

影响cpu性能的因素主要有:流水线、超标量和缓存;

7、存储器sram与dram的差别。

1)sram比dram快;(2)sram比dram耗电多;(3)dram存储密度比sram高得多;(4)drm需要周期性刷新;

8、前后台系统。

在前后台系统中,应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。中断处理程序处理异步事件,这部分可以看成前台行为;当中断处理程序处理完异步事件后,程序将回到后台程序继续运行。

9、临界区。

临界区是指处理时不可分割的访问共享资源的**。为确保多个进程互斥访问共享资源,可采用在进入临界区之前要关中断,而临界区**执行完以后要立即开中断的方法,也可采用信号量机制来实现。

10、可剥夺型内核与不可剥夺型内核的区别。

使用可剥夺型内核时最高优先级的任务一旦就绪,总能得到cpu的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的cpu使用权就被剥夺了,那个高优先级的任务立刻得到了cpu的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

不可剥夺型内核要求每个任务自我放弃cpu的所有权。异步事件由中断服务来处理,中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃cpu的使用权时,那个高优先级的任务才能获得cpu的使用权。

11、可重入型函数。

可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。使用以下技术之一即可使一个函数具有可重入性:

(1) 把函数中使用的临时变量定义为局部变量;(2) 调用函数之前关中断,调动后再开中断;(3) 用信号量禁止该函数在使用过程中被再次调用;

12、嵌入式系统设计步骤。

1)系统需求分析:确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面;(2)体系结构设计:

描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等;(3)硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的;(4)系统集成:

把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误;(5)系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

第三章 arm微处理器体系结构。

1、arm指令集和单纯的risc定义的不同。

1)一些特定的指令周期数可变,改善了load/store指令的性能;(2)内嵌桶形移位器产生了更为复杂的指令;(3)增加thumb16位指令集,增强了内核的功能;(4)指令的条件执行减少了分支指令的数目,提高了**密度。

2、cisc与risc两种架构的主要差异。

risc使用相当少的指令类型及寻址模式;微程控尽量采用软件架构实现;在单一执行的周期内完成指令;微处理器中拥有更多的寄存器;使用最佳化的程序**编译;简易的译码指令格式;高度并行化处理;cpu硬件结构设计更为简单;

cisc具有大量的指令和寻址方式;80%的程序只使用20%的指令; 大多数程序只使用少量的指令就能够运行;更侧重于硬件执行指令的功能性,使cisc指令变得更复杂;指令长度通常不固定,执行也需要多个周期;

第四章 arm微处理器指令系统。

1、arm的运行模式。

arm 处理器支持用户、快速中断、外部中断、管理员、系统、数据访问中止、未定义指令中止7种工作模式。

2、arm指令的寻址方式。

arm指令系统支持6种寻址方式:

1)立即寻址:add r0,r0,#

2)寄存器寻址:add r0,r1,r2

3)寄存器间接寻址:adr r0,[r1]

4)基址变址寻址:ldr r0,[r1],#

5)多寄存器寻址:ldmia r0,

6)堆栈寻址:stmfd sp!

3、arm汇编语言编程例子1。阅读、理解并掌握以下编程思路和arm汇编程序**。

说明]设数组x中有x1、x2、……x10十个数,试编制一个arm汇编程序把该数组中的十个数求和后,将其结果以十六进制数的形式在屏幕上显示出来。

编程思路:先将数组x的10个元素累加求和,将结果放入r1寄存器,然后把r1寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。由于arm指令集中没有循环左移结构,所以只能用逻辑右移lsr或循环右移ror结构来实现:

第1次右移28位; 第2次右移24位;

第3次右移20位; 第4次右移16位;

第5次右移12位; 第6次右移8位;

第7次右移4位; 第8次右移0位;

每次移位前,把r1寄存器的内容赋给r0,然后移动相应位数,再用0xf与r0相与后,把r0寄存器的内容转换成ascii码,在屏幕上显示出来,循环次数是已知的,计数值为8., 程序**如下:

arm汇编程序**]

area hellow,code,readonly ;声明**区。

swi_writec equ &0输出r0中的字符。

swi_exit equ &11程序结束。

entry ;**入口。

start: adr r0, x获取数组x首址。

mov r1, #0累求和初值。

mov r4, #0计数器初值。

sum1: ldrh r5,[r0],#2获取数组元素。

add r1,r1,r5累加求和。

add r4,r4,#1计数器+1

cmp r4, #

jnz sum1

mov r4, #0计数器初值。

mov r2,#28移动位数初值。

rotate: mov r0,r1, lsr r2 ;移位。

and r0, r0, #0x0f ;屏蔽无用高位。

add r0,r0, #0x30convert hex to ascii

cmp r0, #0x3ais it>9?

blt printitjump if digit = 0 to 9 (30h-39h)

add r0,r0, #7digit is a to f(41h-46h)

printit: swine swi_writec显示r0中的字符。

sub r2,r2,#4移动位数-4

add r4,r4,#1计数器+1

cmp r4, #

jnz rotate

endpro: swi swi_exit执行结束

xdcw x1,x2,x3,x4,x5,x6,x7,x8,x9,x10

end程序结束。

4、arm汇编语言编程例子2。阅读、理解并掌握以下编程思路和arm汇编程序**。

说明]设有数组x和y。x数组中有x1、x2、……x10十个数,y中有y1、y2、……y10十个数。编制程序计算:

z1=x1+y1z2=x2+y2z3=x3-y3 z4=x4-y4

z5=x5-y5z6=x6+y6z7=x7-y7 z8=x8-y8

z9=x9+y9z10=x10+y10

嵌入式ARM嵌入式系统设计

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

嵌入式linux与嵌入式系统设计

ustc bbs embedded斑竹d j主讲。感谢hongtao chen以及networking斑竹jun zxjun的大量幕后工作!感谢james zhang以及网络中心提供聚会的场地和大力支持!欢迎访问我的主页。聚会详情如下 名称 嵌入式系统设计以及嵌入式linux展望 时间 本周星期天 ...

嵌入式嵌入式系统原理与设计

第六章 iic总线。一 iic总线介绍 i2c总线 1.结构。2.工作原理 a b 主机 主设备 负责生成scl时钟,同时负责发出其实信号s和终止信号p 从机 从设备 被主机寻址的器件。1 a检测i2c总线是否 空闲 如果空闲 高 a发出起始信号 scl高,sda 2 寻址选择目标器件b,发送7位地...