S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

时间:2023-11-28 10:19:38

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的 (2012-10-13 23:56:30)

上一讲中安装玩RVDS2.2后,我们一起来体验体验从工程的建立、编译、仿真到调试的快感,come on !

1、打开软件:

打开CodeWarrior,路径:开始->所有程序->ARM-> RealView Developer Suite v2.2-> CodeWarrior for RVDS

打开后如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

2、新建OK6410裸机工程:点击:File->New

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
 弹出新建对话框,如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
在Project 选项签中,选择ARM Executable Image。然后在右侧”Project name”设置工程名。例如以HelloArm 作为工程名,点击”Set…”,选择工程存放的目录。如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
设置好工程名 和保存路径后,点击确定,这样就完成了新建工程的任务了,如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

3、为刚才新建工程添加源代码文件。

  作为例子,这里讲飞凌LED试验中的main.c和init.s这两个文件copy到工程目录下,如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
点击在CodeWarrior for RVDS软件中的Project->Add Files

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

选择init.s 和main.c 文件,然后点击”打开”,如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

选择完源代码文件后,会自动弹出下面这个对话框:

Debug为调试版本,含有调试信息,在项目开发过程中用于调试使用,由于含有调试信息,代码尺寸较大。Release为项目开发中使用的正式发布版,不能用于调试,代码尺寸较小。

我们这里只是用来调试,只勾选Debug选项。可两个都勾选,在编译之前可根据需要选择编译为Debug或者Relese版本。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

添加完成后,就可以看到main.c 和init.s 包含在工程中了。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

4、对工程进行必要的设置。

点开工程的”Targets”选项签,双击”Debug”。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
打开设置后如下图:

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
打开”Language Settings”。打开RealView Assembly”。将右侧” Architecture or Processor”
的下拉菜单改为”ARM1176JZF-S”。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
然后点击”RealView Compile” , 将”Architecture or Processor” 的下拉菜单改
为”ARM1176JZF-S”。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
点击”Linker”,点击”RealView Linker”,RO Base 下面的文本框中填写”0x50000000”。(可参考S3C6410数据手册)

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
点击”Opints”选项签,将”Image entry point”中填写0x50000000

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
点击”Layout”选项签,将”Object/Symbol”中填写init.o。设置完成后点击”OK”

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

5、编译工程。

选择Debug模式,点击下图红色方框中的编译按钮开始编译整个工程。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
编译过程当中,会弹出一个Building 的工程对话框。这个对话框会显示编译当前的状况。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
编译完成后, 在工程所在目录的Debug 目录下, 可以看到我们已经编译好的
HelloArm.axf 文件。这个文件可以用JLINK v8 进行仿真。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

6、设置AXD1.3.1。

打开AXD1.3.1,在AXD 界面中,打开Option->Configure Target…

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

在新的对话框中,点击”Add”。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
在新弹出的对话框中,找到JlinkARM_V422g 的安装目录(提前安装J-LINK的驱动)。选择”JLinkRDI.dll”,点击”打开”。(不要选择JLinkARM.dll)
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
这是返回到选择目标的对话框。这是就能看到JLinkRDI 出现在AXD 的目标选项中了。
点击”OK”。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
每次选择JLinkRDI.dll 目标后,都会检测到CPU 的型号。由于JLink 的原因,只能识别
出CPU 型号为ARM79_0,而非我们期望的ARM11JZF-S。这个不影响我们的使用。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

7、牛刀小试,仿真一下。
打开”File->Load Image…”。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
选择HelloArm.axf(使用CodeWarrior生成的调试文件),点击打开。

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
到下面一步就可以仿真了,你可以进行全速运行、单步运行、设置断点等仿真操作。
S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

到这里,我们的源代码编辑、编译、仿真就完成了一个完整的过程,接下来,就可以开始体验我们的S3C6410神奇的裸奔了,^_^ 。

在这里预祝大家裸奔愉快,坚持就是胜利!