由于现在正在做基于ecos3.0的redboot在mx27ads板上的移植,所以把去年就买了的jlink翻了出来。按正常步骤将jlink把开发板和笔记本电脑连起来,打开开发板上的电源,jlink指示灯先闪后常亮,显示一切正常。
1.测试开发板主芯片MCIMX27是否正常启动
启动jlink commander,显示如下:
从上图可以看出,jlink已经正常识别到开发板的内核芯片的相关信息,说明开发板的ARM芯片正常启动,间接说明开发板的电源,晶振和复位电路工作正常。
2.测试外部NOR FLASH工作是否正常
先看下开发板的memory map:
测试外部NOR FLASH,测试如下:
我们先用如命令看能不能读到NOR FLASH中的值:
mem 0xC0000000 4
能正常读到值,如下图:
用J-Mem查看也显示如下:
显然,NOR FLASH工作正常。
3.测试DDR SDRAM
我们先用如命令看能不能读到DDR SDRAM中的值:
mem 0xA0000000 4
报错,读不到值:
用J-Mem查看也显示如下:
也读不到值,那么是不是就断定我们的DDR SDRAM有问题呢,这个结论还为时太早,因为我们现在还没有对Secondary AHB Port 3做初始化工作,读不出来是正常现象:
现在我们用jlink commander做如下配置:
J-Link>r
J-Link>w4 0x10000000 0x20040304
J-Link>w4 0x10000004 0xDFFBFCFB
J-Link>w4 0x10020000 0x00000000
J-Link>w4 0x10020004 0xFFFFFFFF
J-Link>w4 0x10027814 0xFFFFFFC9
J-Link>w4 0xD8001010 0x08
J-Link>w4 0xD8001010 0x04
J-Link>w4 0xD8001004 0x795729
J-Link>w4 0xD8001000 0x92200000
J-Link>mem 0xA0000F00 4
J-Link>w4 0xD8001000 0xA2200000
J-Link>mem 0xA0000F00 4
J-Link>mem 0xA0000F00 4
J-Link>w4 0xD8001000 0xB2200000
J-Link>mem 0xA0000033 1
J-Link>mem 0xA1000000 1
J-Link>w4 0xD8001000 0x82228485
配置过程如下图所示:
经过上面的配置,用J-Mem查看显示如下:
呵呵,现在DDR SDRAM可以显示出来了。
为了验证DDR SDRAM可以正常读写,我们进一步测试
读测试:
J-Link>mem 0xA0000000 4
结果如下图:
写测试:
J-Link>w4 0xA0000000 0xaa55aa55
然后读出:
J-Link>mem 0xA0000000 4
结果如下图:
完全正确。也可以用J-Mem查看显示如下:
通过相同的方法,也可以检测其它一些外围设备是否正常,如PSRAM,以太网接口等。
总结,通过j-link直接测试开发板和通过编写程序测试开发板原理是一样的,因为它们都是通过设置相同的寄存器来实现启动模块,同时也是读取相同的状态寄存器来检测模块的状态是否正确。