Debug Board v3/zh cn

From Openmoko

(Difference between revisions)
Jump to: navigation, search
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Languages|Debug Board v3}}
 +
 +
{{Dboard}}
 +
 
调试板V3是针对neo 1973和neo FreeRunner最新版的调试板。它与手机分开销售。
 
调试板V3是针对neo 1973和neo FreeRunner最新版的调试板。它与手机分开销售。
  
Line 13: Line 17:
  
 
此调试板提供如下主要功能:
 
此调试板提供如下主要功能:
 +
 
USB 集线器
 
USB 集线器
 +
 
使用 FT2232 的JTAG口
 
使用 FT2232 的JTAG口
 +
 
串口
 
串口
  
  
 
'''1.1 原理图'''
 
'''1.1 原理图'''
调试板的原理图可以在此处下载:http://people.openmoko.org/joerg/schematics/debug_board/OpenMoKo_Debug_Board_V3_MP.pdf  
+
 
 +
调试板的原理图可以在此处下载:http://people.openmoko.org/joerg/schematics/debug_board/OpenMoKo_Debug_Board_V3_MP.pdf  
  
 
'''1.2 USB 集线器'''
 
'''1.2 USB 集线器'''
 +
 
这个总线供电集线器
 
这个总线供电集线器
 
将上行端口与电脑相连
 
将上行端口与电脑相连
Line 36: Line 45:
  
 
'''1.3 使用 FT2232 的JTAG口'''
 
'''1.3 使用 FT2232 的JTAG口'''
本质上,我们整合USB-JTAG适配器的方法和Amontec JTAGkey-tiny类似。我们使用的实际参考设计(感谢Joern!)可以在这里找到:http://www.oocdlink.com(但是这个域名已经不存在了)。
+
 
 +
本质上,我们整合USB-JTAG适配器的方法和Amontec JTAGkey-tiny类似。我们使用的实际参考设计(感谢Joern!)可以在这里找到:http://www.oocdlink.com  (但是这个域名已经不存在了)。
  
 
它提供大约150倍wiggler的速度、完全的JTAG调试能力。
 
它提供大约150倍wiggler的速度、完全的JTAG调试能力。
Line 43: Line 53:
  
 
'''1.4 串口'''
 
'''1.4 串口'''
 +
 
作为再使用一个真实的RS232口的替代方案,我们可以使用一个USB转串口的转换芯片,比如FT232或PL2303。
 
作为再使用一个真实的RS232口的替代方案,我们可以使用一个USB转串口的转换芯片,比如FT232或PL2303。
 
 
Line 48: Line 59:
  
 
'''1.4.1 三态串口'''  
 
'''1.4.1 三态串口'''  
 +
 
GTA01的CPU UART串口需要一个由三态驱动器构成的多路复用器。因为它同时连接了GSM调制解调器模块和调试板。我们通过一个反转的GSM_EN信号(在FPC连接器的7脚)驱动GTA01三态驱动器。而GTA02的控制台串口则不是多路复用的,而是直接与CPU的UART相连。
 
GTA01的CPU UART串口需要一个由三态驱动器构成的多路复用器。因为它同时连接了GSM调制解调器模块和调试板。我们通过一个反转的GSM_EN信号(在FPC连接器的7脚)驱动GTA01三态驱动器。而GTA02的控制台串口则不是多路复用的,而是直接与CPU的UART相连。
  
 
'''
 
'''
 +
 
== 2 使用指南 ==
 
== 2 使用指南 ==
  
 
2.1 准备工作  
 
2.1 准备工作  
2.1.1 FT2232D EEPROM'''  
+
2.1.1 FT2232D EEPROM'''
 +
 
你的调试板包含了一个串行EEPROM,它应该在出厂时就被正确地烧写过。尽管如此,一些板子在出厂时并没有正确/完全的被编程,以至于你需要核实一下。
 
你的调试板包含了一个串行EEPROM,它应该在出厂时就被正确地烧写过。尽管如此,一些板子在出厂时并没有正确/完全的被编程,以至于你需要核实一下。
  
Line 62: Line 76:
  
 
'''2.1.1.1 Linux下烧写'''
 
'''2.1.1.1 Linux下烧写'''
  注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。
+
 
 +
        注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。
  
 
要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.intra2net.com/de/produkte/opensource/ftdi/ 。但是,最新的版本(0.2)还不支持FT2232D,所以你需要以下的补丁:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch 。
 
要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.intra2net.com/de/produkte/opensource/ftdi/ 。但是,最新的版本(0.2)还不支持FT2232D,所以你需要以下的补丁:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch 。
 
 
你可能也需要为libftdi使用以下的补丁:http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch 。(在http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321可获得更多帮助)
+
你可能也需要为libftdi使用以下的补丁:http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch 。(在http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321  可获得更多帮助)
  
 
此外,还需要EEPROM配置文件:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi 。
 
此外,还需要EEPROM配置文件:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi 。
Line 73: Line 88:
 
ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi  
 
ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi  
  
警告:在运行ftdi_eeprom 时,请确保你没有其他包含FTDI FT232 / FT2232的设备连接在USB端口。因为ftdi_eeprom可能会断开所有除调试板的设备。
+
        警告:在运行ftdi_eeprom 时,请确保你没有其他包含FTDI FT232 / FT2232的设备连接在USB端口。因为ftdi_eeprom可能会断开所有除调试板的设备。
  
 
如果一切顺利,你将会得到以下信息:
 
如果一切顺利,你将会得到以下信息:
Line 111: Line 126:
 
'''2.1.1.2 Windows下烧写'''
 
'''2.1.1.2 Windows下烧写'''
  
注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。
+
        注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。
  
 
要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe 。
 
要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe 。
Line 118: Line 133:
 
'''2.1.2 驱动  
 
'''2.1.2 驱动  
 
2.1.2.1 Linux'''  
 
2.1.2.1 Linux'''  
 +
 
请确保你的电脑已安装了libftdi-0.8或更高版本。已经发现早期的版本会有问题。
 
请确保你的电脑已安装了libftdi-0.8或更高版本。已经发现早期的版本会有问题。
 
此外,需要做以下工作:
 
此外,需要做以下工作:
 +
 
'''2.1.2.1.1 ftdi_sio 模块配置选项'''
 
'''2.1.2.1.1 ftdi_sio 模块配置选项'''
 +
 
rmmod ftdi_sio  
 
rmmod ftdi_sio  
 
modprobe ftdi_sio vendor=0x1457 product=0x5118  
 
modprobe ftdi_sio vendor=0x1457 product=0x5118  
Line 126: Line 144:
 
 
 
'''2.1.2.1.2 udev 规则'''
 
'''2.1.2.1.2 udev 规则'''
 +
 
请安装以下udev规则:http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
 
请安装以下udev规则:http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
  
Line 131: Line 150:
  
 
'''2.1.2.2 Windows'''
 
'''2.1.2.2 Windows'''
 +
 
请使用以下驱动程序:http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/  
 
请使用以下驱动程序:http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/  
  
 
'''2.2 硬件连接'''
 
'''2.2 硬件连接'''
 +
 
连接Neo1973与调试板V2(如何使用软性印刷电路板(Flexible Printed Circuit;FPC)进行连接)
 
连接Neo1973与调试板V2(如何使用软性印刷电路板(Flexible Printed Circuit;FPC)进行连接)
 
在Debug Board v2#Hardware中建议的连接方法可能对调试板V3和freerunner的连接并不适用。在将调试板的USB电缆插入PC之前,将FreeRunner的USB接口插入电脑可能并不能启动FreeRunner。在调试板从PC中取得电源后,FreeRunner应该才会启动。
 
在Debug Board v2#Hardware中建议的连接方法可能对调试板V3和freerunner的连接并不适用。在将调试板的USB电缆插入PC之前,将FreeRunner的USB接口插入电脑可能并不能启动FreeRunner。在调试板从PC中取得电源后,FreeRunner应该才会启动。
 
 
'''
+
'''2.3 建议'''
2.3 建议'''
+
 
User:Cfriedt 20081021 调试板V3在J1(20针ARM JTAG 口)使用3.3V信号电平。许多其他的ARM设备使用1.8V信号电平。我建议在下一版的调试板中使用和FlySwatter一样的电平转换方案。FlySwatter使用两片的SN74AVC4T245来提供从1.2V到3.6V的信号电平范围。
 
User:Cfriedt 20081021 调试板V3在J1(20针ARM JTAG 口)使用3.3V信号电平。许多其他的ARM设备使用1.8V信号电平。我建议在下一版的调试板中使用和FlySwatter一样的电平转换方案。FlySwatter使用两片的SN74AVC4T245来提供从1.2V到3.6V的信号电平范围。
  
Line 144: Line 165:
 
2.4.1 Linux下  
 
2.4.1 Linux下  
 
2.4.1.1 串口'''
 
2.4.1.1 串口'''
 +
 
你宿主机的Linux内核将会创建一个虚拟的串口设备节点:/dev/ttyUSBx,x是按顺序编号的。如果你没有其他的USB-串口转换器和你的宿主机相连,那么设备节点名为 /dev/ttyUSB1 (baud rate 115200 8N1)。
 
你宿主机的Linux内核将会创建一个虚拟的串口设备节点:/dev/ttyUSBx,x是按顺序编号的。如果你没有其他的USB-串口转换器和你的宿主机相连,那么设备节点名为 /dev/ttyUSB1 (baud rate 115200 8N1)。
 
你可以像使用其它真实的串口一样使用你喜欢的终端仿真器(minicom, cu, zc, ...)。你也可以使用gdb(比如 target remote /dev/ttya)。
 
你可以像使用其它真实的串口一样使用你喜欢的终端仿真器(minicom, cu, zc, ...)。你也可以使用gdb(比如 target remote /dev/ttya)。
  
 
'''2.4.1.2 JTAG口'''
 
'''2.4.1.2 JTAG口'''
 +
 
一旦你安装的libftdi 版本为0.8 或更高,并用正确的openocd.cfg( 可由此处下载OpenOCD#openocd.cfg) 配置OpenOCD ,则JTAG便可以很好地工作。
 
一旦你安装的libftdi 版本为0.8 或更高,并用正确的openocd.cfg( 可由此处下载OpenOCD#openocd.cfg) 配置OpenOCD ,则JTAG便可以很好地工作。
 +
 +
[[Category:Debug Board]]

Latest revision as of 05:07, 1 January 2009


Debug Board


调试板V3是针对neo 1973和neo FreeRunner最新版的调试板。它与手机分开销售。

这个调试板可以使你拥有一个串口控制台和JTAG口。这个调试板使你: 可以通过串口控制台得到各个时刻事件发生时的内核调试信息(或是得到内核崩溃时的最后信息); 使用JTAG口在任何时刻暂停处理器,分析系统状态(这也可以同gdb调试器同时使用); 可以对NOR闪存进行些操作。

串口控制台和JTAG口对于内核调试是非常有用的(实际上是必不可少的)。


[edit] 1 概述

此调试板提供如下主要功能:

USB 集线器

使用 FT2232 的JTAG口

串口


1.1 原理图

调试板的原理图可以在此处下载:http://people.openmoko.org/joerg/schematics/debug_board/OpenMoKo_Debug_Board_V3_MP.pdf

1.2 USB 集线器

这个总线供电集线器 将上行端口与电脑相连 将1号下行端口与实现JTAG和串口控制台的FT2232D相连 将2号下行端口与空闲的USB-A连接器相连 将3号下行端口与手机相连

使用这个集线器,你可以通过一个USB电缆同时访问手机、JTAG口和串口。

实际上,你甚至可以使用下行端口对手机进行充电(100mA缓慢充电)。

我们使用TUSB2046B芯片实现USB集线器的功能.


1.3 使用 FT2232 的JTAG口

本质上,我们整合USB-JTAG适配器的方法和Amontec JTAGkey-tiny类似。我们使用的实际参考设计(感谢Joern!)可以在这里找到:http://www.oocdlink.com (但是这个域名已经不存在了)。

它提供大约150倍wiggler的速度、完全的JTAG调试能力。

实际的JTAG口是与手机连接的(通过调试专用扁平线缆)。一个独立的20针接口使用标准ARM-JTAG引出线,它使用户可以用这个设备作为别的以ARM设备的JTAG适配器。

1.4 串口

作为再使用一个真实的RS232口的替代方案,我们可以使用一个USB转串口的转换芯片,比如FT232或PL2303。

事实上,我们在使用FT2232的JTAG功能的同时,可以使用它的第二个端口。所以无需额外的 FT232 或 PL2303芯片了。

1.4.1 三态串口

GTA01的CPU UART串口需要一个由三态驱动器构成的多路复用器。因为它同时连接了GSM调制解调器模块和调试板。我们通过一个反转的GSM_EN信号(在FPC连接器的7脚)驱动GTA01三态驱动器。而GTA02的控制台串口则不是多路复用的,而是直接与CPU的UART相连。

[edit] 2 使用指南

2.1 准备工作 2.1.1 FT2232D EEPROM

你的调试板包含了一个串行EEPROM,它应该在出厂时就被正确地烧写过。尽管如此,一些板子在出厂时并没有正确/完全的被编程,以至于你需要核实一下。

如果板子在插入电脑后显示的ID为1457:5118,则调试板已被正确烧写过。 只有当你的板子显示的ID为0403:6010时,你必须自己刷一下板子。


2.1.1.1 Linux下烧写

       注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。

要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.intra2net.com/de/produkte/opensource/ftdi/ 。但是,最新的版本(0.2)还不支持FT2232D,所以你需要以下的补丁:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch

你可能也需要为libftdi使用以下的补丁:http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch 。(在http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321 可获得更多帮助)

此外,还需要EEPROM配置文件:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi

在你编译好ftdi_eeprom后,就可以运行以下命令: ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi

       警告:在运行ftdi_eeprom 时,请确保你没有其他包含FTDI FT232 / FT2232的设备连接在USB端口。因为ftdi_eeprom可能会断开所有除调试板的设备。

如果一切顺利,你将会得到以下信息:

FTDI eeprom generator v0.2
(c) Intra2net AG <opensource@intra2net.com>
FTDI init: 0
Unable to find FTDI devices under given vendor/product id: 0x1457/0x5118
Retrying with default FTDI id.
Used eeprom space: 102 bytes
FTDI write eeprom: 0
Writing to file: neo1973_debug_board_v2.eeprom
FTDI close: 0


烧写完成后,断开调试板,再重新连接。你将会得到以下信息:

$ lsusb -v -d 0x1457:
Bus 005 Device 009: ID 1457:5118
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0         8
idVendor           0x1457
idProduct          0x5118
bcdDevice            5.00
iManufacturer           1 Openmoko
iProduct                2 Debug Board for Neo1973
iSerial                 0
bNumConfigurations      1
[...]


2.1.1.2 Windows下烧写

       注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。

要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe 。 你还需要EEPROM的模板文件(配置文件):http://people.openmoko.org/laforge/misc/debug_board_v2/mprog_template/neo1973_debugboard_v2.ept

2.1.2 驱动 2.1.2.1 Linux

请确保你的电脑已安装了libftdi-0.8或更高版本。已经发现早期的版本会有问题。 此外,需要做以下工作:

2.1.2.1.1 ftdi_sio 模块配置选项

rmmod ftdi_sio modprobe ftdi_sio vendor=0x1457 product=0x5118 或是在modules.conf 里配置。

2.1.2.1.2 udev 规则

请安装以下udev规则:http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/

注意:某些发行版只使用 usb 作为他们USB子系统的名字,而不再是usb_device。(比如Ubuntu 8.x)。如果这样,你就应该相应的改变带有SUBSYSTEM的行,否则设备并不能被udev规则所识别。

2.1.2.2 Windows

请使用以下驱动程序:http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/

2.2 硬件连接

连接Neo1973与调试板V2(如何使用软性印刷电路板(Flexible Printed Circuit;FPC)进行连接) 在Debug Board v2#Hardware中建议的连接方法可能对调试板V3和freerunner的连接并不适用。在将调试板的USB电缆插入PC之前,将FreeRunner的USB接口插入电脑可能并不能启动FreeRunner。在调试板从PC中取得电源后,FreeRunner应该才会启动。

2.3 建议

User:Cfriedt 20081021 调试板V3在J1(20针ARM JTAG 口)使用3.3V信号电平。许多其他的ARM设备使用1.8V信号电平。我建议在下一版的调试板中使用和FlySwatter一样的电平转换方案。FlySwatter使用两片的SN74AVC4T245来提供从1.2V到3.6V的信号电平范围。

2.4 实际使用 2.4.1 Linux下 2.4.1.1 串口

你宿主机的Linux内核将会创建一个虚拟的串口设备节点:/dev/ttyUSBx,x是按顺序编号的。如果你没有其他的USB-串口转换器和你的宿主机相连,那么设备节点名为 /dev/ttyUSB1 (baud rate 115200 8N1)。 你可以像使用其它真实的串口一样使用你喜欢的终端仿真器(minicom, cu, zc, ...)。你也可以使用gdb(比如 target remote /dev/ttya)。

2.4.1.2 JTAG口

一旦你安装的libftdi 版本为0.8 或更高,并用正确的openocd.cfg( 可由此处下载OpenOCD#openocd.cfg) 配置OpenOCD ,则JTAG便可以很好地工作。

Personal tools

调试板V3是针对neo 1973和neo FreeRunner最新版的调试板。它与手机分开销售。

这个调试板可以使你拥有一个串口控制台和JTAG口。这个调试板使你: 可以通过串口控制台得到各个时刻事件发生时的内核调试信息(或是得到内核崩溃时的最后信息); 使用JTAG口在任何时刻暂停处理器,分析系统状态(这也可以同gdb调试器同时使用); 可以对NOR闪存进行些操作。

串口控制台和JTAG口对于内核调试是非常有用的(实际上是必不可少的)。


1 概述

此调试板提供如下主要功能: USB 集线器 使用 FT2232 的JTAG口 串口


1.1 原理图 调试板的原理图可以在此处下载:http://people.openmoko.org/joerg/schematics/debug_board/OpenMoKo_Debug_Board_V3_MP.pdf

1.2 USB 集线器 这个总线供电集线器 将上行端口与电脑相连 将1号下行端口与实现JTAG和串口控制台的FT2232D相连 将2号下行端口与空闲的USB-A连接器相连 将3号下行端口与手机相连

使用这个集线器,你可以通过一个USB电缆同时访问手机、JTAG口和串口。

实际上,你甚至可以使用下行端口对手机进行充电(100mA缓慢充电)。

我们使用TUSB2046B芯片实现USB集线器的功能.


1.3 使用 FT2232 的JTAG口 本质上,我们整合USB-JTAG适配器的方法和Amontec JTAGkey-tiny类似。我们使用的实际参考设计(感谢Joern!)可以在这里找到:http://www.oocdlink.com(但是这个域名已经不存在了)。

它提供大约150倍wiggler的速度、完全的JTAG调试能力。

实际的JTAG口是与手机连接的(通过调试专用扁平线缆)。一个独立的20针接口使用标准ARM-JTAG引出线,它使用户可以用这个设备作为别的以ARM设备的JTAG适配器。

1.4 串口 作为再使用一个真实的RS232口的替代方案,我们可以使用一个USB转串口的转换芯片,比如FT232或PL2303。

事实上,我们在使用FT2232的JTAG功能的同时,可以使用它的第二个端口。所以无需额外的 FT232 或 PL2303芯片了。

1.4.1 三态串口 GTA01的CPU UART串口需要一个由三态驱动器构成的多路复用器。因为它同时连接了GSM调制解调器模块和调试板。我们通过一个反转的GSM_EN信号(在FPC连接器的7脚)驱动GTA01三态驱动器。而GTA02的控制台串口则不是多路复用的,而是直接与CPU的UART相连。

2 使用指南

2.1 准备工作 2.1.1 FT2232D EEPROM 你的调试板包含了一个串行EEPROM,它应该在出厂时就被正确地烧写过。尽管如此,一些板子在出厂时并没有正确/完全的被编程,以至于你需要核实一下。

如果板子在插入电脑后显示的ID为1457:5118,则调试板已被正确烧写过。 只有当你的板子显示的ID为0403:6010时,你必须自己刷一下板子。


2.1.1.1 Linux下烧写

 	注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。

要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.intra2net.com/de/produkte/opensource/ftdi/ 。但是,最新的版本(0.2)还不支持FT2232D,所以你需要以下的补丁:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch

你可能也需要为libftdi使用以下的补丁:http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch 。(在http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321可获得更多帮助)

此外,还需要EEPROM配置文件:http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi

在你编译好ftdi_eeprom后,就可以运行以下命令: ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi

警告:在运行ftdi_eeprom 时,请确保你没有其他包含FTDI FT232 / FT2232的设备连接在USB端口。因为ftdi_eeprom可能会断开所有除调试板的设备。

如果一切顺利,你将会得到以下信息:

FTDI eeprom generator v0.2
(c) Intra2net AG <opensource@intra2net.com>
FTDI init: 0
Unable to find FTDI devices under given vendor/product id: 0x1457/0x5118
Retrying with default FTDI id.
Used eeprom space: 102 bytes
FTDI write eeprom: 0
Writing to file: neo1973_debug_board_v2.eeprom
FTDI close: 0


烧写完成后,断开调试板,再重新连接。你将会得到以下信息:

$ lsusb -v -d 0x1457:
Bus 005 Device 009: ID 1457:5118
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0         8
idVendor           0x1457
idProduct          0x5118
bcdDevice            5.00
iManufacturer           1 Openmoko
iProduct                2 Debug Board for Neo1973
iSerial                 0
bNumConfigurations      1
[...]


2.1.1.2 Windows下烧写

注意:假设你的板子是受官方的技术支持的,FIC已经帮你做好了这个工作。尽管如此,如果你是早期的使用者之一,配置和USB 经销商ID/产品ID 可能并没有被正确设置。

要重新烧写EEPROM,你可以使用ftdi_eeprom程序,下载地址:http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe 。 你还需要EEPROM的模板文件(配置文件):http://people.openmoko.org/laforge/misc/debug_board_v2/mprog_template/neo1973_debugboard_v2.ept

2.1.2 驱动 2.1.2.1 Linux 请确保你的电脑已安装了libftdi-0.8或更高版本。已经发现早期的版本会有问题。 此外,需要做以下工作: 2.1.2.1.1 ftdi_sio 模块配置选项 rmmod ftdi_sio modprobe ftdi_sio vendor=0x1457 product=0x5118 或是在modules.conf 里配置。

2.1.2.1.2 udev 规则 请安装以下udev规则:http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/

注意:某些发行版只使用 usb 作为他们USB子系统的名字,而不再是usb_device。(比如Ubuntu 8.x)。如果这样,你就应该相应的改变带有SUBSYSTEM的行,否则设备并不能被udev规则所识别。

2.1.2.2 Windows 请使用以下驱动程序:http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/

2.2 硬件连接 连接Neo1973与调试板V2(如何使用软性印刷电路板(Flexible Printed Circuit;FPC)进行连接) 在Debug Board v2#Hardware中建议的连接方法可能对调试板V3和freerunner的连接并不适用。在将调试板的USB电缆插入PC之前,将FreeRunner的USB接口插入电脑可能并不能启动FreeRunner。在调试板从PC中取得电源后,FreeRunner应该才会启动。

2.3 建议 User:Cfriedt 20081021 调试板V3在J1(20针ARM JTAG 口)使用3.3V信号电平。许多其他的ARM设备使用1.8V信号电平。我建议在下一版的调试板中使用和FlySwatter一样的电平转换方案。FlySwatter使用两片的SN74AVC4T245来提供从1.2V到3.6V的信号电平范围。

2.4 实际使用 2.4.1 Linux下 2.4.1.1 串口 你宿主机的Linux内核将会创建一个虚拟的串口设备节点:/dev/ttyUSBx,x是按顺序编号的。如果你没有其他的USB-串口转换器和你的宿主机相连,那么设备节点名为 /dev/ttyUSB1 (baud rate 115200 8N1)。 你可以像使用其它真实的串口一样使用你喜欢的终端仿真器(minicom, cu, zc, ...)。你也可以使用gdb(比如 target remote /dev/ttya)。

2.4.1.2 JTAG口 一旦你安装的libftdi 版本为0.8 或更高,并用正确的openocd.cfg( 可由此处下载OpenOCD#openocd.cfg) 配置OpenOCD ,则JTAG便可以很好地工作。