ARM开发板使用手册

  • 格式:doc
  • 大小:485.00 KB
  • 文档页数:20

ARM开发板使用手册PHILIP LPC2132ARM7TDMI第一章介绍LPC2132开发板是专门为arm 初学者开发的实验板,用户可以做基础的arm实验,也可以做基于ucos-ii的操作系统实验。

本系统的实验源代码全部开放,用户可以在此基础上开发产品,减少重复劳动。

由于LPC2132体积很小,并且功能强大,因此特别适合需要复杂智能控制的场合,其运行速度高于早期的80486计算机,而体积只有指甲大。

我们已经将LPC2132产品成功应用在干扰比较强的工业场合,经过6个月的运行,各项指标符合要求。

因此我们特别推荐这一款开发板作为ARM初学者入门。

由于此款开发板体积很小,非常适合直接应用在工业以及民用智能控制器的场合。

LPC2132 CPU介绍LPC2131/2132/2138 是基于一个支持实时仿真和跟踪的16/32 位ARM7TDMI-STM CPU,并带有32kB、64kB 和512kB 嵌入的高速Flash 存储器。

128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。

对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。

较小的封装和很低的功耗使LPC2131/2132/2138 特别适用于访问控制和POS 机等小型应用中;由于内置了宽范围的串行通信接口和8/16/32kB 的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。

多个32 位定时器、1个或2 个10 位8 路的ADC、10 位DAC、PWM 通道、47 个GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制应用以及医疗系统。

主要特性●●16/32 位ARM7TDMI-S 核,超小LQFP64 封装。

●●8/16/32kB 的片内静态RAM 和32/64/512kB 的片内Flash 程序存储器。

128 位宽度接口/加速器可实现高达60 MHz 工作频率。

●●通过片内boot 装载程序实现在系统编程/在应用编程(ISP/IAP)。

单扇区或整片擦除时间为400ms。

●●256 字节行编程时间为1ms。

●●EmbeddedICE®RT 和嵌入式跟踪接口通过片内RealMonitorTM 软件对代码进行实时调试和高速跟踪。

●● 1 个(LPC2131/2132)或2 个(LPC2138)8 路10 位的A/D 转换器,共提供16 路模拟输入,每个通道的转换时间低至2.44us。

●● 1 个10 位的D/A 转换器,可产生不同的模拟输出。

(仅适用于LPC2132/2138)●● 2 个32 位定时器/计数器(带4 路捕获和4 路比较通道)、PWM 单元(6 路输出)和看门狗。

●●实时时钟具有独立的电源和时钟,可在节电模式中极大地降低功耗。

●●多个串行接口,包括2 个16C550 工业标准UART、2 个高速I2C 接口(400 kbit/s)、SPITM 和具有缓冲作用和数据长度可变功能的SSP。

●●向量中断控制器。

可配置优先级和向量地址。

●●小型的LQFP64 封装上包含多达47 个通用I/O 口(可承受5V 电压)。

●●多达9 个边沿或电平触发的外部中断管脚。

●●通过片内PLL(100us 的设置时间)可实现最大为60MHz 的 CPU 操作频率。

●●片内晶振频率范围:1~30 MHz。

●●低功耗模式:空闲和掉电。

●●可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。

●●通过外部中断将处理器从掉电模式中唤醒。

●●单电源,具有上电复位(POR)和掉电检测(BOD)电路:●●CPU 操作电压范围:3.0V~3.6 V (3.3 V± 10﹪),I/O 口可承受5V 的电压。

实验开发板的中央处理器采用Philips最新的LPC2132 低功耗32位 ARM处理器,内带16k RAM,64K flash,工作频率最高60M。

实验种类可以做如下实验(实际上不限于这些):LCD液晶控制器实验,您可以掌握在没有操作系统的支持下编写LCD液晶驱动以及菜单制作●●GPIO实验,通过GPIO驱动发光管●●SPI总线实验,可以掌握对SPI外设的操作,如74HC595的操作●●A/D D/A实验,掌握模拟信号采样并转化为数字量,以及数字量生成模拟电压●●PWM实验,掌握脉宽调制的生成●●实时时钟实验,掌握对内部时钟的设置以及读取●●脉冲计数实验,掌握用中断方式对外部跳变信号的计数以及查询方式计数●●串行通信实验,掌握RS232通信,不同波特率的设置,查询方式通信以及中断方式通信●●I2C总线实验,掌握如何通过I2C对 E2ROM 24C04操作●●键盘实验,掌握键盘扫描原理以及如何获得键码●●7段LED实验,掌握在LED显示数字的技巧●●低功耗实验,掌握如何使处理器进入节电模式●●通过串口下载程序代码,掌握远程程序修改的方法●●中断控制实验,学习如何使程序进入管态以及核态,学习中断向量的设置,以及C语言环境下对中断的处理。

●●掌握如何在没有硬件的情况下在VC环境编写嵌入式应用程序,并模拟真实环境调试。

进一步掌握在硬件平台已经完成后如何把VC环境编写嵌入式应用程序移植到硬件平台上。

●●掌握硬件驱动的API函数的编写、API调用的方法。

掌握函数库的生成以及库函数的调用,从而使源程序中关键部分的源代码不可见,保护知识产权。

●●掌握用C++对嵌入式应用编程,掌握C,C++以及汇编混合编程●●掌握如何用UML建立模型并且生成C++程序,掌握对自动生成的C++程序的嵌入式改写并移植到目标系统●●操作系统实验,ucos—ii也可以直接用开发板做智能控制器、智能仪表等工业设备。

实验器材清单简易仿真头一个20芯扁平电缆1根,并口电缆一根,串口电缆一根,实验板一块,5v电源一个光盘一张,光盘包括ads1.2,arm参考资料,实验源代码,调试代理,外设资料,原理图在使用本开发板前,应该具备的基础知识包括:ARM体系结构和编程,会C语言。

第二章开发环境的搭建开发环境我们采用ADS1.2集成环境,请先安装ADS1.2。

如何使用ADS1.2请参考光盘内的手册。

ARM开发环境和51单片几很不一样。

熟悉51的都知道用仿真器来调试,但arm却不一样,它通过JTAG接口仿真。

因此这里先介绍JTAG仿真的概念。

JTAG调试接口为什么现在的微处理器采用JTAG?当前许多复杂的微处理器的内核不再能通过芯片的外设直接访问,调试芯片程序变得困难。

还有,为了缩短开发周期加快产品进入市场的速度,直接将CPU安装在电路板上调试也更接近实际工作情况。

这些都需要JTAG装置来完成。

JTAG的引脚定义遵循JTAG的器件包含以下几个管脚TCK 测试时钟输入,它和系统时钟不同TDI测试数据输入,通过它数据移位进入器件TDO测试数据输出,通过它数据从器件移出TMS测试模式选择,在JTAG规范中TMS命令选择测试模式TRST测试复位输入,它为TAP控制器提供异步初始化器件的测试支持功能是通过TAP控制器来实现的。

TAP是一个状态机,它控制控制所有相关操作,每种遵循JTAG的器件都有自己的TAP控制器,通过TCK和TMS可以使状态机内部的状态发生变化,从而支持诸如断点、单步、内部观察等调试工作。

本章针对ARM7TDMI介绍调试结构。

ARM的调试体系采用协议转换器来使调试器通过JTAG与ARM核直接通信。

前面JTAG标准中提到的扫描链功能是测试用,这里把它作为调试用:捕获数据总线上的信号并向内核或存储器插入新的信息。

ARM7TDMI-S核内具有EmbeddedICE逻辑,EmbeddedICE逻辑提供对片内调试的支持。

调试指令直接通过扫描链插入ARM内核并执行。

根据插入调试指令的不同,内核可以处于观察、保存或改变状态。

ARM 的调试体系可以使程序指令执行速度处于调试速度或全速运行。

在ARM中采用JTAG的特点是:通过JTAG接口可以观察ARM内核状态和系统状态(注意:系统状态包括片内外设,不同于内核状态);不占用额外的目标系统资源;提供传统的断点访问和观察点访问;不再需要另外的UART端口来和监控程序通信。

围绕ARM内核有两个扫描链:围绕整个内核外围的一个扫描链以及仅仅覆盖数据总线和断点的扫描链。

由于后者的链比较短,从而使调试指令和数据可以快速插入内核,避免了额外的时间。

ARM的JTAG调试需要如下设备:●●一台运行调试软件的主机●●一个EmbeddedICE协议转换器。

EmbeddedICE协议转换器将远程调试协议命令转换成所需要的JTAG数据,从而对目标系统上的ARM7TDMI-S内核进行访问。

它包括两个部分:将串行数据信号转换成JTAG接口兼容信号的装置以及带有JTAG接口的ARM调试体系内核。

其中前半部分可以是仿真器硬件,后半部分是ARM片子本身就支持的。

根据功能需要,仿真器硬件可以做了比较复杂也可以很简单。

调试主机运行调试程序,如ADS,RealView,SDT等。

ICE协议转换器其实包含两部分:协议转换硬件和软件,复杂的硬件一般采用FPGA实现,简单的可以就用一片数字缓冲电路实现。

协议转换软件一般在调试主机上运行,可以是API的方式也可以用后台服务的方式。

调试主机和协议转换硬件之间可以采用各种方式连接:并行、串行、网络以及USB,只要最终递交给ICE协议转换器的数据一致就可以,这是通过运行在ICE 协议转换器上面的通信软件来实现的。

ICE协议转换器和目标板通过遵循JTAG电气规范的电缆连接。

简易仿真头的使用简易仿真头采用wiggler电缆,其使用过程如下:硬件连接按照下图连接仿真头、计算机以及实验板软件配置1 首次使用时先安装驱动(以后不用再安装)--- 执行文件下的安装驱动.exe安装好并口驱动和OCX2,安装完毕后即可运行Arm7Agent或Arm9Agent调试ARM7系统或ARM9系统3,如果在以后的使用过程中发现程序无法启动重新执行安装驱动.exe 即可4,在ADW(SDT)/AXD(ADS)的调试配置选项里选择remote_a.dll5,在ADW/AXD的调试配置里IP地址必须填写:127.0.0.1二常见问题1, THUMB/ARM混合编程时断点设置要素当CPU处于一种CPU模式时(THUMB或ARM) 断点只可以设置在当前模式下的指令处不可以设置在另一种模式下的指令解决方案设置一个断点在CPU模式切换指令处(如BX) 当程序运行到此指令并停下来后然后通过单步执行(Step)进入另一种状态这时候就可以在当前模式下任意设置断点了2, THUMB/ARM混合编程时因为ADW/AXD启动时默任的CPU模式为ARM模式如果你启动调试前你的ARM CPU 正在执行Thumb模式指令那么将会导致调试错误解决方案按一下你的板子的复位键,然后再启动ADW/AXD即可3, 为了加快软件影响单步执行速度现在暂时屏蔽了semihosting 功能4, 如果出现无法逼使CPU进入调试的提示只需要复位你的板子,重新启动软件即可5, 如果发现软件没有任何动作把它关了再启动6, 如果发现软件根本无法运行看不到其运行界面那么执行安装驱动.exe重新驱动OCX即可7, 如果出现打开并口失败,那么执行安装驱动.exe , 重新并口驱动即可8 如果提示检测不到ARM核如果你的CPU没坏供电正常那么就一定是你的JTAG板子问题了,应该参考常用的那种"SDT"或"Wiggler"接线然后在JTAG调试软件选择对应的选项SDT或wiggler或自定义9, 排除这些如果出现其他的调试错误,那么就是你设置ADW/AXD或你的板子问题了10 有时候,如果你计算机的防火墙开着,可能会使调试不正常,请设置防火墙为允许本代理程序运行,或者干脆关闭防火墙安装代理软件首先在光盘找到调试代理目录,安装并口驱动。