嵌入式ARM 开发板上机调试程序.docx
《嵌入式ARM 开发板上机调试程序.docx》由会员分享,可在线阅读,更多相关《嵌入式ARM 开发板上机调试程序.docx(15页珍藏版)》请在冰豆网上搜索。
嵌入式ARM开发板上机调试程序
实验一LED实验
内容:
八盏LED灯就会向右点亮
文件包:
boot
方法:
用SDRAM调试
先把映像文件下载到SDRAM里,然后进行调试。
需要修改ROBASE为0xa0000000,其他不用修改,重新编译下载就可运行。
实验二键盘实验
内容:
本实验采用了直连键盘(1~4)对LED数码管进行控制。
文件包:
Timer
方法:
用FLASH调试,使用JFLASHMM下载
当按1键的时候,LED1数码管1234就会亮,同理,按相应的键,相应的数码管就会亮。
flash调试时需要修改ROBASE为0x00000000,其他不用修改,重新编译下载就可运行。
①将编译连接生成的.bin文件拷贝到D:
\Jflash_Pxa270_P30目录下
②打开CMD命令行窗口,在命令提示符中运行命令:
jflashmm.exepxa270xxx.bin,就可以把xxx.bin下载到FLASH里面了。
实验三LCD控制器实验
实验内容:
本实验得到的结果为,LCD显示屏会循环显示白、黑、蓝、红、绿和灰这六种颜色,并且显示“亿道电子技术”这些字符。
文件包:
LCD
方法:
用FLASH调试使用H-JTAG下载
在flash调试时,需要修改ROBASE为0x00000000,不要对RWBASE进行设置,否则LCD屏的字体就无法正常显示。
实验四步进电机实验
实验内容:
步进电机转动
文件包:
stepMotor
方法:
用FLASH调试使用H-JTAG下载
在flash调试时,需要修改ROBASE为0x00000000
一、H-JTAG软件安装以及配置
H-JTAG软件是免费JTAG调试和Flasher擦写软件,通过并口线连接目标板。
此软件针对EEliod开发平台和XSBASE270-S开发板(或其它PXA270的开发板),需要进行配置才能正常工作。
1.安装H-JTAG软件,解压H-JTAG0.7x.rar,运行H-JTAG0.7x.exe,按照默认路径安装即可。
2.复制270-configs子目录下的所有文件到H-JTAG安装目录:
C:
\ProgramFiles\H-JTAG,覆盖原有文件,注意,不包含“270-configs”文件夹本身!
正常连接下载线到目标板,并给目标板上电。
点击开始菜单->H-JTAG->H-JTAG运行程序,程序首次启动后,界面如图1。
点击Setting→lptjtagsetting,选择userdefined,如图2所示。
图1图2
3.如果程序此时提示没有检测到目标板,则需要重新确认目标板是否上电,以及连接线是否连接好,然后点击工具栏上的第二个(放大镜形状的)按钮。
重新检测目标板。
知道能够正确检测到目标板才能进行下面操作。
注意,如果计算机用的并口不是LPT1,则需要在“setting”菜单中进行选择。
此时找到PXA2700X79265013,如图3所示。
4.如果多次重试都无法正确检测目标板,则点击菜单“settings->LPTJtagSetting”出现Jtag配置界面,确认界面的配置如下图4所示,并且可以调整TCKSpeed选项,为“MAX/2”(此时下载速度会减慢一半),再试试是否能够正常工作。
图3
图4
5.点击主界面上的“F”形状的按钮启动H-Flasher程序(或从开始菜单->H-JTAG->H-Flasher启动),界面如图4。
6.点击菜单中的“Load”,装载配置文件:
pxa270.hfc,配置文件在H-JTAG目录下。
装载完成后点击左侧“ProgramWizard”列表中的“Programming”项目,界面如图4所示。
7.点击check按钮(右上角),此时应该能够正确检测到目标板(如图4所示),如果提示不能进入调试模式(Error:
Can’thalttargetandmakeitDEBUGstate),则应再次确认目标板是否上电,或前面没有对下载线进行修改,也会出现此错误。
图5
8.此时就可以点击“SrcFile”后面的“…”按钮(如上图红圈处),选择要写入的Boot文件,然后点“program”,等待写入完成即可。
注意文件类型要选“PlainBinaryFormat”。
二、Jflash工具驱动的安装
1、在控制面板中选择添加硬件。
(先把Jflash_pxa270目录下giveio.sys复制到C:
\WINDOWS\system32\drivers)
2、选择如下图所示:
3、选择手动安装
4、选择“从磁盘安装“
5、找到”giveio.inf”
6、安装完后在设备管理器中可以看到giveio的设备。
三、AXDDebugger仿真调试的使用方法
ADS是ARM系统的一个集成开发环境,提供程序编写、编译、连接、生成映像的功能。
除此之外,ADS还带有一个调试工具AXDDebugger,方便进行源码级调试。
下面针对PXA270系统进行调试分析。
调试的方式可以分为两种:
一种是在FLASH(ROM)调试,另一种是在SDRAM(RAM)调试。
◆
(一)在FLASH调试
1、建立工程文件
建立工程文件,添加源程序,打开EditDebugrelSettings….,进行对编译选项进行设置。
如图1、2、3、4所示。
当编写好程序代码后,就要对编译选项进行设置了。
图1TargetSettings
Post-linker:
表示用于选择对连接器输出的文件的处理方式,我们选择ARMfromELF,它可以把ELF格式的文件转换成各种二进制文件格式。
图2ARMLink的Output设置
在ARMLinker选项组中,进行对Output设置,ROBase设置为0x00000000,表示从映像是烧写到FLASH里面的。
而RWBase设置为0xa0100000,表示放到SDRAM里面,由于我们的实验程序都会进行内存初始化操作,所以我们都可以使用内存空间。
图3ARMLink的Options设置
Options中的Imageentrypoint表示映像的入口点(地址),boot.o(boot)表示系统从目标文件boot.o中boot段开始运行。
图4ARMLink的Layout设置
在Layout中,Placeatbeginningofimage下的Object/symbol表示目标文件,Section表示目标文件中的代码段。
这与Options中的Placeatbeginningofimage相同。
2、对工程文件编译连接
对工程文件执行Make,也可以直接用快捷键F7进行编译、连接生成映像文件。
执行后,出现的编译、连接结果显示无错误,即可进行下面的调试和运行,否则修改。
3、连接好仿真器,如果是用H-JTAG,需要启动H-JTAGServer,设置J-FLASHER。
4、下载映像到FLASH里,然后才进行调试。
(方法1)使用JFLASHMM下载(安装参见二、Jflash工具驱动的安装)
①将编译连接生成的.bin文件拷贝到D:
\Jflash_Pxa270_P30目录下
②打开CMD命令行窗口,在命令提示符中运行命令:
jflashmm.exepxa270xxx.bin,就可以把xxx.bin下载到FLASH里面了。
下面是烧写成功的提示
(方法2)使用H-JTAG下载
如果是使用仿真器,就可以使用它自带的JTAG下载功能,不必使用JFLASHMM下载,下面用H-JTAG来下载并说明具体的实现过程。
二进制文件的烧写分为4步,即FLASH的选择→存储器的配置→初始化芯片脚本→编程下载。
1选择Flash→startH-flash命令,弹出H-flash烧写向导界面,灰色为找到的默认
flash芯片型号。
2存储器配置
②设置初始化脚本
3烧写设置
④设置完毕,点击program按钮开始烧写,烧写成功后会提示如下图。
5、下载映像到FLASH后,打开ProjectDebugF5,系统就会自动调用AXDDebugger进行仿真调试。
当打开AXDDebugger后,就可以通过Execute下拉列表的命令进行仿真调试。
下面我们分别执行各个命令:
✧Go:
让系统运行
✧Stop:
停止系统的运行
✧StepIn:
进入函数体内执行。
✧Step:
单步执行(一个函数单步执行,就会执行完这个函数,等待执行下一条指令。
)
✧StepOut:
跳出函数执行下一条指令。
(表示在函数体内,只要StepOut就会跳出函数体,继续执行下一条指令。
)
✧ToggleBreakpiont:
设置断点
◆
(二)在SDRAM调试
SDRAM调试是先把映像文件下载到SDRAM里,然后进行调试。
需要注意的地方,产生中断的实验,如外部中断、定时器中断实验不能在SDRAM里面调试,因为当中断发生时,程序计数器会跳到中断向量表0x18处执行中断服务子程序,而系统是从0xa0000000开始执行的,所以就会出现未定义指令异常中止退出。
SDRAM调试基本上与FLASH的设置相同,不过操作的方式就有所不同。
下面是SDRAM调试的步骤:
1、设置编译、连接、生成映像文件的选项,大体与FLASH调试相同,只需修改一个地方,就是ROBase的值修改为0xa0000000。
2、执行ProjectMake,也可以直接用快捷键F7进行编译、连接生成映像文件。
3、连接好仿真器,需要启动H-JTAGServer,设置J-FLASHER。
4、下载映像到SDRAM中,然后进行调试。
首先打开AXDDebugger。
选中SystemViewsCommandLineInterface,输入命令:
obeyx:
\pxa270.ini,X表示盘符。
这样可以实现对内存的初始化操作。
5、执行File→OpenImage,选择要下载的映像文件。
加载映像到SDRAM后,就可以进行调试了,方法与在FLASH调试一样。
【说明】
1、在FLASH调试与在SDRAM调试的区别
(1)调试的范围:
在FLASH中可以调试所有类型的实验,包括中断实验。
而在SDRAM中,不可以调试中断实验,如果想实现就会比较复杂,考虑的地方比较多,没有把中断实验放在FLASH里面调试方便。
(2)程序计数器起始的地址不同:
在FLASH调试中,程序计数器是从0x00000000开始的,而在SDRAM调试是从0xa0000000开始的。
2、调试中断实验程序
当中断发生后,系统就会跳到中断服务子程序中运行,执行完后,就会从中断服务子程序中返回。
由于中断发生并且执行中断服务子程序的时间极短,我们不可以观察到代码中的中断发生情况。
不过可以通过设置断点的办法,观察系统是如何进入中断服务子程序,并且是如何返回的。
四、调整AXD
1、
选择ADD,找到H-JTAG.DLL
点击OK
将配置文件PXA270.INI加到每个工程文件中,然后选择下图