real view mdk的使用

来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:04:29
magicchip 发表于 2007-12-27 17:19:00 ARM现在已经风行世界,全世界的嵌入式工程师都在使用它,可并不是每一个工程师手中都有一套ARM开发工具。而ARM开发的REAL VIEW MDK编译系统为第三方的仿真器预留了接口,这样我们就可以使用其它比较便宜的开发设备。而TWENTY ONE 给我们提供了这样一个好的设备,那就是WIGGER和H_JTAG。在这里我们要感谢他。而在使用这些设备及软件时我想大多数刚着手的工程师和我一样会存在一些问题,下面我就按我使用的情况及问题给大家介绍一下,希高望对大家有所帮助。
1、  WIGGER为何物
WIGGER是一个并口转JTAG接口的一个转接设备,具体的原理图可以从WWW.H-JTAG.COMH下载。
2、  H-JTAG为何物
H-JTAG是TWENTY ONE大侠编写的一个针对ARM编译器的第三方代理软件,它可以在ADS,KEIL,IAR等ARM编译器中使用,它的作用就是负责编译器与JTAG设备之间进行通讯,上面提到的WIGGER就是一个JTAG设备。H-JTAG代理软件可以从上面的网站上进行下载。
3、  如何使用WIGGER和H-JTAG
WIGGER和H-JTAG是JTAG调试仿真时必备的硬件和软件,而在使用中如何将目标板与编译软件相连接呢,这就是本节要介绍的关键。首先用WIGGER将目标板和计算机相连接。然后安装H-JTAG代理软件。接装完成后打开REAL VIEW MDK开发系统,按下图(1)所示进行操作。点击ProjectàOptions for Target后出现如图2所示。

图1

图2
点击图2中的Debug-àuse下拉选项->选择RDI Interface Driver。点击右边的SETTING选项后出现图3所示。

图3
按图3所示选择刚才装入的H-JTAG代理程序,文件名为H-JTAG.DLL。一路点击OK确下就行了,到此完成了H-JTAG与编译系统的连接。
4、  新建一个工程
打开编译软件后点击PROJECT-àNEW-àUVISION PROJECT后新建工程,这一步大家都会,都点是或确定就行了,然后建立相应文件。这一过程中注意选择项目所用的芯片型号。

图4
5、  Manage Compoments 的具体设置
这是要介绍的重点了,因为这些设置如果不正确会影响到程序运行的。按图5所示进行打开设置项。如图6所示。

图5

图6
按图6所示进行选择。然后点击确定关闭选项。
6、  Option for Target的具体设置
打开选项后如图7所示。

图7
Target选项设置如图7所示。
OUTPUT设置如图8所示。

图8
点击“Select Folder for Objects”对输出文件进行选择输出目的文件夹。
Listing设置如图9所示

图9
点击“Select Folder for Objects”对输出文件进行选择输出目的文件夹。
C/C++设置如图10所示

图10
在Misc Controls栏中填入-o1 -g -W内容。-W可以抑制所有的Warming。
Linker选项的设置如图11所示。

图11
Mem_c.sct文件内容如下所示。选用不同的芯片内容可能会有所不同,但格式相同,只需做相应的修改即可。
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00000000         {    ; load region
ER_IROM1 0x00000000 0x00040000  {  ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x40000000 0x00004000  {  ; RW data
.ANY (+RW +ZI)
}
}
在Misc controls选项中填入“--info totals --entry 0x00000000 --scatter .\src\mem_c.sct --info sizes”内容。
Debug选项设置如图12所示。

图12
Entry.ini内容如下所示,它的作用是当你在进行仿真时确保程序从开头运行。
FUNC void Setup (void)
{
// Program Entry Point
PC = 0x00000000;
}
LOAD fkprj.axf INCREMENTAL      // Download
Setup();                        // Setup for Running
g, Vectors
上述代码是在FLASH中调试时用的,如果在RAM中调试还应做相应的改动。如果将“g,”后面的Vectors改为MAIN则程序会在仿真时直接运行到main函数。