2008年11月2日

BF532使用jtag调试时的一些问题

BF532电路板焊接好之后如果上电没有什么问题,我们就可以使用jtag工具开始调试了。Blackfin开源工具相对来说是做的不错的,而且大部分都集中在blackfin.uclinux.org网站上。但感觉上这些工具的开发并不同步,有点点混乱。比如说jtag工具就有几个版本,功能上还相差挺大,为什么不统一Merge到一个版本中呢?这之中可能有些什么其他原因咱就不得而知。这里简单总结下可能碰到问题,以作备忘吧。
1. 如何使用PCMCIA并口卡
现在大多数的Notebook已经没有串并口,我们可以买一块PCMCIA串口卡或并口卡来使用。但是通常并口卡的地址是0x378,我们如何确定PCMCIA并口卡的端口地址呢?在Linux平台上,可以这样查看并口地址:
#cat /proc/ioports
列出所有端口的地址,从中找出并口的端口地址。
在我的机器上就是上面红色线条框住的地址,可以用0x1810替换0x378地址。
在WindownXp平台上,可以这样查看。
控制面板-->系统-->设备管理器

双击LPT3查看配置:
2. 检测BF532设备ID
过程如下:
jtag> cable parallel 0x1810 DLC5
jtag> detect
jtag就会输出检测到的DeviceID等信息。如果没有任何反映,检查板子上Jtag nTRST脚有没有电位拉高,因为nTRST为低电位时BF532处于jtag复位状态,而有些jtag调试板又不会拉高该Pin脚或根本就不会用到该Pin脚,这时我们手动在nTRST和VCC3V3之间串接一个500欧的电阻即可。
还有一个问题,如果出现STEPPING错误,请添加"0101 bf533 5"到文件/usr/local/share/jtag/analog/bf533/STEPPING最后。如下所示:
3. 串行Flash检测
jtag> initbus bf532_bf1
jtag> spidetectflash 0
如果initbus bf532_bf1错误,你该下载另外一个jtag工具了jtagprog_bf532,这也就我说的这些工具之间没有同步代码的问题。

4. 使用jtag和gdbproxy调试代码
使用方法网上有很多的介绍,这里只说明一下,gdbproxy下载这个bfemu_gdbproxy即可。

5. jtag调试代码的原理,有兴趣的朋友看看这片文章吧,强烈推荐之《ARM JTAG 调试原理》。去网上搜索一下吧,很多地方可以下载到。

没有评论: