嵌入式系统及应用实验内容资料.docx

上传人:b****4 文档编号:5473340 上传时间:2022-12-16 格式:DOCX 页数:105 大小:1.31MB
下载 相关 举报
嵌入式系统及应用实验内容资料.docx_第1页
第1页 / 共105页
嵌入式系统及应用实验内容资料.docx_第2页
第2页 / 共105页
嵌入式系统及应用实验内容资料.docx_第3页
第3页 / 共105页
嵌入式系统及应用实验内容资料.docx_第4页
第4页 / 共105页
嵌入式系统及应用实验内容资料.docx_第5页
第5页 / 共105页
点击查看更多>>
下载资源
资源描述

嵌入式系统及应用实验内容资料.docx

《嵌入式系统及应用实验内容资料.docx》由会员分享,可在线阅读,更多相关《嵌入式系统及应用实验内容资料.docx(105页珍藏版)》请在冰豆网上搜索。

嵌入式系统及应用实验内容资料.docx

嵌入式系统及应用实验内容资料

嵌入式系统及应用实验

嵌入式系统及应用实验以SmartARM2300工控开发平台及PC机为主要硬件设备。

SmartARM2300工控开发平台采用NXP公司生产的芯片LPC2378(ARM7TDMI-S核),具有JTAG调试等功能,除了本身的GPIO、TIMER、PWM、SPI、A/D、D/A功能外,还提供4个UART串口、IrDA接口、USBDevice接口、CAN总线、SD/MMC卡、MODEM接口、以太网接口等功能。

1.相关的硬件电路

⑴系统电源电路

图3.1系统电源电路

⑵键盘、蜂鸣器及LED电路

图3.27个独立按键电路

 

图3.3直流蜂鸣器电路

图3.4SPI驱动8个LED指示灯

⑶串行口接口电路

图3.5UART0&UART2&UART3串行口接口电路

⑷IrDA(红外)通讯接口电路

图3.6IrDA(红外)通讯接口电路

⑸JTAG调试接口、RST复位键及ISP选择电路

图3.7JTAG调试接口电路

图3.8RST复位键及ISP选择电路

2.跳线器说明

SmartARM2300工控开发平台跳线器说明如表3.1所列。

JP1跳线布局如图3-9所示。

图3.9JP1跳线布局

表3.1SmartARM2300跳线器一览表

跳线器

标号

I/O

功能说明

I/O复用情况

JP1

JP1-1

RXD3

P4.29

UART3接口,至SP3232E输入端,短接时有效

JP1-5的IR_R,做UART3实验时,必须将JP1-5的IR_R跳线断开

TXD3

P4.28

JP1-5的IR_T,做UART3实验时,必须将JP1-5的IR_T跳线断开

JP1-2

RXD0

P0.3

UART0接口,至SP3232E输入端,短接时有效

TXD0

P0.2

JP1-3

RXD2

P0.11

UART2接口,至SP3232E输入端,短接时有效

TXD2

P0.10

JP1-4

MDCD

P2.3

UART1接口,至SP3232E输入端,具有MODEM接口功能,短接时有效

MDSR

P2.4

MRXD

P2.1

JP24接口

MCTS

P2.2

MRI

P2.6

MDTR

P2.5

MTXD

P2.0

JP24接口

MRTS

P2.7

JP1-5

IR_EN

P3.26

模式选择,短接时有效

IR_R

P4.29

IrDA收发器数据输出,短接时有效

JP1-1的RXD3,做IrDA实验时,必须将JP1-1的RXD3跳线断开

IR_T

P4.28

IrDA收发器数据输入,短接时有效

JP1-1的TXD3,做IrDA实验时,必须将JP1-1的TXD3跳线断开

JP1-6

4线,CAN控制器发送/接收线

JP1-7

9线,SD/MMC卡控制及数据线

JP1-8

KEY1

P0.6

独立按键1,短接时有效

KEY2

P0.7

独立按键2,短接时有效

KEY3

P0.8

独立按键3,短接时有效

KEY4

P0.9

独立按键4,短接时有效

KEY5

P0.10

独立按键5,短接时有效

KEY6

P0.11

独立按键6,短接时有效

KEY7

P0.25

独立按键7,短接时有效

JP1-9

BEEP

P1.27

蜂鸣器驱动输入,短接时有效

JP1-10

MOSI

P1.24

74HC595与SPI接口连接的跳线,短接时有效

/CS

P1.21

SCLK

P1.20

MISO

P1.23

JP4

V-TEST

P1.31

LPC2378片内A/D的AD0.5通道电压输入,短接时有效

JP5

ISP

P2.10

ISP功能使能,短接时有效

实验一ADS集成开发环境使用与仿真调试

一.实验目的

熟悉ADS集成开发环境与仿真调试的使用方法。

二.实验设备及器件

PC机一台

SmartARM2300工控开发平台一台

三.实验内容与实验步骤

ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具式,ADS(ARMDeveloperSuite)成熟版本为ADS1.2。

ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C++源程序。

ADS1.2由代码生成工具、CodeWarriorIDE集成开发环境、AXD调试器、指令模拟器、ARM开发包和ARM应用库6个部分组成,用户一般直接操作的是CodeWarriorIDE集成开发环境和AXD调试器。

ADS1.2使用了CodeWarriorIDE集成开发环境,并集成了ARM汇编器、ARM的C/C++编译器、Thumb的C/C++编译器、ARM连接器,包含工程管理器、代码生成接口中、语法敏感编辑器、源文件和类浏览器等等。

AXD调试器为ARM扩展调试器(即ARMExtendedDebugger),包括ADW/ADU的所有特性,支持硬件仿真和软件仿真(ARMulator),AXD能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量,寄存器和内存的数据等等。

1.工程的编辑

⑴建立工程

点击windows操作系统【开始】->【程序】->【ARMDeveloperSuitev1.2】->【CodeWarriorforARMDeveloperSuite】启动MetrowerksCodeWarrior,或者双击“CodeWarriorforARMDeveloperSuite”快捷方式启动。

启动ADS1.2IDE,如图3.10所示。

图3.10ADS1.2IDE界面

点击【File】菜单,选择【New...】即弹出New对话框,如图3.11所示。

图3.11New对话框

选择工程模块为ARM可执行映像(ARMExecutableImage),在其它场合也可能选ARMExecutaleImageforLPC2300,或Thumb可执行印象(ThumbExecutableImage),或Thumb,ARM交至映像(ThumbARMInterworkingImage)等,然后在【location】项选择工程存放路径(请建立自己的文件夹),并在【projectname】项输入工程名称(后缀名自动设置,为mcp),点击【确认】按钮即可建立相应工程(下文有时也把工程称为项目)。

在集成环境中会弹出工程窗口如图3.12所示,此时工程中还没有任何源文件。

图3.12集成环境中的工程窗口

系统自动为每个工程建立三个目标(默认的名称为DebugRel,Release,Debug),主要是方便同一个工程在调试应用不同场合对应不同目标(可在后续的设置中为每个目标建立不同的参数);对简单应用可不考虑目标之间的区别,只对其中的一个默认目标(DebugRel)进行操作即可。

⑵建立文件

建立一个文本,以便输入用户程序,点击“NewTextFile”图标按钮,如图3.13所示。

图3.13“NewTextFile”图标按钮

然后在新建文件(untiled)中,根据需要完成的任务,编写合适的程序,程序编写结束后,点击“save”图标按钮将文件存盘(或从【File】菜单选择【save】,要求输入文件全名(汇编程序后缀名为.S;C语言程序后缀名为.C),如TEST1.S(汇编程序),TEST1.C(C语言程序)。

注意,请将文件保存到步骤⑴中建立的工程目录下,以便于管理和查找。

当然,也可以New对话框选着【File】页来建立源文件,如图3.11所示,或使用其他文本编辑器建立或编辑源文件。

⑶添加文件到工程

在工程窗口中【File】页空白处点击鼠标右键,弹出浮动菜单,如图3.14所示。

选着“addFlie...”即可弹出“Sslectfiletoadd...”对话框,如图3.15所示,选择相应工程需要的源文件(可按着Ctrl键一次选择多个文件),点击【打开】按钮;弹出“AddFiles”对话框,如图3.16所示,点击【OK】按钮,为工程中的三个目标均添加文件即可。

C语言中的头文件(.h)及汇编语言中的包含文件(.INC)编译系统会自动添加,但这些文件必须在相应的目录下,编译系统才能找到并确定。

另外,用户也可以在【Project】菜单中选择【AddFile...】来添加源文件,或使用New对话框选择【File】页来建立源文件时选择加入工程(即选中“AddtoProject”项)。

图3.14在工程窗口中添加源程序

图3.15Selectfilestoadd...对话框

图3.16Addfilestotargets窗口

⑷编辑连接工程

工程窗口中的图标按钮如图3.17所示,通过这些图标按钮,可以快速地可对目标DebugRel进行工程设置,编译连接,启动调试等等(在不同的菜单项上可以分别找到相应的菜单命令)。

6个图标按钮,它们从左至右分别为:

DebugRelSettings...工程设置,如地址设置,输出文件设置,编译选项灯,其中DebugRel为当前的生成目标(targetsystem);

SynchronizeModificationDates同步修改日期,检查工程中每个文件的修改日期,若发现有更新(如使用其它编辑器编辑源文件),则在Touch栏标记“√”;

Make编译连接(快捷键为F7);

Debug启动AXD进行调试(快捷键为F5);

Run启动AXD进行调试,并直接运行程序;

ProjectInspector工程检查,查看和配置工程中源文件的信息。

图3.17工程窗口中的图标按钮

点击“DebugRelSettings...”图标按钮,即可对目标DebugRel进行工程的地址设置、输出文件设置、编辑选项等。

在“TargetSettings”对话框,将Post-linker选择为ARMformELF(ARM可执行格式),如图3.18所示。

图3.18DebugRelSettings窗口

在“ARMLinker”对话框设置连接地址,由汇编语言编写的软件,在Linktype单选项选择Simple,设置连接地址为0x40000000(LPC2300SRAM的地扯),如图3.19所示。

若由C语言编写的软件,在Linktype单选项选择Scattered,由分散加载文件设置连接地址,如实验三及实验三以后的程序。

图3.19连接地址设置窗口

其余DebugRelSettings采用默认设置即可,设置结束后直接点击工程窗口的“Make”图标按钮,即可完成编译连接。

若编译出错,会有相应的出错提示,双击出错提示行信息,编辑窗即会使用光标指出当前出错的源代码,编辑连接输出窗口如3.20图所示。

同样可在【Project】菜单中找到相应的命令。

图3.20编译连接输出窗口

Touch栏用于标记文件是否已编译,若打上“√”则表明对应文件需要重新编译,如图3.21所示,。

可以通过单击该栏位置来设置/取消符号“√”。

图3.21工程窗口中Make操作

重新编译之前,建议将原来生成的目标文件都删除,方法如下,点选“project”下拉菜单的“RemoveObjectcode”->“AllTargets”,如图3.22所示,删除了旧目标文件后,所有文件都被“touch”上了,此时可对整个工程进行重新编译。

图3.22删除旧的目标文件

⑸打开旧工程

点击【Flie】菜单,选择【Open】即弹出“打开”对话框,找到相应的工程文件(*.mcp),

单击【打开】即可。

在工程窗口的【files】页中,双击源程序的文件名即可打开该文件进行编辑。

2.工程的调试

⑴选择调试的方式

当工程编译连接通过后,在工程窗口中点击“Debug”图标按钮(或者使用快捷F5),

即可启动AXD(也可以通过【开始】菜单启动AXD)。

点击菜单【options】选择【ConfigureTarget...】,即弹出ChooseTarget窗口,如图3.23所示。

Target项中的前两项,分别为ADP(JTAG硬件仿真)和ARMUL(软件仿真),为ADS1.2自带;Target项中的第三项H-JTAG为EasyJTAG-H仿真器驱动,参见稍后的描述。

图3.23ChooseTarget窗口

选择仿真驱动程序后,点击【File】选择【LoadImage...】加载ELF格式的可执行文件,即*.axf文件。

(说明:

当工程编译连接通过后,在“工程名\工程名_Data\当前的生成目标”目录下就会生成一个*.axf调试文件。

比如工程TEST,当前的生成目标Debug,编译连接通过后,则在...\TEST\TEST_Data\Debug目录下生成TEST.axf文件。

⑵调试工具条

AXD运行调试工具条如图3.24所示,调试观察窗口工具条如图3.25所示,文件操作工具条如图3.26所示。

具有单步、全速和断点等调试功能,可以观察变量,寄存器和内存的数据等等。

图3.24运行调试工具条

图3.25调试观察窗口工具条

图3.26文件操作工具条

3.LPC2300系列ARM工具模板

在建立工程时,们已经接触了ADS1.2提供的几个标准工程模板。

使用各个模板建立的工程,它们的各项设置均有不同之处,方便生成不同的结构的代码,如ARM可执行映像(生成ARM指令的代码)或Thumb可执行映像(生成Thumb指令的代码),或Thumb、ARM交织映像(生成Tumb、ARM指令交织的代码)。

针对LPC2300系列ARM7微控制器,定义了2个工程模板,这些模板一般包含的设置信息有FLASH起始地址0x00000000、片内RAM起始地址0x40000000、编译连接选项及编译优化级别等等。

模板中包含了LPC2300系列ARM7微控制器的启动文件,包括Startup.S、target.c,模板还包含了LPC2300系列ARM7控制器的头文件(如:

LPC23xx.h),分散加载描述文件(如:

mem_a.scf、mem_b.scf、mem_c.scf)等等。

⑴为AD1.2增加LPC2300专用工程模板

将“lpc2300projectmodule”目录下的所有文件和目录拷贝到“ADS1.2安装目录>\Stationery\”即可,这个步骤只需1次,以后就可以直接使用该工程模板。

⑵使用LPC2300专用工程模板建立工程

启动ADS1.2集成开发环境,点击【file】菜单,选择【New】即弹出New对话框,如图3.27所示。

由于事先增加了LPC2300专用模板和其他模板。

所以在工程模板栏中多出几项工程模板选项。

图3.27增加工程模板

LPC2300专用工程模板说明如下:

ARMExecutaleImageforLPC2300:

无操作系统,所有代码均编译成ARM指令的工程模板。

用户选择相应的工程模板建立一个工程,如图3.28所示为使用ARMExecutaleImageforLPC2300工程模板建立一个工程。

工程有3个生成目标:

DebuginRAM、DebugInFlash、RelInFLASH.工程模板已经将相应的编译参数设置好了,直接使用即可。

注意:

●工程模板的分散加载文件mem_a.scf、mem_b.scf、mem_c.scf、的堆栈和内存大小需要根据不同的芯片进行设置,LPC2366/68/78和LPC2364的大小不一样,用户可以打开这3个文件根据芯片型号进行相应修改;

●选用RellnFlash目标时,将会对LPC2300芯片进行加密,加密的芯片只能使用ISP进行芯片整片擦除后,才能恢复JTAG调试及ISP读/写操作。

图3.28使用LPC2300系列ARM专用工程模板建立的工程

4.EasyJTAG-H仿真的安装与应用

⑴EasyJTAG-H简介

EasyJTAG-H仿真器是一款新型的仿真器,目前,可以支持LPC2300系列ARM7微控制器和部分ARM9芯片,支持ADS1.2集成开发环境,支持单步、全速及断点等调试功能,支持下载程序到片内FLASH和特定型号的片外FLASH,采用ARM公司提出的标准20脚JTAG仿真调试接口。

这款仿真器需要H-JATAG软件(调试代理)的支持。

⑵H-JTAG软件安装

在PC上运行安装文件H-JTAG.EXE,根据安装提示完成安装即可。

安装好的H-JTAG软件包含有H-JTAGServer(下文简称为H-JTAG)和H-Flasher,在桌面上有它们的快捷图标。

运行程序H-JTAG和H-Flasher后,用户任务栏中将出现3.29所示图标。

图3.29H-JTAG提示图标

将计算机并口与EasyJTAG-H仿真器相连,然后在将EasyJTAG-H仿真器的JTAG接口连接到开发板上左上方的CON5,注意不要连接到右下方的JPI3,否则会造成短路,然后给开发板上电。

⑶H-JTAG配置

H-JTAG设置较简单,只要进行以下两步操作,其他采用默认即可。

●单击任务栏的H提示图标,将看见H-JTAG的主窗口,如图3.30所示。

单击“放大器”图标按钮后,能看见调试代理搜索到ARM内核信息。

图3.30H-JTAG主窗口

●选择【Flasher】->【AotoDownload】选择自动下载,如图3.31所示(正常情况下,H-JTAG能检测并显示ARM内核信息)。

注意,在Flash中调试时必须选择“AutoDownload”,而在RAM中调试可以不选择。

图3.31打开自动下载功能

⑷H-Flasher配置

H-Flasher的配置,只需要选择正确的CPU型号,然后验证(Check)通过即可。

●单击任务栏的H-Flasher提示图标,确认目标板的CPU型号后,打开H-Flasher的FlashSelection选项,选择正确的CPU型号即可。

如:

开发板上的CPU型号为NXP公司的LPC2378,操作如图3.32所示。

图3.32选择Flash类型

●验证调试代理配置是否正确,打开H-Flasher的Programming选项单击Check按钮,如图3.33所示。

如果正常,可以看到所使用的Flash芯片的型号,单击Check按钮时,H-Flasher就会启用当前新的配置值。

到此配置完成。

图3.33Flash编程选项

⑸EasyJTAG-H仿真器的使用

●将计算机并口与EasyJTAG-H仿真器相连,再将EasyJTAG-H仿真器的JTAG接口连接到开发板上左上方的CON5,并给开发板上电。

然后打开H-JTAG软件,单击放大镜图标按钮,如果正常就能检测到芯片内核信息。

然后可以最小化或关闭H-JTAG和H-FLASH窗口(注意:

不能使用exit菜单关闭)。

●选择windoes系统的【开始】->【程序】->【ARMdevelopersuitev1.2】->【AXDdebugger】启动AXD软件。

再AXD软件中,打开【Options】->【ConfigureTarget...】,弹出choosetarget对话框,单击ADD添加仿真器的驱动程序,在添加文件窗口选择如D:

\ProgarmFiles\H-JTAG.dll,如图3.34所示,接着单击“打开”即可(若已经安装,此步省略)。

图3.34为AXD添加H-JTAG驱动

●添加完H-JTAG驱动后选择该驱动程序,如图3.35所示,然后单击OK。

图3.35ChooseTarget窗口

●关闭AXD窗口,以后调试就直接在ADS中打开一个工程,编译链接通过后,单击Debug或按下“F5”即可启动AXD调试软件,进行JTAG仿真调试,AXD典型界面如图3.36所示。

图3.36AXD调试界面

注意:

如果工程文件的路径中存在中文,进行AXD调试环境可能会出现错误。

因此,建议工程路径中不要包含中文(包含标点符号)。

⑹EasyJTAG-H常见问题

●在进行AXD仿真调试前,需要打开H-JTAG检测芯片内核。

同时要正确配置H-Flasher,否则无法进入AXD正常调试。

●如果目标板没有上电,或者JTAG仿真器没有连接好,H-JTAG会出现错误,如图3.37所示,调试时将SmartARM2300工控开发平台的ISP(JP5)跳线短接上,这样可避免片内程序自动脱机运行。

图3.37H-JTAG连接错误

●如在ADS启动AXD仿真器调试时出现如图3.38所示的错误,单击“确定”按钮,然后会弹出LoadSession对话框,如图3.39所示。

图3.38启动仿真时出错

图3.39LoadSession窗口

●此时不必选择Session文件,直接单击“取消”,然后进入到AXD调试界面。

点选“Option”->“ConfigureInterface”,如图3.40所示。

图3.40点选配置窗口

●在“Actiononclose/restart”项,将“Saveandloaddefaultsessi”前面的“√”去掉,如图3.41所示。

图3.41去掉保存sessi

●点击“确定”,关闭AXD,在ADS工程窗口中点击“Debug”进入AXD调试环境,会弹出如图3.42所示对话框,选择“H-JTAG”并点击确定。

成功连接目标板后,就进入了AXD进行仿真调试。

图3.42选择“H-JTAG”

四.实验要求

熟练掌握ADS1.2集成开发环境的工程建立、编辑与调试功能。

了解相关的SmartARM2300工控开发平台硬件结构。

五.实验参考程序

参考实验二相关程序(使用ARMExecutableImage模板建立工程,“ARMLinker”设置连接地址为0x40000000);

或参考实验三中的GPIO输出实验程序(使用ARMExecutaleImageforLPC2300模板建立工程,“ARMLinker”连接地址由分散加载文件自动设置)。

 

 

实验二LPC2300开发过程及程序下载实验

一.实验目的

熟悉LPC2300开发过程及程序下载。

二.实验设备及器件

PC机一台

SmartARM2300工控开发平台一台

三.实验内容及步骤

⑴将计算机并口与EasyJTAG-H仿真器相连,EasyJTAG-H仿真器的JTAG接口连接到SmartARM2300工控开发平台上左上方的CON5,启动H-JTAG和H-FLASH软件,选择NXPLPC2378器件,并最小化窗口。

⑵启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程,如图3.43所示。

图3.43工程模板窗口

⑶编写一个汇编语言文件,控制蜂鸣器每隔一定时间鸣叫一次,并将文件添加到工程。

⑷将SmartARM2300工控开发平台的JP1上的P1.27和BEEP连接,参见图3.3直流蜂鸣器电路。

⑸在工程窗口进行工程设置,在“TargetSettings”对话框,将Post-linker选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1