嵌入式系统研究与开发.doc_第1页
嵌入式系统研究与开发.doc_第2页
嵌入式系统研究与开发.doc_第3页
嵌入式系统研究与开发.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统研究与开发。 1 嵌入式系统与ARM 嵌入式系统以应用为中心、以计算机技术为基础,软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。ARM(Advanced RSIC Machines)是一家出售芯片设计技术授权的公司,目前其设计的ARM微处理器占据了32位RISC(Reduced Instruction Set Computing)微处理器75以上的市场份额。2 ARM体系结构ARM已经从V3发展到V6。目前流行的ARM芯片内核有ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDMI等。Philips LPC2214(以下简称LPC2214) 是基于ARM7TDMI-S的高性能32位RISC微控制器,属于V4T版本。21 ARM处理器内核现代的VLS技术把附加的系统部件与内核集成在同一芯片中。其中,内核是最为密集和复杂的部件,是确定一个新系统时选择的关键。LPC2214的内核是ARM7TDMI(图1)的可综合版本(软核)。字母意义分别是:T高密度16位的Thumb指令扩展、D支持片上调试、M短时间64位乘法指令、IEmbededICE观察点硬件。 22 ARM 微控制器嵌入式微控制器(单片机)就是将整个计算机集成到一块芯片中。各厂商购买ARM公司的核心授权后,扩展与各自领域相关的片内外围电路,并集成在芯片中,使基于ARM处理器核的芯片多元化。设计者应尽可能采用片内外围电路完成所需的功能,来简化系统设计,提高系统可靠性。LPC2214微控制器(如图2)通过AHB 到VPB 的桥将VPB总线与AHB 总线相连,片内外设(中断控制器除外)连接在VPB总线上。LPC2214具有:多个串行接口,2 个16C550 工业标准UART、高速I2C 接口(400 kHz)、2 个SPI 接口;8路10 位A/D 转换器(03V测量范围),转换时间可低至2.44uS;2个32 位定时器(带4 路捕获和4 路比较通道);PWM 单元(6 路输出);实时时钟和看门狗;112个通用I/O 口(可承受5V 电压);2 个低功耗模式,空闲和掉电;片上集成高速闪存。税控收款机是一种带有计税功能的电子收款机,它内部装有自动记录但不能更改和抹掉的计税存储器。税控收款机由以下几部分组成:中文显示系统、中文打印系统、专用税控处理系统、外围设备驱动、电源、带物理安全保证的机箱。税控机制由以IC卡为基础的发行、管理、申报、维护、经营等系统组成。有关数据由税务部门用专用IC卡读出,以便稽查。此系统充分合理地利用了其片内实时时钟、外部存储器接口、UART等其它外设接口。片上闪存作为用户程序的存储空间,其高速零等待特性保证系统的实时运行。其片上程序保护机制,防止代码被任意更改和复制。整个系统的设计结构简洁,极具竞争优势。 3 系统移植ARM芯片获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks Nucleus、OSE、eCOS、C/OS-II等,我们将在税控收款机系统上移植C/OS-II。31 C/OS-II移植LPC2214的ARM7TDMI-S内核用ARM ADS作为编译器移植C/OS-II。包括以下内容:设置OS_CPUH头文件中与处理器和编译器相关的代码如:整数、浮点数、堆栈等数据类型定义,打开或者关闭中断函数设置,定义堆栈增长方向,任务切换的执行代码。用C语言在OS_CPU_CC文件中编写6个操作系统相关函数:任务堆栈初始化函数OSTaskStkInit( ),C/OS-II在执行某些操作时调用的用户函数:OSTaskCreateHook( )、OSTaskDelHook( )、OSTaskSwHook( )、OSTaskStatHook( )、OSTimeTickHook( )在OS_CPUASM文件中用汇编语言编写四个与处理器相关的函数:运行优先级最高的就绪任务OSStartHighRdy( )、任务级的任务切换函数OSCtxSw( )、中断级的任务切换函数OSIntCtxSw( )、中断服务函数OSTickISR( )。这里介绍的是通用方法,在具体的项目中还有很多工作要作。32 建立完整的嵌入式实时系统C/OS-II提供的仅仅是一个任务调度的内核,要想实现一个以LPC2214为主控单元,应用于税控收款机的嵌入式实时多任务操作系统,还需相当多的扩展工作。主要包括:建立文件系统相关的API函数:如初始化文件函数InitOSFile( )、通过文件缓冲区读写数据函数ReadOSFile( )和WriteOSFile( )、打开和关闭文件函数OpenOSFile( )和CloseOSFile( )。为外部设备建立驱动程序并规范相应的API函数。外设驱动程序可以对系统提供访问外围设备接口,把操作系统和外围设备分离开来。当外围设备改变的时候,只需更换相应的驱动程序,不必修改操作系统的内核以及运行在操作系统的软件。如:液晶驱动、键盘驱动、UART接口驱动等。创建图表用户接口GUI函数,实现Unicode字库的显示及相关函数。系统的消息队列。消息相关函数在各个任务之间、用户应用程序之间以及用户应用程序和系统的各个任务之间通常是通过消息来传递信息和同步的。税控收款机软件设计采用模块化思想,其用户程序的开发大体分为如下部分:主程序、自检诊断模块、IC卡读写模块、UART通讯模块、开票模块、液晶显示和按键等人机接口模块。 4ARM体系中的调试调试阶段在整个系统开发过程中所占的比重越来越大,因此拥有高效、强大的调试系统可以大大减少开发时间,加快产品面市时间,减轻系统开发工作量。ARM体系结构包含了完善的调试手段,下面仅介绍基于JTAG的ICE类型调试的原理。4.1 基于JTAG的ICE类型调试基于JTAG的调试系统结构(图4)包括:位于主机上的调试器、目标系统、主机和目标系统之间进行分析和转换的模块。JTAG调试是边界扫描方式,LPC2214微核电路部件的每个I/O引脚包含一个电路元件,此元件的接口连接到JTAG二进制位移位寄存器上进行测试,这样每个引脚都被JTAG采样或监听。ARM7TDMI(图2)的TAP控制器通过JTAG接口控制各个硬件扫描链,扫描链0可以访问所有外围部件;扫描链1是扫描链0的一部分,它可以访问数据总线和控制总线BREAKPT;扫描链2主要用于访问Embedded ICE逻辑部件中的各寄存器。ARM7TDMI调试接口建立在IEEE11491190标准之上,该标准定义了访问芯片的5个引脚串行通讯协议,可以通过5个引脚访问芯片内部,从而可以进行调试和测试。JTAG调试过程:设置程序断点、数据断点或相应外部请求,以便进入调试状态;当程序运行到断点指令时,处理器进入调试状态,此时断点指令还没执行;在调试状态用户执行所需的调试能,如停止目标程序执行、查看目标内核状态、查看和修改存储器的内容等。 5结束语本文通过对嵌入式实时操作系统C/OS-II中的关键技术及ARM体系组结构和调试的分析,结合LPC22

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论