BDI2000配置及使用环境小记

本文描述基于美菱项目(RMI AU1200芯片环境)。BDI2000工具的所有工作相关文件保存在BDI2000_tool目录中,该目录中最重要的包括如下文件:

  1. B20R4KGD.EXE :通过串口实现对BDI2000进行配置
  2. au1200.cfg :调用B20R4KGD.EXE时所需要的配置文件
  3. tftpsrv.exe: 在PC端开启tftp server, 用于Ethernet和BDI2000相连
  4. update.txt : 使用BDI2000更新 美菱项目中的Yamon和Linux kernel的命令记录
  5. zImage*.bin : 美菱项目中用于更新的Linux kernel目标文件,通过对Linux kernel源代码的make zImage命令得到
  6. yamon*.bin :  美菱项目中用于更新的yamon目标文件

 

 

一、 BDI相关软件的运行环境

     BDI2000 PC端的配置和使用程序 B20R4KGD.EXE tftpsrv.exe 必须在Windows环境下才能运行,因此对于使用Linux发行版的PC机来说必须使用VirtualBox等虚拟机软件,并且 整个BDI2000_tool目录需要复制到虚拟机的纯WinXP环境下,而不能通过VirtualBox的网络硬盘方式来共享存放于Linux文件系统中的BDI2000_tool目录。

 


 

二、BDI2000通过PC端进行配置的方法

 

      BDI2000本身作为一个调试设备,具有网络功能,能够在局域网拥有独立的IP地址,并且只有具有指定IP的PC才能通过网络指挥BDI进行Flash设备的烧写,这些规则都是B20R4KGD.EXE程序 通过PC端的串口(或者是VirtualBox中虚拟的PC端口串口)来设定的。VirtualBox环境下如何直接使用PC上的物理串口,见本博的另外文章《VirtualBox中直接使用本机物理串口的方法 》。

      首先将BDI通过串口线与PC相连,BDI通电后双击B20R4KGD.EXE 程序,然后选择 Setup-->BDI2000,即进入配置界面,如下图:

 


     

      首先需要将BDI和PC(Vitual PC)通过串口相连,并获得BDI的物理MAC地址,这是由图中最上一栏完成的:Channel 项选择正确的PC串口,Baudrate 项似乎可以任选,默认就用9600即可,然后点击 Connect 按钮,稍等即会提示连接成功,并得到 BDI的物理MAC地址。

      然后,需要设定 BDI IP 和 烧写BDI的PC Host IP地址,以及网关、子网掩码等,这是由图中 Configuration 栏完成的。

      最后,需要在最低一栏中输入BDI的配置文件,即前述的au1200.cfg,这是在BDI连接目标板时需要的

      ——完成上述配置后,点击Transmit 按钮,即可完成对BDI的配置


 

三、BDI2000与PC和目标板的连接

 

      经过配置的BDI2000,就不再需要串口线了,而需要插入网线,它之后的工作都是通过网络与PC通信和交互的,并且要求BDI和PC/VirtualPC位于同一个网段内,各自拥有上述配置过程中设定的IP值。需要注意的是:为了避免每次使用BDI时都要进行上述的配置,建议PC/VirtualPC 端使用静态固定的IP地址,并且必须设定和 上图中的Host IP相同的值 (例如上图中所示的Host IP: 172.20.46.125).

      BDI通电后,即可开始与PC进行连接了:首先在 PC/VirtualPC 上运行 tftpsrv.exe 程序启动在PC上创建tftp server,然后打开 PC/VirtualPC 上的命令行终端,使用 telnet 命令连接在上图中设定BDI IP,例如 telnet 172.20.46.253 , 连接成功后,将会出现如下信息,列出BDI下的所有可执行命令,然后出现提示符

 

BDI Debugger for MIPS32
=======================

MD    [

] []  display target memory as word (32bit)
MDH   [
] []  display target memory as half word (16bit)
……

……(略)
JTAG                         switch to JTAG command mode
QUIT                         terminate the Telnet session


BDI>

- TARGET: waiting for target Vcc
- TARGET: waiting for target Vcc
- TARGET: waiting for target Vcc

……

 

- TARGET: waiting for target Vcc 信息表示BDI还没有和目标板连接上

这时,将BDI的调试线连接上目标板的JTAG 口,然后将目标板通电,如果成功则会出现如下信息:

 

TARGET: waiting for target Vcc
- TARGET: waiting for target Vcc
- TARGET: processing user reset request
- Target ID code is 0x2040228F
- Target IMP reg is 0x20404000
- TARGET: resetting target passed
- TARGET: processing target startup ....
- TARGET: processing target startup passed
BDI>

 

此处需要注意:如果目标板上电后没有出现这样的成功消息,而是出现这样的连接错误信息:


TARGET: waiting for target Vcc
- TARGET: waiting for target Vcc
- TARGET: processing user reset request
- Bypass check: 0x000000001 => 0x00FFFFFF
- JTAG exists check failed
*** TARGET: resetting target failed
# JTAG: Communication test failed
- TARGET: target will be restarted in 5 sec
- TARGET: processing user reset request
- Bypass check: 0x000000001 => 0x00FFFFFF
- JTAG exists check failed
*** TARGET: resetting target failed

 

则有两种可能:1、BDI的调试线与目标板的JTAG口接反了,换个方向试一下即可;  2、如果换了方向仍然出现这样的错误,则可能是目标板上的JTAG 口没有焊接好的缘故。

 


 

 

四、BDI2000烧写NorFlash

 

      按照上述方法将BDI和PC、目标板连接好之后,就可以通过PC的命令行终端进行BDI的操作来完成NorFlash的烧写了。在进行烧写之前,必须首先在PC的命令行终端通过BDI的 host 命令配置作为BDI Host端的IP地址,该地址必须和步骤三中设定的Host IP相同,也就是PC本机的IP。在上例中命令为 


    BDI>host 172.20.46.125


然后即可根据update.txt中的指令对NorFlash中的yamon和kernel进行更新了。

你可能感兴趣的:(BDI2000配置及使用环境小记)