原创 【转】real view mdk的使用

2009-8-27 09:51 2860 7 7 分类: MCU/ 嵌入式

http://magicchip.21ic.org/


real view mdk的使用

magicchip 发表于 2007-12-27 17:19:00


ARM现在已经风行世界,全世界的嵌入式工程师都在使用它,可并不是每一个工程师手中都有一套ARM开发工具。而ARM开发的REAL VIEW MDK编译系统为第三方的仿真器预留了接口,这样我们就可以使用其它比较便宜的开发设备。而TWENTY ONE 给我们提供了这样一个好的设备,那就是WIGGERH_JTAG。在这里我们要感谢他。而在使用这些设备及软件时我想大多数刚着手的工程师和我一样会存在一些问题,下面我就按我使用的情况及问题给大家介绍一下,希高望对大家有所帮助。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


1、  WIGGER为何物


WIGGER是一个并口转JTAG接口的一个转接设备,具体的原理图可以从WWW.H-JTAG.COMH下载。


2、  H-JTAG为何物


H-JTAGTWENTY ONE大侠编写的一个针对ARM编译器的第三方代理软件,它可以在ADSKEILIARARM编译器中使用,它的作用就是负责编译器与JTAG设备之间进行通讯,上面提到的WIGGER就是一个JTAG设备。H-JTAG代理软件可以从上面的网站上进行下载。


3、  如何使用WIGGERH-JTAG


WIGGERH-JTAGJTAG调试仿真时必备的硬件和软件,而在使用中如何将目标板与编译软件相连接呢,这就是本节要介绍的关键。首先用WIGGER将目标板和计算机相连接。然后安装H-JTAG代理软件。接装完成后打开REAL VIEW MDK开发系统,按下图(1)所示进行操作。点击ProjectàOptions for Target后出现如图2所示。

点击看大图

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


1

点击看大图


2


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



点击看大图

3

按图3所示选择刚才装入的H-JTAG代理程序,文件名为H-JTAG.DLL。一路点击OK确下就行了,到此完成了HJTAG与编译系统的连接。


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)


{


    // <o> Program Entry Point


    PC = 0x00000000;


}


LOAD fkprj.axf INCREMENTAL      // Download


Setup();                        // Setup for Running


g, Vectors


上述代码是在FLASH中调试时用的,如果在RAM中调试还应做相应的改动。如果将“g,”后面的Vectors改为MAIN则程序会在仿真时直接运行到main函数。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条