好文档 - 专业文书写作范文服务资料分享网站

林科大涉外嵌入式整理资料全

天下 分享 时间: 加入收藏 我要投稿 点赞

嵌入式系统的定义:在系统中有些计算机是作为某个专用系统中的一个部件而存在的,像这样“嵌入”到更大、专用的系统中的计算机系统,称之为“嵌入式计算机”、“嵌入式计算机系统”或“嵌入使系统”。

嵌入式系统的组成::通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几大部分组成。

实时系统(Real Time System):是指产生系统输出的时间对系统至关重要的系统。从输入到输出的滞后时间必须足够小到一个可以接受的时限。 实时系统的分类:

根据响应时间可分为3种类型:

1.强实时系统 2.弱实时系统 3.一般实时系统 根据确定性可分为2种类型: 1.硬实时系统 2.软实时系统

实时操作系统(RTOS)是具有实时性且能支持实时控制系统工作的操作系统。 RTOS与通用计算机OS的区别:

实时性:响应速度快,只有几微秒;执行时间确定、可预测; 代码尺寸小:10~100KB,节省存空间,降低成本; 应用程序开发较难;

需要专用开发工具:仿真器、编译器和调试器等。

单片机系统、嵌入式系统和SOC系统三者有何区别和联系?

单片机8位的电子器件,部集成Flash、RAM、总线逻辑、定时器/计数器、WatchDog、I/O,串行口、脉宽调制输出、A/D,D/A等各种必要的功能模块和外围部件。

SoC就是System on Chip,SoC是一种基于IP(Intellectual Property)核嵌入式系统设计技术。

它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元

交叉开发环境:是指实现编译、和调试应用程序代码的环境与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境之中。

宿主机(Host)是一台通用计算机,一般是PC机。它通过串口或网络连接与目标机通信。 目标机(Target) 可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。

嵌入式系统的调试方法:

1.源程序模拟器方式 2.监控器方式 3.仿真器方式 源程序模拟器(Simulator)是在PC机上,通过软件手段模拟执行为某种嵌入式处理器编写的源程序的测试工具。

监控器(Monitor)调试方式需要目标机与宿主机协调。首先,在宿主机和目标机之间通过串口、以太口等建立物理连接,然后在宿主机上运行调试器,目标机运行监控程序和被调试程序,从而建立宿主机与目标机的逻辑连接。宿主机通过调试器与目标机的监控器建立通信连接,它们相互间的通信遵循远程调试协议。

仿真器调试方式是在微处理器的部嵌入额外的控制模块。当特定的触发条件满足时,系统将进入某种特殊状态。在这种状态下,被调试的程序暂时停止运行,宿主机的调试器通过微处理器外部特设的通信口访问各种寄存器、存储器资源,并执行相应的调试指令。 BSP(板级支持包)

由于嵌入式系统中采用微处理器/微控制器的多样性,嵌入式操作系统的可移植性显得更加重要。所以有些嵌入式操作系统的核明确分成两层,上层一般称为“核”,而低层则称为“硬

件抽象层”,即BSP。

板级支持包的主要功能包括两部分: 在系统启动时,对硬件进行初始化 为驱动程序提供访问硬件的手段

ARM即Advanced RISC Machines的缩写 ARM处理器的三大特点是:

①耗电少、成本低、功能强; ②16位/32位双指令集;

③全球众多合作伙伴保证供应。 ARM体系结构的特点: ①高的指令吞吐率 ②出色的实时中断响应

③体积小、性价比高的处理器宏单元 ARM含37个寄存器,其中: 31个通用32位寄存器 6个状态寄存器 指令执行的阶段

计算机中的1条指令的执行可以分若干个阶段: ① 取指,从存储器中取出指令(fetch); ② 译码,指令译码(dec):

③ 取操作数,假定操作数从寄存器组中取(reg); ④ 执行运算(ALU);

⑤ 存储器访问,操作数与存储器有关(mem); ⑥ 结果写回寄存器(res)。 ARM7 体系结构的3级流水线:

采用了3级流水线,分为取指,译码和执行。 ARM9体系结构的5级流水线

5级流水线把存储器的取指与数据存取分开,增加了I-Cache和D-Cache以提高存储器存取的效率,增加了数据写回的专门通路和寄存器,以减少数据通路冲突。 这样,5级流水线分为:取指、指令译码、执行、数据缓存和写回。 ARM AMBA接口

ARM处理器也可以通过先进微控制器总线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及I/O部件。AMBA事实上已成为片上总线OCB(On Chip Bus)标准。 AMBA包括以下三类总线: 先进高性能总线AHB 先进系统总线ASB 先进外围总线APB

ARM7TDMI名字原义如下:

ARM7 ARM6 32位整数核的3V兼容的版本; T 16位压缩指令集Thumb;

D 在片调试(Debug)支持,允许处理器响应调试请求暂停; M 增强型乘法器(Multiplier),与以前处理器相比性能更高,产生全64位结果; I 嵌入式ICE硬件提供片上断点和调试点支持。

主要特点 处理器

用户

FIQ

模 式 usr fiq

说 明

正常程序执行模式

支持高速数据传送或通道处理

IRQ irq 用于通用中断处理

管理 svc 操作系统保护模式

abt 实现虚拟存储器和/或存储器保护 中止

未定义 und 支持硬件协处理器的软件仿真

系统 sys 运行特权操作系统任务

采用了3级流水线结构,指令执行分为取指、译码和执行等3个阶段; ARM9TDMI 主要特点

采用指令和数据分离访问的方式,即采用了指令Cache和数据Cache。 用专门硬件来直接完成ARM与Thumb指令的译码。

ARM9TDMI也有协处理器接口,允许在芯片增加浮点、数字信号处理或其他专用的协处理器。ARM9TDMI也提供相应的软核。ARM9E-S是具有DSP功能的能执行v5TE版ARM指令的ARM9TDMI软核,当然其芯片面积要增加30%。

在ARM9流水线设计中,增加专用流水段用于存储器访问和将结果写回到寄存器组。而且,寄存器读也移到译码段。这些改变通过减少在单一时钟周期操作最大的逻辑数目,允许更高的时钟频率。

ARM920T处理器核是在ARM9TDMI处理器核基础上,增加了分离式的指令Cache和数据Cache,并带有相应的存储器管理单元I-MMU和D-MMU、写缓冲器及AMBA接口等。 ARM处理器支持下列数据类型: Byte 字节, 8位;

Halfword 半字, 16位(半字必须与2字节边界对准); Word 字,32 位(字必须与4字节边界对准)。

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

(3) 初始化各工作模式下的堆栈 (4) 初始化有特殊要求的硬件模块 (5) 初始化用户程序的执行环境 (6) 切换处理器的工作模式 (7) 呼叫主应用程序

C语言与汇编语言混合编程应遵守的规则

在C程序和ARM汇编程序之间相互调用时必须遵守ATPCS规则。ATPCS规定了一些子程序间调用的基本规则,比如: 寄存器的使用规则

子程序之间通过寄存器r0~r3来传递参数,当参数个数多于4个时,使用堆栈来传递参数。 在子程序中,使用寄存器r4~r11保存局部变量。 寄存器r12用于保存堆栈指针SP,当子程序返回时使用该寄存器出栈,记作IP。寄存器r13用作堆栈指针,记作SP。寄存器r14称为寄存器,记作LR。该寄存器用于保存子程序的返回地址。寄存器r15称为程序计数器,记作PC。 堆栈的使用规则

堆栈采用满递减类型(FD,Full Descending),即堆栈通过减小存储器地址而向下增长,堆栈指针指向含有效数据项的最低地址。 参数的传递规则

整数参数的前4个使用r0~r3传递,其他参数使用堆栈传递;浮点参数使用编号最小且能够满足需要的一组连续的FP寄存器传递参数

子程序的返回结果为一个32位整数时,通过r0返回;返回结果为一个64位整数时,通过r0和r1返回;依此类推。结果为浮点数时,通过浮点运算部件的寄存器F0、D0或S0返回 汇编程序调用C程序的方法为:首先在汇编程序中使用IMPORT伪指令事先声明将要调用的C语言函数;然后通过BL指令来调用C函数。 例如在一个C源文件中定义了如下求和函数: int add(int x,int y){ return(x+y); }

调用add()函数的汇编程序结构如下: IMPORT add ;声明要调用的C函数 …

MOV r0,1 MOV r1,2

BL add ;调用C函数add

C程序调用汇编子程序的方法为:首先在汇编程序中使用EXPORT伪指令声明被调用的子程序,表示该子程序将在其他文件中被调用;然后在C程序中使用extern关键字声明要调用的汇编子程序为外部函数。

例如在一个汇编源文件中定义了如下求和函数: EXPORT add ;声明add子程序将被外部函数调用 …

add ;求和子程序add ADD r0,r0,r1 MOV 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与外界世界进行信息交换的中转站。接口技术研究的是CPU如何与外部世界进行最佳耦合与匹配,以实现双方高效、可靠地进行信息交换的技术。

端口:在接口电路常包含若干个寄存器,数据传送时,不同的信息送入不同的寄存器,能够用IN/OUT指令对其进行读/写操作的寄存器称为端口寄存器,简称“端口” 端口分类:数据端口、状态端口和控制端口 与配置I/O口相关的寄存器包括: 端口控制寄存器(GPACON-GPHCON) 端口数据寄存器(GPADAT-GPHDAT) 端口上拉寄存器(GPBUP-GPHUP) 杂项控制寄存器

外部中断控制寄存器(EXTINTN)

ARM系统包括两类中断:一是IRQ中断,一是FIQ中断。 处理中断的步骤如下:

(1)保存现场。保存当前的PC值到R14,保存当前的程序运行状态到SPSR。 (2)模式切换。根据发生的中断类型,进入IRQ模式或FIQ模式。

(3)获取中断源。以异常向量表保存在低地址处为例,若是IRQ中断,则PC指针跳到0x18处;若是FIQ中断,则跳到0x1C处。IRQ或FIQ的异常向量地址处一般保存的是中断服务子程序的地址,所以接下来PC指针跳入中断服务子程序处理中断。

(4)中断处理。为各种中断定义不同的优先级别,并为每一个中断设置一个中断标志位。当发生中断时,通过判断中断优先级以及访问中断标志位的状态来识别到底哪一个中断发生了。进而调用相应的函数进行中断处理。

(5)中断返回,恢复现场。当完成中断服务子程序后,将SPSR中保存的程序运行状态恢复到

林科大涉外嵌入式整理资料全

嵌入式系统的定义:在系统中有些计算机是作为某个专用系统中的一个部件而存在的,像这样“嵌入”到更大、专用的系统中的计算机系统,称之为“嵌入式计算机”、“嵌入式计算机系统”或“嵌入使系统”。嵌入式系统的组成::通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几大部分组成。实时系统(RealTimeSystem):是指产生系统输出的时间对系统至关重要的
推荐度:
点击下载文档文档为doc格式
5u6zp1odon207lq1bbd16zh7s4eqd201d2o
领取福利

微信扫码领取福利

微信扫码分享