嵌入式课后习题整理.doc

上传人:ng****60 文档编号:3185254 上传时间:2019-05-24 格式:DOC 页数:6 大小:75.50KB
下载 相关 举报
嵌入式课后习题整理.doc_第1页
第1页 / 共6页
嵌入式课后习题整理.doc_第2页
第2页 / 共6页
嵌入式课后习题整理.doc_第3页
第3页 / 共6页
嵌入式课后习题整理.doc_第4页
第4页 / 共6页
嵌入式课后习题整理.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、嵌入式系统的定义:在系统中有些计算机是作为某个专用系统中的一个部件而存在的,像这样“嵌入”到更大、专用的系统中的计算机系统,称之为“嵌入式计算机” 、 “嵌入式计算机系统”或“嵌入使系统” 。嵌入式系统的组成::通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几大部分组成。 实时系统(Real Time System):是指产生系统输出的时间对系统至关重要的系统。从输入到输出的滞后时间必须足够小到一个可以接受的时限内。 实时系统的分类:根据响应时间可分为 3 种类型:1强实时系统 2弱实时系统 3一般实时系统根据确定性可分为 2 种类型:1硬实时系统 2软实时系统实时操作系统(RTOS

2、)是具有实时性且能支持实时控制系统工作的操作系统。 RTOS 与通用计算机 OS 的区别:实时性:响应速度快,只有几微秒;执行时间确定、可预测;代码尺寸小:10100KB,节省内存空间,降低成本;应用程序开发较难;需要专用开发工具:仿真器、编译器和调试器等。单片机系统、嵌入式系统和 SOC 系统三者有何区别和联系?单片机位的电子器件,内部集成 Flash、RAM、总线逻辑、定时器/ 计数器、WatchDog、I/O,串行口、脉宽调制输出、A/D,D/A 等各种必要的功能模块和外围部件。SoC 就是 System on Chip,SoC 是一种基于 IP(Intellectual Propert

3、y)核嵌入式系统设计技术。它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP 或是其他的微处理器核心,加上通信的接口单元交叉开发环境:是指实现编译、链接和调试应用程序代码的环境与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境之中。宿主机(Host) 是一台通用计算机,一般是 PC 机。它通过串口或网络连接与目标机通信。目标机(Target) 可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。嵌入式系统的调试方法:1源程序模拟器方式 2监控器方式 3仿真器方式源程序模拟器(Simulator)是在 PC 机上,通过软件手段

4、模拟执行为某种嵌入式处理器编写的源程序的测试工具。监控器(Monitor)调试方式需要目标机与宿主机协调。首先,在宿主机和目标机之间通过串口、以太口等建立物理连接,然后在宿主机上运行调试器,目标机运行监控程序和被调试程序,从而建立宿主机与目标机的逻辑连接。宿主机通过调试器与目标机的监控器建立通信连接,它们相互间的通信遵循远程调试协议。仿真器调试方式是在微处理器的内部嵌入额外的控制模块。当特定的触发条件满足时,系统将进入某种特殊状态。在这种状态下,被调试的程序暂时停止运行,宿主机的调试器通过微处理器外部特设的通信口访问各种寄存器、存储器资源,并执行相应的调试指令。BSP(板级支持包)由于嵌入式系

5、统中采用微处理器微控制器的多样性,嵌入式操作系统的可移植性显得更加重要。所以有些嵌入式操作系统的内核明确分成两层,上层一般称为“内核” ,而低层则称为“硬件抽象层” ,即 BSP。板级支持包的主要功能包括两部分:在系统启动时,对硬件进行初始化 为驱动程序提供访问硬件的手段ARM 即 Advanced RISC Machines 的缩写ARM 处理器的三大特点是:耗电少、成本低、功能强;16 位/32 位双指令集;全球众多合作伙伴保证供应。ARM 体系结构的特点:高的指令吞吐率出色的实时中断响应体积小、性价比高的处理器宏单元ARM 内含 37 个寄存器,其中:31 个通用 32 位寄存器6 个状

6、态寄存器 指令执行的阶段计算机中的 1 条指令的执行可以分若干个阶段: 取指,从存储器中取出指令(fetch); 译码,指令译码(dec): 取操作数,假定操作数从寄存器组中取(reg); 执行运算(ALU); 存储器访问,操作数与存储器有关(mem); 结果写回寄存器(res)。 ARM7 体系结构的 3 级流水线:采用了 3 级流水线,分为取指,译码和执行。ARM9 体系结构的 5 级流水线5 级流水线把存储器的取指与数据存取分开,增加了 I-Cache 和 D-Cache 以提高存储器存取的效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。这样,5 级流水线分为:取指、指令译码

7、、执行、数据缓存和写回。 ARM AMBA 接口ARM 处理器也可以通过先进微控制器总线架构 AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及 I/O 部件。AMBA 事实上已成为片上总线OCB(On Chip Bus)标准。AMBA 包括以下三类总线:先进高性能总线 AHB先进系统总线 ASB先进外围总线 APBARM7TDMI 名字原义如下:ARM7 ARM6 32 位整数核的 3V 兼容的版本;T 16 位压缩指令集 Thumb;D 在片调试(Debug )支持,允许处理器响应调试请求暂停;M 增强型乘法器(Mul

8、tiplier) ,与以前处理器相比性能更高,产生全 64 位结果;I 嵌入式 ICE 硬件提供片上断点和调试点支持。主要特点采用了 3 级流水线结构,指令执行分为取指、译码和执行等 3 个阶段;ARM9TDMI主要特点采用指令和数据分离访问的方式,即采用了指令 Cache 和数据 Cache。用专门硬件来直接完成 ARM 与 Thumb 指令的译码。ARM9TDMI 也有协处理器接口,允许在芯片增加浮点、数字信号处理或其他专用的协处理器。ARM9TDMI 也提供相应的软核。ARM9E-S 是具有 DSP 功能的能执行 v5TE 版ARM 指令的 ARM9TDMI 软核,当然其芯片面积要增加

9、30。在 ARM9 流水线设计中,增加专用流水段用于存储器访问和将结果写回到寄存器组。而且,寄存器读也移到译码段。这些改变通过减少在单一时钟周期内操作最大的逻辑数目,允许更高的时钟频率。 ARM920T 处理器核是在 ARM9TDMI 处理器内核基础上,增加了分离式的指令 Cache 和数据 Cache,并带有相应的存储器管理单元 I-MMU 和 D-MMU、写缓冲器及 AMBA 接口等。ARM 处理器支持下列数据类型:Byte 字节, 8 位;Halfword 半字, 16 位(半字必须与 2 字节边界对准) ;Word 字,32 位(字必须与 4 字节边界对准) 。处理器 模 式 说 明用

10、户 usr 正常程序执行模式FIQ fiq 支持高速数据传送或通道处理IRQ irq 用于通用中断处理管理 svc 操作系统保护模式中止 abt 实现虚拟存储器和/或存储器保护未定义 und 支持硬件协处理器的软件仿真系统 sys 运行特权操作系统任务ARM 体系结构支持 7 种处理器模式 。处理器模式 说明用户 usr 正常程序执行模式FIQ Fiq 支持高速数据传送或通道处理IRQ irq 用于通用中断处理管理 svc 操作系统保护模式中止 abt 实现虚拟存储器和/或存储器保护未定义 und 支持硬件协处理器的软件仿真系统 sys 运行特权操作系统任务硬件启动程序的工作一般包括:(1)

11、分配中断向量表(2) 初始化存储器系统(3) 初始化各工作模式下的堆栈(4) 初始化有特殊要求的硬件模块(5) 初始化用户程序的执行环境(6) 切换处理器的工作模式(7) 呼叫主应用程序C 语言与汇编语言混合编程应遵守的规则在 C 程序和 ARM 汇编程序之间相互调用时必须遵守 ATPCS 规则。ATPCS 规定了一些子程序间调用的基本规则,比如:寄存器的使用规则子程序之间通过寄存器 r0r3 来传递参数,当参数个数多于 4 个时,使用堆栈来传递参数。在子程序中,使用寄存器 r4 r11 保存局部变量。寄存器 r12 用于保存堆栈指针 SP,当子程序返回时使用该寄存器出栈,记作 IP。寄存器r

12、13 用作堆栈指针,记作 SP。寄存器 r14 称为链接寄存器,记作 LR。该寄存器用于保存子程序的返回地址。寄存器 r15 称为程序计数器,记作 PC。 堆栈的使用规则堆栈采用满递减类型(FD,Full Descending) ,即堆栈通过减小存储器地址而向下增长,堆栈指针指向内含有效数据项的最低地址。 参数的传递规则整数参数的前 4 个使用 r0r3 传递,其他参数使用堆栈传递;浮点参数使用编号最小且能够满足需要的一组连续的 FP 寄存器传递参数子程序的返回结果为一个 32 位整数时,通过 r0 返回;返回结果为一个 64 位整数时,通过r0 和 r1 返回;依此类推。结果为浮点数时,通过

13、浮点运算部件的寄存器 F0、D0 或 S0 返回汇编程序调用 C 程序的方法为:首先在汇编程序中使用 IMPORT 伪指令事先声明将要调用的 C 语言函数;然后通过 BL 指令来调用 C 函数。 例如在一个 C 源文件中定义了如下求和函数:int add(int x,int y)return(x+y);调用 add()函数的汇编程序结构如下: IMPORT add ;声明要调用的 C 函数MOV r0,1MOV r1,2BL add ;调用 C 函数 addC 程序调用汇编子程序的方法为:首先在汇编程序中使用 EXPORT 伪指令声明被调用的子程序,表示该子程序将在其他文件中被调用;然后在 C

14、 程序中使用 extern 关键字声明要调用的汇编子程序为外部函数。 例如在一个汇编源文件中定义了如下求和函数:EXPORT add ;声明 add 子程序将被外部函数调用add ;求和子程序 addADD r0,r0,r1MOV pc,lr在一个 C 程序的 main()函数中对 add 汇编子程序进行了调用:extern int add(int x,int y); /声明 add 为外部函数void main()int a=1,b=2,c;c=add(a,b); /调用 add 子程序S3C2410A 的 I/O 口工作原理 接口:是微处理器(CPU)与外界的连接部分(电路) ,是 CPU

15、 与外界世界进行信息交换的中转站。接口技术研究的是 CPU 如何与外部世界进行最佳耦合与匹配,以实现双方高效、可靠地进行信息交换的技术。端口:在接口电路中通常包含若干个寄存器,数据传送时,不同的信息送入不同的寄存器,能够用 IN/OUT 指令对其进行读 /写操作的寄存器称为端口寄存器,简称 “端口”端口分类:数据端口、状态端口和控制端口与配置 I/O 口相关的寄存器包括:端口控制寄存器(GPACON GPHCON)端口数据寄存器(GPADATGPHDAT)端口上拉寄存器(GPBUP GPHUP)杂项控制寄存器外部中断控制寄存器(EXTINTN)ARM 系统包括两类中断:一是 IRQ 中断,一是

16、 FIQ 中断。处理中断的步骤如下:(1)保存现场。保存当前的 PC 值到 R14,保存当前的程序运行状态到 SPSR。(2)模式切换。根据发生的中断类型,进入 IRQ 模式或 FIQ 模式。(3)获取中断源。以异常向量表保存在低地址处为例,若是 IRQ 中断,则 PC 指针跳到 0x18处;若是 FIQ 中断,则跳到 0x1C 处。IRQ 或 FIQ 的异常向量地址处一般保存的是中断服务子程序的地址,所以接下来 PC 指针跳入中断服务子程序处理中断。(4)中断处理。为各种中断定义不同的优先级别,并为每一个中断设置一个中断标志位。当发生中断时,通过判断中断优先级以及访问中断标志位的状态来识别到

17、底哪一个中断发生了。进而调用相应的函数进行中断处理。(5)中断返回,恢复现场。当完成中断服务子程序后,将 SPSR 中保存的程序运行状态恢复到 CPSR 中,R14 中保存的被中断程序的地址恢复到 PC 中,进而继续执行被中断的程序。通过对 G 口的操作控制 CPU 板左下角的 LED1 和 LED2 实现轮流闪烁。void Main(void)int flag, i;Target_Init(); /进行硬件初始化操作,包括对 I/O 口的初始化操作for(;)if(flag=0)for(i=0;i1000000;i+); /延时rGPGCON = rGPGCON /配置第 8、第 9 位为输出引脚rGPGDAT = rGPGDAT /第 8 位输出为低电平 第 9 位输出高电平for(i=0;i10000000;i+); /延时flag = 1;else for(i=0;i1000000;i+); /延时rGPGCON = rGPGCON /配置第 8、第 9 位为输出引脚rGPGDAT = rGPGDAT /第 8 位输出为高电平 第 9 位输出低电平for(i=0;i1000000;i+); /延时flag = 0; S3C2410A 能够接收 56 个中断请求,但只有 32 个中断信号(引脚。 )

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。