H-JTAG 是一款简单易用的的调试代理软件,功能和流行的MULTI-ICE 类似。H-JTAG 包括两个工具软件:H-JTAG SERVER 和H-FLASHER。其中,H-JTAG SERVER 实现调试代理的功能,而H-FLASHER则实现了FLASH 烧写的功能。通过与H-JTAG/H-FLASHER配合使用,可以实现高速调试与下载.该仿真器灵活,高效,稳定, 能够全面满足用户的需求.
安装
这里介绍H-JTAG V2.1的安装,运行上述文件启动安装,如下图所示。
3.3 配置
启动H-JTAG后,点击窗口菜单Settings-->USB/LPT Selection。
上图中选择LPT,即并口。下面选择并口端口号,如下图所示。
上图中LP1,LP2两项对应于主板带有并口的情况,主板自带并口的并口地址,即Port Address或IO Adress为0x378和0x278,这个地址可以在控制面板的设备管理器中查询到,如下图所示。
上图中双击任意一个并口,如“ECP打印机端口(LPT2)”打开端口属性窗口,可查看其端口起始地址地址为16进制的0378,同时也可以看到,实际上LPT2占用两个地址段,另一个地址段起始地址为0778,如下图所示。
由于写本文时的电脑使用并口扩展卡,就是上面设备管理器图中的“PCI_LPT(LPT1)”,开始安装好并口扩展卡驱动时系统会自动分配一个LPT号,那时不是LPT1,后来由于在进行FPGA开发使用并口下载线时,当时使用的Altera Quartus软件9.1版本只能识别LPT1,所以将主板上的LPT1改为LPT2,再将扩展并口端口号修改为LPT1了,修改LPT端口号也在端口属性窗口的“端口设置”页中进行。
3.4 检测
下面目标板上ARM芯片,在确保仿真器连接好,开发板已上电的情况下,点击窗口菜单ControlàDetect Target。
4 在ADS中使用并口仿真器
启动ADS软件打开工程后,点击Debug []按钮启动AXD窗口,在AXD调试窗口中点击窗口菜单Options-->Configure Target,如下图所示。
上图中点Add按钮。
5 在IAR中使用并口仿真器
启动IAR软件打开工程后,在右侧的Workspace面板,点击右键菜单中的Options。
上图中在Degbugger中选择RDI。
在Options-->Debugger-->RDI-->Manufacturer RDI drvier中选择H-JTAG.dll。
如果在H-JTAG中选择Flasher-->Auto Download,启动调试进会出现错误提示“Counld not find h-flasher”,如下图所示。
如果在H-JTAG中选择Init-->Auto Init,启动调试进会出现错误提示“Auto init has been enabled , but no init scripts is found”,如下图所示。
6 程序固化
6.1 概述
程序固化是指将编译通过的二进制代码文件下载到ARM开发板的flash中,有的CPU flash是外置的,有的是集成在CPU内部,flash的类型也分nor flash和nand flash,所以固化操作对于不同的CPU情况都不相同。同时,芯片厂商都会有配套的固化方案并配有相应的软件,这里只能以罗列的方式对不同的芯片分别说明固化的方法和操作步骤,不同芯片间的固化方法可能有共同之处也可能没有。
对于并口仿真器,下文介绍的几种方案,我们推荐使用H-JTAG下载方案,很明显这种操作最方便。
6.2 关于bootloader程序
当在RAM中完成程序调试后,准备下载固化到Flash,这时往往要对程序进行修改,除了修改程序所在的地址外(程序所在的地址是在开发软件中配置好的),还包括在程序中增加功能实现将程序中的代码和数据从Flash搬移到RAM中。将程序搬移到RAM中有如下要点需要说明:
**程序在Nor Flash程序运行时,运行过程中当需要动态修改全局变量时会存在问题,因为读Nor Flash速度很快,与程序中写一个普通地址(比如RAM地址)相比写Nor Flash将是一个稍复杂的操作,这是要将程序搬移到RAM中的原因。
**在Flash中的程序启动运行后,可以将代码和数据一起搬移到RAM中,至于是全部搬移到RAM中,还是只搬移必要的数据部分,可根据实际情况选择。
**要考虑中断向量的问题,多数ARM芯片包括复位向量在内的中断向量表从0x0地址开始存放,如果使用Nor Flash作为启动程序存储器,Nor Flash地址必然位于复位向量指向的地址,如果(多数情况是)中断向量与bootloader程序是存储是一起的,即是从0地址开始。然而,程序和数据搬移到RAM中后,中断向量依然指向Nor Flash地址,这是一个比较棘手的问题。解决办法是不使用中断方式,改用查询方式响应中断事件。
6.3 厂商固化方案
参考ARM芯片厂商的技术资料和工具软件,以厂商的要求为准。
6.4 Wiggler+H-Flasher方案
使用并口下载线和H-JTAG软件中的H-Flasher完成下载。
6.4.1 安装与配置H-JTAG
前文有说明,这里略。
安装和配置完成后,通过检测菜单检测到CPU,如上图所示。
6.4.2 配置H-Flasher
启动H-Flasher,在左侧的Program Wizard面板中选择“Flash Selection”,在右侧选择正确的芯片型号,如下图所示。
然后在左侧选择Programing项,如下图所示。
在上图中点击“Check”按钮,可以识别当前使用的ARM芯片,选中要下载的文件,再点击“Program”按钮。
6.5 usb+cnloader方案
cnloader是联华众科研发的bootloader程序,支持USB口,串口,以太网口,支持烧写Nor Flash和Nand Flash。可以先下载cnloader到RAM中,然后就可以重复使用cnloader的下载功能了。