浅谈 ARM 裸板调试
所说的 ARM 裸板调试是指 ARM 的 PCB 板制作完后,贴片回来的板子,不但没有
任何程序,上电都是第一次。之所以写一篇 blog,是因为最近调试了一块 ARM 板,基
于 S3C6410 的,但是我们把原来的 M-DDR DRAM 和 Nandflash 全部都换掉了,硬件做
了不小的改动。以前也做过类似的裸板调试,从 ARM7 到 ARM9,再到现在的 ARM11。
今天就来写一篇 ARM 裸板调试的文章。
如我前面所说,刚拿到 ARM 裸板的时候,首先就是要上电。不过上电之前,最好
测一下电源和地是否短路。然后就可以上电了,我一般采用稳压电源,这样可以看到电
流的大小,如果电流太大,说明硬件可能有问题,用手摸摸板子上的芯片,看看是否烫
手,查一下各个电源模块的供电电压是否正常。如果 ARM 板正常,就可以开始了。下
面根据我个人经验,介绍调试步骤和可能遇到的问题:
1.连接仿真器,读写寄存器
将硬件仿真器插到ARM板的JTAG口上,然后连接PC,现在的ARM仿真器好像都是
通过USB和PC相连了。连接好后,就给板子上电,然后打开PC端的调试软件,我在这里
用的是ARM11 的仿真器,调试软件用AXD。如果AXD识别出ARM处理器表示连接成功,
如果没识别出来就是有问题了。
(1)确认 ARM 处理器的所有供电是否正确
(2)确认 ARM 处理器的 RESET 管脚
(3)确认 ARM 处理器的晶振是否震动
(4)确认 JTAG 接口是否正确
如果上面这 4 条都正常,仿真器就应该可以找到 ARM。
2.通过脚本初始化 ARM 处理器及 DRAM
由于是裸板,所以 ARM 上电以后没有做过任何的初始化。一般会通过执行一个脚
本来对 ARM 做一个基本的初始化。脚本一般就是一个 txt 文件,例如:
setmem 0x36001004 0x4 32
setmem 0x36001010 0x40d 32
setmem 0x36001014 0x6 32
setmem 0x36001018 0x3 32
setmem 0x3600101c 0xf 32