View source for Debug Board v3
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Debug Board v3.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Debug Board v3.
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
Debug Board |
|
---|
The Debug Board v3 is the most recent version of the Debug Board for Neo 1973 and Neo FreeRunner. It is sold seperately from the phones.
You need the debug board to have a serial console and for JTAG. The debug board lets you:
Serial console and JTAG are very useful (actually, indispensable) for kernel debugging.
The debug board provides these key components.
The Schematics of this board can be found at http://people.openmoko.org/joerg/schematics/debug_board/OpenMoKo_Debug_Board_V3_MP.pdf
This bus-powered hub
Using the hub, you can have access to the phone, JTAG and serial simultaneously, through a single USB cable.
You can actually even charge the phone (100mA slow charge) using that downstream port.
For the ISB hub function, we use the TUSB2046B chip.
Basically, we integrate a USB-JTAG adaptor similar to the [Amontec JTAGkey-tiny]. The actual reference design that we used (Thanks to Joern!) was found at http://www.oocdlink.com (but the domain has gone).
This provides us full JTAG debugging, at about 150times the speed of the wiggler
The actual JTAG port is connected with
Instead of replicating a true RS232 port, we wanted to use a USB serial converter chip, such as the FT232 or the PL2303.
As it turns out, we can even use the second port of the FT2232 simultaneously with the JTAG. So no extra FT232 or PL2303 is required.
On GTA01 the CPU UART serial port needed a multiplexer formed by a tri-state driver, since it was both connected to the GSM modem AND to the debug board. We drive the GTA01-tri-state driver mux by an inverted GSM_EN signal (pin 7 on FPC connector). For GTA02 the console serial port isn't multiplexed and connects directly to CPU UART.
Your Debug Board contains a small serial EEPROM which should be flashed correctly during production. However, some boards have received incorrect/incomplete programming during production and thus you should verify this.
If the board shows up as USB ID 1457:5118, then everything is correct.
Only if your board shows up as USB ID 0403:6010, then you will need to flash the board!
NOTE: FIC has done that for you, in case you have officially been supplied with the board. However, if you are one of the early adopters, the configuration and USB vendorID / productID might have not yet been set correctly. |
In order to do so, you can use the ftdi_eeprom program from http://www.intra2net.com/de/produkte/opensource/ftdi/. Unfortunately, the latest version (0.2) doesn't yet contain support for our FT2232D, so you need the patch from http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch
You may also need to apply the following patch to libftdi: http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch (See http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321 for additional details.)
Furthermore, you will need the EEPROM config: http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi
Once you have compiled ftdi_eeprom, you can run ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi
WARNING: Make sure you don't have any other FTDI FT232 / FT2232 based devices attached to the USB while running ftdi_eeprom. It might be wise to disconnect everything but the debug board |
You should get something like the following printout if everything was successful:
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
Once the flashing has finished, just disconnect and reconnect, and you should see
$ 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 [...]
NOTE: FIC has done that for you, in case you have officially been supplied with the board. However, if you are one of the early adopters, the configuration and USB vendorID / productID might have not yet been set correctly. |
In order to do so, you can use the FTDI Mprog program from http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe
You will need
Please make sure you have libftdi-0.8 or later. Earlier versions are known to cause problems
Furthermore, you will need to do the following:
rmmod ftdi_sio
modprobe ftdi_sio vendor=0x1457 product=0x5118
or the equivalent in your modules.conf
Please install the rules from http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
NOTE: Some distros no longer name their USB subsystem usb_device, but uses simply usb instead (e.g. Ubuntu 8.x). If so, you should change the line with SUBSYSTEM accordingly, otherwise the device will not be recognized by the udev rule. |
Please use the driver from http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/
The recommended connection sequence given in Debug Board v2#Hardware connection may not work for debug board v3 and the FreeRunner. It seems impossible to turn on the FreeRunner after plugging the FreeRunner USB cable into the PC, but before plugging the debug board USB cable into the PC. After the debug board is powered by the PC, the FreeRunner should start.
The Linux kernel of your host system will create a virtual serial device called /dev/ttyUSBx where 'x' is a sequentially assigned number. If you don't have any other USB serial converters attached to your machine, the device name will be /dev/ttyUSB1 (baud rate 115200 8N1).
You can use your favourite terminal emualtor (minicom, cu, zc, ...) just like for any other/real serial port. You may use gdb as well (eg. target remote /dev/ttya).
Once you have installed libftdi >= 0.8 and configured OpenOCD with the correct openocd.cfg from OpenOCD#openocd.cfg, it should work just fine.
Please see OpenOCD#OpenOCD_and_Debug_Board for some more information.
We previously had Neo1973 Debug Board v1 (inherited from some weird engineers who must have seen Brazil too often). Version 1 was never shipped to phase-0 or phaes-1, and not sold to anyone.