Debug Board v2/it
From Openmoko
La pagina Debug Board fornisce informazioni sull'architettura della seconda versione della Debug Board per il Neo1973.
Contents |
Panoramica
La debug board fornisce i seguenti componenti chiave.
Hub USB
Questo hub alimentato dal bus
- si connette al laptop usando la porta di upstream
- si connette all'FT2232D per la JTAG e per la console seriale sulla porta di downstream 1
- si connette ad una porta USB-A libera usando la porta di downstream 2
- si connette al telefono usando la porta di downstream 3
Usando l'hub, è possibile avere accesso al telefono, alla JTAG ed alla seriale simultaneamente, attraverso un unico cavo USB.
È possibile ricaricare il telefono (carica lenta a 100mA) anche usando la porta di downstream.
Per le funzionalità ISB hub, viene utilizzato l'integrato TUSB2046B.
JTAG attraverso l'FT2232
Fondamentalmente, abbiamo integrato un adattatore USB-JTAG simile a quello [Amontec JTAGkey-tiny]. Il design di riferimento utilizzato (Grazie a Joern!) si può trovare su http://www.oocdlink.com
In questo modo abbiamo ottenuto la possibilità di debugging tramite JTAG, circa 150 volte più veloce della wiggler
La porta JTAG è attaccata con
- il telefono (attraverso il cavo flessibile di debug)
- Un connettore a 20-pin usando il pinout ARM-JTAG standard
- questo permette all'utente di utilizzare questo dispositivo come un adattatore JTAG anche con altri dispositivi basati su ARM
Porta Seriale
Invece di utilizzare una vera porta RS232, abbiamo voluto utilizzare un integrato per convertite l'USB in seriale, come l'FT232 o il PL2303.
Appena si accende, possiamo anche usare la seconda porta dell'FT2232 contemporaneamente alla JTAG. Quindi non sono necessari altri FT232 o PL2303.
Porta Seriale Tri-State
La porta seriale necessita di driver tri-state (alta impedenza), dal momento che e' connessa contemporaneamente sia al modem GSM sia all debug board. Pilotiamo il driver tri-state driver attraverso il negato del segnale GSM_EN (pin 7 del connettore FPC).
Istruzioni di utilizzo
Prerequisiti
EEPROM FT2232D
La tua Debug Board contiene una piccola EEPROM seriale che dovrebbe essere stata programmata correttamente in fase di produzione. In ogni caso, alcune schede sono state programmate in modo non corretto od incompleto durante l'assemblaggio e pertanto ci si dovrebbe assicurare della corretta programmazione.
Se la scheda possiede l'USB ID 1457:5118, tutto e' corretto.
Solo se la tua scheda possiede l'USB ID 0403:6010, allora occorre riprogrammare la scheda!
Riprogrammarla con Linux
NOTE: FIC lo ha già fatto per te, nel caso in cui ti sia stata ufficialmente fornita la scheda. In ogni caso, se sei uno dei primi sviluppatori, le configurazioni dell'USB vendorID / productID potrebbero non essere state configurate correttamente. |
Per effettuare tale operazione, è possibile usare il programma ftdi_eeprom scaricabile dal sito http://www.intra2net.com/de/produkte/opensource/ftdi/. Sfortunatamente, l'ultima versione (0.2) sembra non supportare ancora la nostra FT2232D, pertanto dovrai prima applicare la patch scaricabile dal sito http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/ftdi_eeprom-0.2-moko.patch
Potrebbe inoltre essere necessario applicare la seguente patch alla libreria libftdi: http://people.openmoko.org/werner/libftdi-c56-strings-dirty-hack.patch (Vedi http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321 per ulteriori dettagli.)
Inoltre, si avrà bisogno della configurazione dell'EEPROM: http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi
Dopo che si è compilato ftdi_eeprom, è possibile eseguire
ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi
WARNING: Assicurarsi di non avere altri dispositivi basati sull'FTDI FT232 / FT2232 connessi all'USB mentre si esegue ftdi_eeprom. Potrebbe essere saggio disconnettere tutti i dispositivi tranne la debug board |
Se tutto è andato a buon fine, si dovrebbe ottenere qualcosa di simile a:
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
Una volta che la procedura di riprogrammazione è terminata, semplicemente disconnettete e riconnettete la scheda, e dovreste vedere
$ 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 [...]
Riprogrammarla con Windows
NOTE: FIC lo ha già fatto per te, nel caso in cui ti sia stata ufficialmente fornita la scheda. In ogni caso, se sei uno dei primi sviluppatori, le configurazioni dell'USB vendorID / productID potrebbero non essere state configurate correttamente. |
Per effettuare questa operazione, è possibile usare il programma FTDI Mprog scaricabile da http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe
Avrai bisogno del
- Template della EEPROM: http://people.openmoko.org/laforge/misc/debug_board_v2/mprog_template/neo1973_debugboard_v2.ept
Drivers
Linux
Assicurarsi di avere la libreria libftdi-0.8 o superiore. È noto che versioni antecedenti creano incompatibilità.
Inoltre, dovrai fare:
opzione sul modulo ftdi_sio
rmmod ftdi_sio modprobe ftdi_sio vendor=0x1457 product=0x5118
o analogamente nel tuo modules.conf
regola udev
È necessario installare le seguenti regole da http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
Windows
Utilizzare i driver da http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/
Connessione hardware
Attualmente in uso
Su Linux
Porta Seriale
Il kernel di Linux della tua macchina host creerà un dispositivo seriale virtuale chiamato /dev/ttyUSBx dove 'x' e' un numero assegnato in modo sequenziale. Se non avete nessun altro convertitore USB seriale connesso alla vostra macchina, il nome del dispositivo sarà /dev/ttyUSB0.
Potete utilizzare il vostro emulatore di terminale preferito (minicom, cu, zc, ...) proprio come qualsiasi altra vera porta seriale.
JTAG
Una volta installata la libreria libftdi >= 0.8 e configurata OpenOCD con il corretto openocd.cfg scaricato da OpenOCD#openocd.cfg, dovrebbe funzionare immediatamente.
Per ulteriori informazioni fare riferimento a OpenOCD#OpenOCD e la Debug Board .
Cronologia
Prima utilizzavamo la Debug Board v1
Cambiamenti dalla v1 alla v2
- ci siamo sbarazzati dell'ethernet
- non ne abbiamo bisogno, e
- non vogliamo proprio un bus parallelo a 40pin a 66MHz tra due PCB
- ci siamo sbarazzati del display a sette segmenti
- non ce n'era veramente bisogno. Abbiamo una porta seriale e
- può essere sostituito da uno o due LED GPIO (General Purpose I/O)
- ci siamo sbarazzati della wiggler integrata
- quasi nessuno oggigiorno ha una porta parallela sul proprio portatile
- ci siamo sbarazzati della batteria a ioni di litio (insieme al caricatore)
- il dispositivo può essere completamente alimentato dall'usb del portatile
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à |