嵌入式系统_实验指导书.doc
嵌入式系统实验指导书2011年11月4日第1章ADS 1.2 IDE工具简介41.1ADS 1.2简介41.2ADS 1.2集成开发环境练习5第2章ARM指令系统及运算基础实验112.1二进制数加减运算112.2带符号数的加减法运算132.3简单分支程序设计162.4数据块转储实验(循环程序设计)172.5数值1到数值100的累加程序设计182.6搜寻最大数、最小数程序设计20第3章ARM(LPC2000系列)体系结构实验233.1EasyARM2131实验板简介233.2JTAG仿真器的启动与设置233.3基于嵌入式系统的C语言程序实验253.4GPIO输出控制实验1263.5GPIO输出控制实验2283.6GPIO输入实验303.7外中断实验313.8定时器基本功能实验1(匹配反转输出功能应用)343.9定时器基本功能实验2(定时器中断)353.10UART串行数据通信实验1(查询方式)373.11UART 串行数据通信实验2(中断方式)40 引 言本实验指导书包含三部分,分别是ADS1.2 IDE工具简介、ARM指令系统及运算基础实验和ARM(LPC2000系列)体系结构实验。其中,第二部分的实验内容是借助ADS的编译器和调试器进行仿真调试,学习有关ARM 7指令系统指令实验,主要目的是掌握ARM7的指令系统和开发工具的使用,理解ARM CPU的工作过程;第三部分的实验内容是借助广州周立功公司开发的LPC2131实验板,学习配置ARM芯片内各模块部件,初步掌握简单嵌入式系统的构成原理和简单应用。第1章 ADS 1.2 IDE工具简介1.1 ADS 1.2简介 ARM ADS全称为ARM Developer Suite,是由ARM公司提供的专门用于ARM 处理器应用开发和调试的综合性工具软件。目前使用的ADS1.2版本是一款功能强大的开发工具和易于使用的集成开发环境(Integrated Development Environment,IDE)。它可以安装在Windows NT4,Windows 2000,Windows 98,Windows 95,Windows XP和Windows Me操作系统。ADS主要包含CodeWarrior IDE、AXD两部分; CodeWarrior IDE工具主要用于工程的管理配置、源程序的编辑、编译和链接;嵌入式系统开发人员在此环境中,用C、C+或ARM汇编语言编写ARM和Thumb处理器源程序,将源代码文件、库文件、其他相关的文件以及编译环境设置等组织在一个工程中,并可以设置生成在SRAM调试(DebugInSRAM)、在Flash调试(DebugInFLASE)或发布版(RelInFLASH)等不同的生成目标。各生成目标在同一个工程中共享源文件、库文件等,便于用户在不同开发阶段的使用。 AXD主要用于工程的下载和调试。嵌入式系统开发人员使用此工具软件可以对用户程序进行诸如断点的设置与清除、程序运行控制、单步执行、寄存器数据监视和变量的查看等调试操作。另外,AXD挂接在CodeWarrior IDE中,用户可在CodeWarrior IDE中直接点击启动AXD,调试用户程序;也可以单独启动AXD,加载、调试用户代码。1.2 ADS 1.2集成开发环境练习1. 实验目的学习ADS1.2集成开发环境的使用方法。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容(1) ADS的启动;(2) 使用asm for lpc2131工程模板,建立一个新的工程。(3) 在模板文件main.S文件中,加入用户汇编代码。(4) 编译链接工程。(5) 调试工程。(6) 学习ADS工具的使用。4. 实验预习要求阅读ADS集成开发环境及仿真器应用文档或其它相关资料,了解系统调试技术,了解ADS、AXD的基本功能。5. 实验步骤 启动ADS1.2IDE集成开发环境。 在ADS主窗口主菜单选择File->New,使用asm for lpc2131工程模板建立一个工程(图例中工程名称为:mabo_test1),指定工程路径(图例中工程路径为 D:arm_projectmabo_test1)。 点击确认<按钮>,创建工程。 在mabo_test1工程窗口,双击模板文件main.S,打开该文件。 可在主窗口菜单选择Edit->Perferences,设置字体和字号。 在main.S文件编辑窗的 “add the user code here. 添加用户代码”行下建立用户汇编程序代码 。ADS窗口工具条行用户工程窗用户代码编辑窗在此处添加用户代码 选择Project->Make(或快捷键<F7>),编译链接整个工程。若编译成功,则Erros & Warnings对话框会报告编译错误为0,此时即可对工程进行仿真。ADS窗口主菜单编译报告窗口 选择Project->Debug(或快捷键<F5>),IDE环境就会启动AXD调试软件。AXD寄存器窗口,可点击打开各模式寄存器集蓝色箭头指向当前待执行指令执行控制工具图标AXD内存显示窗口6. 调试方法 单步运行;在AXD调试器主窗口,选择 Execute -> Step (或快捷键<F10>),处理器执行一行代码; 设置断点;在AXD调试器“代码调试窗口”双击目标代码行,若出现红色实心圆点,则表示断点设置成功;然后选择Execute->Go全速运行,处理器执行程序停止在断点行; 运行到光标行;在AXD调试器“代码调试窗口”单击选择目标代码行,然后在AXD调试器主窗口,选择Execute->Run to Cursor运行到光标处;通过断点调试可以观察ARM寄存器和存储单元的数值变化,具体操作方法在后面的实验中会作详细介绍。指定显示内存的地址空间AXD调试代码窗口AXD调试窗口7. 思考(1) 工程模板有哪些作用?(提示:对照VC Studio IDE。)(2) 如何强行重新编译工程的所有文件?(提示:选择Project->Remove Object Code删除工程中的*.obj文件。)第2章 ARM指令系统及运算基础实验2.1 二进制数加减运算1. 实验目的l 了解ADS1.2集成开发环境及ARMulator软件仿真。l 掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。l 学习使用LDR/STR/ADD/SUB指令完成存储器的访问及二进制数据加减运算。l 领会处理器进行数据处理的方式原理。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容(1) 使用LDR指令读取Data1、Data2数据,完成两数相加/减,将结果写入到Data3单元。(2) 使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0和R1的值,打开存储器观察窗口(Memory)监视Data1、Data2和Data3存储单元的值。4. 实验预习要求学习ADS工程编辑和AXD调试工具的使用,二进制运算,处理器运行原理。5. 实验步骤 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板建立一个工程TEST2。 在模板文件main.S中,补加用户代码,编写实验程序,保存。 选择主窗口菜单 Project->Make(或直接快捷键<F7>),联编工程; 联编无错后,选择主窗口菜单Project->Debug,启动AXD进行软件仿真调试。 注意首次使用 AXD 时,需要设置 AXD 仿真环境,AXD主菜单:选择Options->Configure Target,打开 Choose Target窗口,并在其中选择:ARMUL仿真器;方法如下图示:备注:ARMUL仿真器是AXD环境下的软件仿真器,在PC机上仿真了ARM处理器的执行情况;可用于软件算法调试,不能仿真硬件外设系统。配置 AXD 目标配置 AXD 使用ARMUL 软件仿真器 打开寄存器窗口(Registers),选择Current项,监视R0、R1和R2的值。打开存储器观察窗口(Memory)设置观察Data1、Data2和Data3单元值,显示方式Size为32bit。6. 实验参考程序Data3 = Data1 + Data2 运算汇编指令实验1的参考程序见Error! Reference source not found.程序清单 21 汇编指令实验1参考程序AREAExample1,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口CODE32; 声明32位ARM指令STARTLDRR11, =Data1; R11 <=address( Data1)LDRR0, R11; R0 <= Data1LDRR11, =Data2; R11 <=address( Data2)LDRR1, R11; R0 <= Data2ADDR2, R1, R0LDRR11, =Data3; R11 <=address( Data3)STRR2,R11; R1 <= R2,即设置COUNT为0HALTBHALTData1DCD 0xData2DCD 0xData3DCD 0x00ENDData3 = Data2 Data1 运算汇编指令实验2的参考程序见Error! Reference source not found.。程序清单 22 汇编指令实验2参考程序AREAExample1,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口CODE32; 声明32位ARM指令STARTLDRR11, =Data1; R11 <=address( Data1)LDRR0, R11; R0 <= Data1LDRR11, =Data2; R11 <=address( Data2)LDRR1, R11; R0 <= Data2SUBR2, R1, R0LDRR11, =Data3; R11 <=address( Data3)STRR2, R11; R1 <= R2,即设置COUNT为0HALTBHALTData1DCD 0xData2DCD 0xData3DCD 0x00END7. 思考(1) LDR伪指令与LDR加载指令的功能和应用有哪些区别,举例说明?(提示:LDR伪指令的形式为“LDR Rn,=expr”。)(2) LDR/STR指令的前索引偏移指令应如何编写?指令是怎样操作的?(3) 在AXD调试是如何复位程序?(提示:选择File->Reload Current Image重新加载映像文件。)2.2 带符号数的加减法运算1. 实验目的l 了解ADS1.2集成开发环境及ARMulator软件仿真。l 掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。l 学习使用LDR/STR/ADD/SUB指令完成存储器的访问及带负号数的加减运算。l 领会处理器进行数据处理的方式原理及符号数的表示与运算。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容(1) 使用LDR指令读取Data1、Data2数据,完成两数相加/减,将结果写入到Data3单元。(2) 使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0和R1的值,打开存储器观察窗口(Memory)监视Data1、Data2和Data3存储单元的值。(3) 注意观察“CPSR_标志位”的情况,领会CPSR标志位的工作情况与含义;(4) 注意观察符号数的计算机表示方式;4. 实验预习要求学习ADS工程编辑和AXD调试工具的使用,符号数的表示与运算,处理器运行原理。5. 实验步骤(1) 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板建立一个工程TEST2。(2) 在模板文件main.S中,补加用户代码,编写实验程序,保存。(3) 选择主窗口菜单 Project->Make(或直接快捷键<F7>),联编工程;(4) 联编无错后,选择主窗口菜单Project->Debug,启动AXD进行软件仿真调试。(5) 打开寄存器窗口(Registers),选择Current项,监视R0、R1和R2的值。打开存储器观察窗口(Memory)设置观察Data1、Data2和Data3单元值,显示方式Size为32bit,注意观察CPSR寄存器中的各标志位的情况。6. 实验参考程序Data3 = Data1 + Data2 运算汇编指令实验1的参考程序见Error! Reference source not found.。程序清单 23 汇编指令实验3参考程序INCLUDELPC2294.INC; Include the head file 引入头文件;声明MAIN函数;Export MAIN functon EXPORT MAIN ;MAIN Function主程序 CODE32 AREA main,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口 CODE32; 声明32位ARM指令MAIN;add the user code here. 添加用户代码 LDRR11, =Data1; R11 <=address( Data1)LDRR0, R11; R0 <= Data1LDRR11, =Data2; R11 <=address( Data2)LDRR1, R11; R0 <= Data2ADDSR2, R1, R0LDRR11, =Data3; R11 <=address( Data3)STRR2,R11; R1 <= R2,即设置COUNT为0HALTBHALTData1DCD -18Data2DCD 6Data3DCD 0ENDData3 = Data2 Data1 运算汇编指令实验4的参考程序见Error! Reference source not found.。程序清单 24 汇编指令实验4参考程序INCLUDELPC2294.INC; Include the head file 引入头文件;声明MAIN函数;Export MAIN functon EXPORT MAIN ;MAIN Function主程序 CODE32 AREA main,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口 CODE32; 声明32位ARM指令MAIN;add the user code here. 添加用户代码 LDRR11, =Data1; R11 <=address( Data1)LDRR0, R11; R0 <= Data1LDRR11, =Data2; R11 <=address( Data2)LDRR1, R11; R0 <= Data2SUBSR2, R1, R0LDRR11, =Data3; R11 <=address( Data3)STRR2,R11; R1 <= R2,即设置COUNT为0HALTBHALTData1DCD 0xData2DCD 0xData3DCD 0END7. 思考(1) 模拟32bit处理器对带符号数(63)+(-65)在计算机中的表示与运算。(2) 参考程序清单中关于加减法指令,如果不加S后缀的话,对CPSR会有什么影响?2.3 简单分支程序设计1. 实验目的l 掌握ARM条件执行指令的使用方法,学习分支程序设计。l 加深领会处理器可以自动区分情况进行数据处理的方式原理。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容使用条件执行指令编写完成下述C代码功能的分支程序。if( x = = y ) r = a + b;else if( x < y )r = a b;else r = b a;4. 实验预习要求分支程序设计,ARM指令条件执行等相关知识。5. 实验步骤 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板,建立工程TEST3。 在模板文件main.S中,补加用户代码,编写实验程序,保存。 选择链接工程,选择Project->Debug,启动AXD进行软件仿真调试。 打开寄存器窗口(Processor Registers),选择Current项监视各相关寄存器值。 打开存储器观察窗口(Memory),观察a、b和r存储单元的值情况。 单步运行程序,跟踪程序执行的流程,观察寄存器和a、b和r存储单元值的变化。 修改x、y单元数据重复上述操作,观察寄存器和a、b和r存储单元值的变化。6. 实验参考程序汇编指令实验3的参考程序见Error! Reference source not found.程序清单 25 汇编指令实验3的参考程序; 文件名:main.S; 功能:使用条件执行指令实现分支程序功能; 说明:x、y、a、b和r均为符号整数AREAExample,CODE,READONLY; 声明代码段ExampleENTRY; 标识程序入口CODE32; 声明32位ARM指令STARTLDRR0, =xLDRR1, =yLDRR2, =aLDRR3, =bLDRR11, =r CMPR0,R1ADDEQR4,R2,R3; r 使用 R4 资源SUBLTR4R2,R3SUBGTR4R3,R4STRR4, R11HALTBHALTxDCD0x01; 定义x的值 yDCD0x02; 定义y的值 aDCD0x03; 定义a的值 bDCD0x04; 定义b的值 rDCD0x00END7. 思考(1) 若将实现条件变成if(x=y) && (a =b) then r = r + 1,考虑如何修改实验参考程序?2.4 数据块转储实验(循环程序设计)1. 实验目的l 了解ADS1.2集成开发环境及ARMulator软件仿真。l 掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。l 学习使用LDR/STR/ADD/CMP/B指令完成存储器的访问及加法运算。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容 使用LDR指令读取src中的数据,再通过STR指令完成存入dst中。 使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1、R2、R3、src和dst单元的值,打开存储器观察窗口(Memory)监视dst存储单元的值。 注意观察“CPSR_标志位”的情况,领会CPSR标志位的工作情况与含义;4. 实验预习要求多寄存器存储器访问指令,简单循环程序设计设计。5. 实验步骤 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板建立一个工程TEST2。 在模板文件main.S中,补加用户代码,编写实验程序,保存。 选择主窗口菜单 Project->Make(或直接快捷键<F7>),联编工程; 联编无错后,选择主窗口菜单Project->Debug,启动AXD进行软件仿真调试。 打开寄存器窗口(Registers),选择Current项,监视R0、R1、R2和R3的值。打开存储器观察窗口(Memory)设置观察src和dst单元值,显示方式Size为32bit,注意观察CPSR寄存器中的各标志位的情况。6. 实验参考程序INCLUDELPC2294.INC; Include the head file 引入头文件num EQU 20 ; 需要拷贝的字符个数;声明MAIN函数;Export MAIN functon EXPORT MAIN ;MAIN Function主程序 AREA main,CODE,READONLY; 声明代码段main ENTRY; 标识程序入口 CODE32; 声明32位ARM指令MAIN;add the user code here. 添加用户代码 LDRR0,=src; R0 <=address( src)LDRR1,=dst; R1 <=address( dst)MOVR2,#num;R2 等于带拷贝的字符个数 wordcopyLDRR3,R0,#4; 从src中取一个字符放入R3中STRR3,R1,#4; 将R3中的数据存入dst中SUBSR2,R2,#1; 计数值减1BNEwordcopy; 如果计数值不为0,则跳转到wordcopy处继续执行HALTBHALTsrc DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 END2.5 数值1到数值100的累加程序设计1. 实验目的l 了解ADS1.2集成开发环境及ARMulator软件仿真。l 掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。l 学习使用LDR/STR/ADD/CMP/B指令完成存储器的访问及加法运算。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容 使用LDR指令读取SUM数据,完成1+2+100的累加,再将结果写入到SUM单元。 使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1和SUM单元的值,打开存储器观察窗口(Memory)监视SUM存储单元的值。 注意观察“CPSR_标志位”的情况,领会CPSR标志位的工作情况与含义;4. 实验预习要求循环程序设计。5. 实验步骤 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板建立一个工程TEST2。 在模板文件main.S中,补加用户代码,编写实验程序,保存。 选择主窗口菜单 Project->Make(或直接快捷键<F7>),联编工程; 联编无错后,选择主窗口菜单Project->Debug,启动AXD进行软件仿真调试。 打开寄存器窗口(Registers),选择Current项,监视R0、R1和R11的值。打开存储器观察窗口(Memory)设置观察SUM单元值,显示方式Size为32bit,注意观察CPSR寄存器中的各标志位的情况。6. 实验参考程序运算汇编指令实验的参考程序见Error! Reference source not found.。程序清单 26 求和1+2+.+100的汇编参考程序INCLUDELPC2294.INC; Include the head file 引入头文件;声明MAIN函数;Export MAIN functon EXPORT MAIN ;MAIN Function主程序 CODE32 AREA main,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口 CODE32; 声明32位ARM指令MAIN;add the user code here. 添加用户代码 LDRR11, =SUM; R1 <=address( SUM )LDRR0, R11; R0 <= SUMMOVR1, #1; 初始值R1=1CONTADDR0,R0,R1; 累加ADDR1,R1,#1CMPR1,#100BLSCONT; R1小于等于100STRR0,R11; R11 <= R0,即将累加和存入SUM单元HALTBHALTSUMDCD 0END7. 思考(1) 可否用递减方式控制循环,完成同样的运算功能?参考Error! Reference source not found.写出该程序。2.6 寻找最大数、最小数程序设计1. 实验目的l 了解ADS1.2集成开发环境及ARMulator软件仿真。l 掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。l 学习使用LDR/STR/ADD/B指令完成存储器的访问及加法运算。l 加深领会处理器可以自动区分情况进行数据处理的方式原理。2. 实验设备l 硬件:PC机 一台l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境3. 实验内容 使用LDR指令读取MAX、MIN数据,完成寻找最大数、最小数的过程,再将结果写入到MAX、MIN单元。 使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1和SUM单元的值,打开存储器观察窗口(Memory)监视SUM存储单元的值。 注意观察“CPSR_标志位”的情况,领会CPSR标志位的工作情况与含义;4. 实验预习要求程序状态字的含义与使用。5. 实验步骤 启动ADS1.2IDE集成开发环境,选择asm for lpc2131工程模板建立一个工程TEST2。 在模板文件main.S中,补加用户代码,编写实验程序,保存。 选择主窗口菜单 Project->Make(或直接快捷键<F7>),联编工程; 联编无错后,选择主窗口菜单Project->Debug,启动AXD进行软件仿真调试。 打开寄存器窗口(Registers),选择Current项,监视R0、R1和R11的值。打开存储器观察窗口(Memory)设置观察SUM单元值,显示方式Size为32bit,注意观察CPSR寄存器中的各标志位的情况。6. 实验参考程序求最大数、最小数的参考程序如Error! Reference source not found.。程序清单 27 求最大数、最小数参考程序INCLUDELPC2294.INC; Include the head file 引入头文件NEQU4; 表示字= 4 BytesMEQUN / 2; 表示步长,用于求数组中数的个数;声明MAIN函数;Export MAIN functon EXPORT MAIN ;MAIN Function主程序 AREA main,CODE,READONLY; 声明代码段Example1 ENTRY; 标识程序入口 CODE32; 声明32位ARM指令MAIN;add the user code here. 添加用户代码 LDRR6, =array; R6 <=address( array )LDRR0, R6; R0 <= array0LDRR7, =MAX; R7 <=address( MAX )LDRR1, R7; R1 <= MAXLDRR8, =MINN; R8 <=address( MIN )LDRR2, R8; R2 <= MINSUBR3, R7, R6MOVR3, R3, LSR #M; R3等于array中数的个数MOVR4, #1; R4用于计算比较次数MOVR1, R0; 假设array0为最大数,放入R1中MOVR2, R0; 假设array0为最小数,放入R2中CONTADDR6, R6, #N; 将指向array的指针顺序拨一LDRR5, R6; R5<= arrayR6CMPR2, R5; 与当前最小数比较MOVLER2, R5; 如果比当前最小的数小,则保存到R2中CMPGER1,R5; 否则,与当前最大数比较MOVGER1,R5; 如果比当前最大的数大,则保存到R1中ADDR4, R4, #1; 比较次数加1CMPR4, R3; 是否全部进行比较BNECONT; 如果不是,则跳转到标号CONT处继续执行STRR1,R7; R7 <= R1,即将最大数存入MAX单元STRR2,R8 ; R8 <= R2,即将最小数存入MIN单元HALTBHALTarrayDCD10, 20, 2, -14, 24, 11, 6, 7MAXDCD0MINNDCD0END7. 思考(1) 参照Error! Reference source not found.,编写完成1到N的递增累加,直到累加和大于等于1000,将累加和存入SUM单元的汇编程序,此时N、SUM等于多少?第3章 ARM(LPC2000系列)体系结构实验3.1 EasyARM2131实验板简介1、 EasyARM2131实验板EasyARM2131是专业支持PHILIPS半导体公司推出的LPC213x/214x系列的32位ARM微控制器,其选用基于ARM7TDMI-S 核、单电源供电、LQFP64封装的LPC2131作为主CPU。 CPU 的I/O 口与特殊功能部件输入、输出口,除了可以通过跳线器与外围器件相连之外,还可以通过跳线器断开与外围器件的连接关系,全部提供给用户作为产品开发之用。RS232接口I2C接口SPI接口对外扩展插排管脚输出跳线插排B管脚输出跳线插排AUSB电源蜂鸣器系统复位键按键输入LED输出JTAG插排ARM微控器2、 EasyARM2131实验板概述¨ 8个独立的LED指示灯(低电平点亮)¨ 6个独立的微动按键(按下为低电平)¨ 1个蜂鸣器¨ RS232接口¨ SPI接口¨ I2C接口¨ JTAG接口(可连接JTAG仿真器,连接宿主机)¨ 管脚输出跳线插排A和B,用于物理外设的选择连接。试验时可通过跳线端子选择连接的物理外设。3.2 JTAG仿真器的启动与设置JTAG仿真器用于连接宿主机(即PC机)和实验板;开发者可在宿主机上交叉编译ARM工程代码,并下载到开发板调试运行。1. 在桌面双击H-JTAG快捷图标,启动H-JTAG服务; 2. 在H-JTAG服务串口点击 <Start H-Flasher> 按钮,打开 H-Flasher窗口;3. 在H-Fla