ADS1.2下使用JLinkV8调试友善之臂mini2440的记录

硬件配置:mini2440开发板,J-Link V8,USB转串口线

软件环境:Windows 7 32bit,ADS1.2,PuTTY(代替超级终端),J-Link ARM V4.34驱动

1.准备步骤

A:装好J-Link V8的驱动,用20pin转10pin的Jtag转接板把J-Link和mini2440的板子连好,板子上开关S2拨在NOR一端,此时打开 SEGGER J-Link GDB Sever,正常如下图所示:

B:打开ADS中的AXD Debugger,在弹出的Fatal AXD Error中点Configure,再点击Add添加一项,目录选择J-Link驱动的安装目录,把JLinkRDI.dll添加进去,再点OK,如下图:

此时,重新打开AXD Debugger,则会自动弹出SEGGER J-Link RDI Status对话框,说明已经配置好了。

2.编译,运行程序

A:首先,分别对AXD DebuggerCodeWarrior for ARM Developer Suite右键属性,修改兼容性-选择WinXP SP3,并勾上禁用桌面元素,如下图。

 

B:用ADS1.2打开mini2440光盘-非操作系统示例代码\myled工程,编译Compile,Make,没有错误通过后,再次点击Project-Run,如果一切正常,没有错误弹出,会看到4个LED两两交替闪烁,说明你成功了,同时AXD调试器下方会有进度条显示:,可以修改程序mian.c中delay(40)中数值的大小,看灯的闪烁快慢变化来进一步验证。

data = 0x06;
while(1)
{         
    rGPBDAT = (data<<5);
    dely(100);
    data =~data;
}

C:用PuTTY和2440test.bin文件测试板子状况:

2440test是源自三星的一个非操作系统测试程序,里面集成了很多小型的测试程序,涉及到GPIO的配置,中断的编写,常见接口的测试使用等,其中每一部分的测试代码都有很强的独立性,非常适合“ARM基础性”练习实验。2440test 是基于 ADS1.2开发环境创建的,它编译出的二进制文件不能下载到Linux 或者wince系统中运行,只能下载到内存指定地址(这里是0x30000000)运行,也可以烧写到Nand Flash 中运行。

程序的调试信息还有选项是通过超级终端(串口)来完成的,所以这里我们要用到串口通信。

Win7上没有超级终端,可以用免费小巧的PuTTY代替,下载地址:http://www.putty.org

配置也很简单,插入USB转串口线,只需要选择串口号,输入波特率就可以,如下图:

接下来,我们用ADS1.2打开2440test的工程文件,在inc/Option.h这个文件,我们要修改一下TFT液晶屏的型号,这里我的mini2440板,所以只#define LCD_T35,把其他注释掉。

好了,接着就一路编译Compile,Make,没有错误通过后,再次点击Project-Run,会听到蜂鸣器发出滴的一声,同时,TFT屏上刷出了一朵太阳花,成功啦!!!

此时PuTTY终端上会输出以下信息,我们就可以输入选项,逐一测试了~~

比如输入9,回车就会进行SD卡读写测试,如下图:

2440test是一个很好的参考教材,参考它的源代码我们就可以做一些很简单的驱动了,如蜂鸣器,按键,SD卡等等。

 

最后有几点疑问:

1.点击Project-Run的时候,有时会出现 "processor ARM79_0 raised an exception.Cause: The processor was reset" 的信息,这需要修改SEGGER J-Link RDI Configuration\CPU\最后一项选择No reset。

2.有时板子会一直处在复位状态,插拔电源也不好使,插拔一下J-Link才能解决问题。

3.此种用J-Link调试程序的方法,是把程序下到内存里运行的,板子断电或复位程序就没了,需要注意。

原文地址:https://www.cnblogs.com/imapla/p/2872050.html