linux学习中
分类: 嵌入式
2009-10-20 14:31:48
这个软件有Windows 和 Linux两个版本。我下载了常用的Windows版本。文件大小不到8M (相比TRACE32 500多M要苗条多啊)。下载安装后(PS:需要java virtual machine的支持)在桌面上会有这几个图标:
其中OCD Commander就是我们想要的。 OCD Commander – Java是OCD Commander的Java版本。
打开OCD Commander
如上图,这里可以选择处理器(MIPS),调试用的接口(Wiggler), Wiggler是插在PC的并口上用的,所以需要选择并口号(LPT1)。速度我们选择最快的380KHz。途中的Multiple是选择多个CPU的。这个暂时没有试过。
点击OK进入主程序:
很简单的一个界面,提供的功能也比较简单。中间的文字说明了命令的简单规则。上面的菜单按钮是一些常用的功能。如reset,step,go,halt,regs等。最下面的是输入命令的地方。这里可以读写一些寄存器,内存等。具体可以看help里的帮助文档。
把板子的电源打开,Wiggler的14pin线要正确插在板子的JTAG口上。一切准备好,可以电reset按钮
如果板子里有程序,点击go就可以看到串口输出的信息。按halt可以暂停CPU的运行。
点cpu可以看到cpu的PC值,还有PC指向地方的值及汇编指令:
点regs可以看到32个通用寄存器的值:
在Commands菜单下有更多的命令:
比如重要的memory命令
这样我们可以更改内存或者外设寄存器的值,比如:
这样我们可以通过这些命令初始化一些外设寄存器,比如SDRAM控制器的寄存器,使SDRAM可以使用这样我们就可能下载程序到SDRAM然后从SDRAM运行,进而实现bootbase(相当于bootloader)的烧写。
还有Download命令。
可喜的是这个软件直接支持elf文档(这样我们就不必费心东西会download到哪片空间):
Download一个bootext的elf文档到SDRAM中 (前提是SDRAM初始化好了):
才
Download完后:
可以看到PC被自动设置到elf的起始地址。
接下来可以按go运行试试看了。(注这里的bootext.elf是修改过的特定elf,一般的bootext.elf会读取flash中的内容,而flash没有初始化会出现exception)
哈哈,可以正常运行了:
关于SDRAM的初始化,一个一个的去敲命令会很麻烦。还好这个软件支持script
就是这个菜单
我们把要执行的命令写成一个文件,后缀为.mac就可以了。规则也很简单。直接按照command里的命令写就可以了:
整个MIPS EJTAG的使用就是这样。是不是很简单。简单的硬件,简单的软件。不再需要昂贵的ICE,庞大的TRACE 32。当然功能也不是太全。但是这个已经能满足我们的要求了。