View source for Debug Board v2
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 v2.
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 v2.
This page provides information on the architecture of the second version of the Neo1973 debug board (the one shipped with the "Advanced" GTA01 kits).
The debug board provides these key components.
The Schematics of this board can be found at http://people.openmoko.org/laforge/doc/hardware/neo1973_debug_board/neo1973_debugboard_v2_schematics.pdf
This bus-powered hub
For the USB hub we use the TUSB2046B chip.
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.
If you have 2 free USB ports on your PC, it is better to plug the debug board and the Neo1973 into the PC independently (rather than using the hub). This will allow the Neo1973 to charge at the full 500mA rate, and will also allow the debug-board USB to be unplugged/reconnected without affecting the Neo1973.
Basically, we integrate a USB-JTAG adaptor similar to the [Amontec JTAGkey-tiny]. The actual reference design that we used (Thanks to Joern!) can be found at http://www.oocdlink.com
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.
The serial port needs a tri-state driver, since it is both connected to the GSM modem AND to the debug board. We drive the tri-state driver by an inverted GSM_EN signal (pin 7 on FPC connector).
Please see Neo1973 Debug Board v2/EEPROM if you have an "early adopter" board with USB ID 0403:0610. If your board shows up as USB ID 1457:5118 then you can ignore this step.
Please make sure you have libftdi-0.8 or later. Earlier versions are known to cause problems. This should not be an issue if you are using statically-linked binaries.
This module must be loaded with parameters that identify the debug board:
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/
Please use the driver from http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/
openocd is required. It is recommended to use a statically-linked binary produced by the OpenMoko build system. Other versions may give "unrecognized command" errors while parsing the configuration file.
Openocd requires a configuration file in the directory from which you run the application. A typical example is shown below:
telnet_port 4444 gdb_port 3333 interface ft2232 jtag_speed 0 ft2232_vid_pid 0x1457 0x5118 ft2232_layout "jtagkey" reset_config trst_and_srst jtag_device 4 0x1 0xf 0xe daemon_startup attach target arm920t little reset_run 0 arm920t working_area 0 0x200000 0x4000 backup run_and_halt_time 0 5000 ft2232_device_desc "Debug Board for Neo1973"
dfu-util is used to write images to the NAND flash once you have a functional u-boot. It is recommended to use a statically-linked binary produced by the OpenMoko build system.
Refer to Connecting Neo1973 with Debug Board v2. The recommended connection sequence is:
A Neo1973 with a working u-boot should power on when its USB cable is plugged in, but a "bricked" one will not. Note that there will be no visible feedback from the power-button press on a bricked device.
The Debug Board v2 may be used for other embedded projects. It provides the following connectors:
pin name 1 TXD 2 RXD 3 RTS 4 CTS 5 DSR 6 DTR 7 DCD 8 RI 9 GND 10 VCC (3.3V)
The Linux kernel of your host system will create virtual serial devices 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 for the serial port. A /dev/ttyUSB0 will also be created initially, but will disappear once openocd connects to the JTAG port.
You can use your favourite terminal emualtor (screen, minicom, cu, zc, ...) just like for any other/real serial port. The baud rate should be set to 115200. You may use gdb as well (eg. target remote /dev/ttya).
The /dev/ttyUSB1 device node will be removed if the debug-board USB cable is unplugged. You should exit your terminal program before unplugging the cable, and then re-run it after the cable is plugged back in.
Once you have connected the hardware as described above, run "openocd" from the diretory containing its configuration file. You should see output similar to the following:
linux$ ./openocd Info: openocd.c:93 main(): Open On-Chip Debugger 1.0 (2007-12-13-14:05) svn:226M Info: openocd.c:94 main(): $URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $ Info: jtag.c:1291 jtag_examine_chain(): JTAG device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)
Note that the Neo1973 must be powered on for this step to succeed. Otherwise, you will see:
Error: jtag.c:1253 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc. Error: jtag.c:1440 jtag_init(): trying to validate configured JTAG chain anyway... Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x00
Once openocd is running, open another terminal window and connect to its telnet port:
linux$ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger >
You may now reset the device, set breakpoints, upload images, etc.
Refer to Neo1973 Debug Board v2/Unbricking for a manual procedure to re-flash a "bricked" phone (one with a damaged u-boot or environment, where the normal Flashing_openmoko update procedure cannot be used).
The following Wiki pages contain useful information about what can be done with the debug board and the u-boot console. Note, however, that some of the information applies to earlier versions of the product and is not suitable for use with purchased GTA01Bv4 phones.
- OpenOCD#OpenOCD_and_Debug_Board
- Bootloader#Using_JTAG_to_boot_from_RAM
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 phase-1, and not sold to anyone.
![]() |
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à |