资源描述
EasyARM2103嵌入式专题培训 山东省大学生电子竞赛,LPC2000系列ARM硬件基础,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,4.1 LPC2000系列简介,LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。,简介,芯片内部结构,LPC2000系列微控制器包含4大部分:,LPC2000系列微处理器,1MB,512KB,64 KB,32 KB,256KB,128KB,64KB,32KB,16 KB,8 KB,片内SRAM,0KB,4 KB,2 KB,16KB,8KB,LPC2136 LPC2146,LPC2103 LPC2131 LPC2141,LPC2101,LPC2102,LPC2105,LPC2106,LPC2888,片内Flash,LPC2101,LPC2102,LPC2103 LPC2131 LPC2141,LPC2210 LPC2290,LPC2124 LPC2194 LPC2129,LPC2212,LPC2136 LPC2146,LPC2220 LPC2880,LPC2138 LPC2148,LPC2106,LPC2888,LPC2294 LPC2292 LPC2214,LPC2378 LPC2368 LPC2366,LPC2387,LPC2478 LPC2468 LPC2458,LPC2470 LPC2460,LPC2134 LPC2144 LPC2114 LPC2119 LPC2104,LPC2132 LPC2142,LPC2000系列ARM硬件基础,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,LQFP48和PLCC44的小型封装,使得LPC2103系列ARM满足苛刻空间要求。特别适合于将小型化作为主要要求的应用。,更小尺寸,比其它系列ARM尺寸更小,LPC2103系列芯片新亮点,1、内置PLL倍频功能,将内核频率升至70MHz。 2、嵌入高速Flash,拥有128位宽度存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。,高达70MHz的内核速度,更高速度,LPC2103系列芯片新亮点,在完全掉电模式下,达到6uA的低功耗水平,使得LPC2103非常适合应用在低功耗设备上。例如,手持设备、野外监控设备等。,内核功耗最低至6A,更低功耗,LPC2103系列芯片新亮点,与高级51系列单片机相比,LPC2103系列具有极高的性/价比优势。尤其是LPC2101与单片机价格相差无几。,单片机的价格32位ARM的性能,更低价格,LPC2103系列芯片新亮点,LPC2000系列ARM硬件结构,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,EasyARM2103开发平台,EasyARM2103开发板是广州周立功单片机发展有限公司设计的系列开发套件之一,它采用了NXP公司基于ARM7TDMI-S核、LQFP48封装的LPC2103芯片,具有丰富的片内外设,支持JTAG仿真调试和ISP编程功能。,Easy2103硬件结构,EasyARM2103 开发板是广州周立功公司面向在校师生而研发的一款嵌入式开发套件,具有极高的性价比,配套提供详细的教材和大量完整的设计方案,适用于学习、竞赛和毕业设计多层次开发。 EasyARM2103开发板上提供了按键、发光二极管等常用的功能器件,具有RS-232接口电路和I2C存储器电路。用户可以更换兼容的CPU进行仿真调试,如LPC2101和LPC2102芯片等。开发板上所有的I/O口全部引出,灵活的跳线组合,极大的方便用户进行32位ARM嵌入式系统的开发实验。,硬件结构分析,LPC2103PACK,电源模块,实时时钟晶振,系统时钟晶振,按键和显示模块,串口模块,复位模块,JTAG接口,扩展口,结构框图,可进行GPIO实验,如按键输入、发光二极管输出; A/D转换实验; 串口通信实验,提供基于PC的人机界面; 具有I2C接口和SPI/SSP接口输出; 实时时钟控制实验; 定时器实验,定时输出和捕获等; WDT看门狗实验; 可进行外部中断实验,学习向量中断控制器(VIC)。,功能特性,外围电路设计,电源电路 时钟电路 复位和I2C电路 JATG接口电路 UART接口模块 按键与显示模块电路,LPC2103控制器需要双电源供电,电路采用SPX1117系列LDO芯片SPX1117M-3.3和SPX1117M-1.8将电压稳至3.3V和1.8V,0欧电阻用来隔离数字电源和模拟电源、数字地和模拟地。,电源模块电路,3.3V稳压芯片,1.8V稳压芯片,EasyARM2103系统时钟采用11.0592MHz外部晶振,使串口的波特率更精确,同时支持LPC2103微控制器内部的PLL电路及ISP(在系统编程)功能。实时时钟采用32.768KHz晶振。,时钟电路,11.0592MHz晶振,32.768 KHz晶振,由于ARM芯片的高速、低功耗和低工作电压的工作特性,导致其噪声容限低,对电源纹波、瞬态响应性能、时钟源的稳定性和电源监控的可靠性等诸多方面有很高的要求。 EasyARM2103开发板采用的是带有256字节存储空间、I2C接口的专用电源监控复位芯片CAT1025,保证了系统的可靠性。,复位和I2C接口电路,复位引脚,I2C引脚接上拉电阻,JTAG接口电路采用ARM公司提出的标准20脚JTAG仿真调试接口。其中在RTCK引脚处接一个4.7K的下拉电阻,将在系统复位后使能JTAG调试接口。,JTAG接口电路,RTCK引脚接下拉电阻,EasyARM2103开发板是3.3V供电系统,需要使用电平转换芯片SP3232E来进行RS-232电平转换。,UART接口电路,电平转换芯片SP3232E,EasyARM2103提供了3个独立的按键、4个发光二极管。显示电路中采用灌电流的驱动方式来驱动发光二极管,LPC2103芯片I/O口提供的灌电流大于其拉电流,可以保证了发光二极管的亮度。,显示电路,限流电阻,EasyARM2103提供了3个独立的功能按键:KEY1、 KEY2和KEY3。LPC2103微控制器P0口作为输入时,内部没有上拉电阻,需外接上拉电阻R17、R18、R19。,按键电路,上拉电阻,LPC2000系列ARM硬件结构,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,LPC2000系列片内存储器,LPC2000系列中除了LPC2210/2220/2290外,其它的ARM微处理器内部都带有容量不等的Flash,这为ARM芯片的单片应用带来可能。 片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度,加上特有的存储器加速功能,因此可以将程序直接放在Flash上运行。,片内FLASH程序存储器,2. 使用在系统编程技术(即ISP),通过UART0接口下载程序;,3.使用在应用编程技术(即IAP),在用户程序运行时对Flash进行擦除和/或编程操作,实现数据的存储和固件的现场升级。,片内Flash编程,片内Flash编程方法,1. 使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;,JTAG,UART0,片内Flash编程,片内Flash编程方法,1、使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序; 2、使用在系统编程技术(即ISP),通过UART0接口下载程序; 3、使用在应用编程技术(即IAP),在用户程序运行时对Flash进行擦除和/或编程操作,实现数据的存储和固件的现场升级。,片内存储器,LPC2000系列微控制器的片内RAM为静态RAM (SRAM),它们可用代码和/或数据的存储。 SRAM支持8位、16位和32位的读写访问。,片内静态RAM,LPC2000系列ARM硬件结构,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,EasyJTAG-H简介,EasyJTAG-H仿真器是一款新型的仿真器,目前,可以支持LPC2000系列ARM7微控制器和部分ARM9芯片,支持ADS1.2集成开发环境,支持单步、全速及断点等调试功能,支持下载程序到片内FLASH和特定型号的片外FLASH。 EasyJTAG-H仿真器采用ARM公司提出的标准20脚JTAG仿真调试接口。这款仿真器需要H-JTAG软件(调试代理)的支持。,H-JTAG软件安装,EasyJTAG-H仿真器需要H-JTAG软件的支持,所以在使用EasyJTAG-H之前,必须要先安装H-JTAG。 将H-JTAG压缩包解压,然后运行安装文件H-JTAG.EXE,根据安装提示完成安装即可。,H-JTAG软件安装流程,安装好的H-JTAG软件包含有H-JTAG Server(下文简称为H-JTAG)和H-Flasher,电脑桌面上它们的快捷图示:,H-JTAG软件安装流程,EasyJTAG-H使用,操作步骤: 将计算机并口与EasyJTAG-H仿真器相连; 将EasyJTAG-H仿真器的JTAG接口连接到EasyARM2103目标板上; 将EasyARM2103开发板JP8(调试选择端口)用跳线帽短路; 将开发板上电,注意是5V电源。,H-JTAG配置,1、双击 H-JTAG图标,将显示H-JTAG的主窗口,如图所示。单击“放大镜”图标按钮后,开始检测芯片内核。,检测芯片 内核,H-JTAG配置,2、点击菜单栏【Flasher】-【Auto Download】选择自动下载项。,在Flash中调试必须选中,H-Flasher配置,、点击H-Flash图标,在“1 Flash Selection”中选择CPU的型号,如图所示:,选中芯片LPC2103,H-Flasher配置,2、点击“4 Programing”选项,显示窗口如图所示:,芯片基本 信息,烧写目标文件路径,LPC2000系列ARM硬件结构,1、LPC2000系列简介 2、LPC2103微控制器 3、EasyARM2103硬件结构 4、LPC2000系列编程方法 5、EasyJTAG-H安装与使用 6、ADS1.2集成开发环境简介,ADS 1.2集成开发环境,LPC2000系列ARM硬件结构,6.1 专用工程模板 6.2 工程的建立 6.3 工程的编译连接 6.4 工程的调试仿真,LPC2103专用工程模板,ADS1.2提供了标准工程模板,使用各个模板建立的工程,它们的各项设置均有不同之处,方便生成不同结构的代码,如ARM可执行映象(生成ARM指令的代码)或Thumb可执行映象或Thumb、ARM交织映象。 LPC2103专用工程模板说明如下: (1)ARM Executable Image for LPC2103:无操作系统时,所有C代码均编译成ARM指令的工程模板。 (2) Thumb Executable Image for LPC2103:无操作系统时,所有C代码均编译成Thumb指令的工程模板。,工程模板的添加,添加LPC2103专用工程模板:将“配套光盘内容光盘内容v1.005.工程模板”目录下的所有文件拷贝到“ADS1.2安装目录Stationery”即可,操作如图所示。,ADS安装目录,LPC2000系列ARM硬件结构,6.1 专用工程模板 6.2 工程的建立 6.3 工程的编译连接 6.4 工程的调试仿真,工程的建立,1、启动ADS1.2 IDE 双击IDE的快捷图标,如图所示; (2) 从电脑桌面的“开始”菜单,启动ADS1.2 IDE程序。,2、应用LPC2103模板建立工程: 点击菜单【File】,选择【New】即弹出New对话框,如图所示。,工程存放路径(英文),工程名称,工程的建立,新建工程如图所示:,工程的编辑,打开旧工程 点击【File】菜单,选择【Open】即弹出“打开”对话框,找到相应的工程文件(*.mcp),单击【打开】即可。,LPC2000系列ARM硬件结构,6.1 专用工程模板 6.2 工程的建立 6.3 工程的编译连接 6.4 工程的调试仿真,工程的编译连接,RelInFlash将加密芯片,生成目标 工程建立后生成3个目标,分别是:DebugInRAM、DebugInFlash和RelInFLASH。,编译连接工程,编译连接 选项,编译连接工具条,编译连接工程,工具条如图所示:,DebugRel Settings:工程设置,如地址设置、输出文件设置、 编译选项等; Synchronize Modification Dates:同步修改日期 Make:编译连接(快捷键为F7);,编译连接工程,工具条如图所示:,Debug:启动AXD进行调试(快捷键为F5); Run:启动AXD进行调试,并直接运行程序; Project Inspector:工程检查,查看和配置工程中源文件信息。,工程的编译,编译工程 点击工程窗口“Make”图标,即可完成编译连接。,图标: 00,LPC2000系列ARM硬件结构,6.1 专用工程模板 6.2 工程的建立 6.3 工程的编译连接 6.4 工程的调试仿真,工程的调试,1、点击Debug调试按钮。,选择调试,工程的调试,添加驱动,2、添加H-JTAG驱动 弹出窗口后,点击窗口“ADD”按钮添加驱动,路径是前文所安装的H-JTAG目录下的H-JTAG .dll文件。,选中驱动,工程的调试,3、选中H-JTAG驱动 选中H-JATG驱动,点击“确定”,进入AXD调试环境。,4、进入AXD调试环境,工程的调试,文件操作工具条,调试观察窗口工具条,运行调试工具条,AXD调试器,(1) AXD文件操作工具条如图所示:,加载调试文件(Load Image) 重新加载文件(Reload Current Image)。由于AXD没有复位命令,所以通常使用Reload实现复位(直接更改PC寄存器为零也能实现复位)。,AXD调试器,(2)AXD调试观察窗口工具条如图所示:,打开寄存器窗口(Processor Registers) 打开观察窗口(Processor Watch) 打开变量观察窗口(Context Variable) 打开存储器观察窗口(Memory) 打开反汇编窗口(Disassembly),AXD调试器,(3)AXD运行调试工具条如图所示:,全速运行(Go) 停止运行(Stop) 单步运行(Step In),与Step命令不同之处在于对函数调用语 句,Step In命令将进入该函数。 单步运行(Step),每次执行一条语句,这时函数调用将被作为 一条语句执行。,AXD调试器,(3)AXD运行调试工具条如图所示:,单步运行(Step Out),执行完当前被调用的函数,停止在函数 调用的下一条语句。 运行到光标(Run To Cursor),运行到当前光标所在行时停止。 设置断点(Toggle BreakPoint),5、单击全速运行按钮,全速运行程序,工程的调试,单击全速运行按钮,实例应用调试,运行第一个程序,在ADS下的工程模板来编写程序,程序的功能设计为控制LED闪烁,硬件电路如图所示 :,将JP4短路,工程存放路径(英文),工程名称,工程的建立,应用LPC2103专用模板建立工程,添加代码,在main.c文件里添加代码,Main.c 文件,编译连接工程,在项目目标栏处选择DebugInRAM模式,然后编译连接工程。生成的目标代码用于在片内RAM调试。,编译连接 选项,工程的调试,单击全速运行按钮,单击全速运行按钮,全速运行程序,
展开阅读全文