Debug Board v2/it

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Debug Board/it moved to Debug Board v2/it: like in en)
 
(9 intermediate revisions by 5 users not shown)
Line 6: Line 6:
  
  
== Overview ==
+
== Panoramica ==
  
 
La [[Debug Board/it | debug board]] fornisce i seguenti componenti chiave.
 
La [[Debug Board/it | debug board]] fornisce i seguenti componenti chiave.
Line 22: Line 22:
 
* si connette al telefono usando la porta di downstream 3
 
* si connette al telefono usando la porta di downstream 3
  
Usando l'hub, e' possibile avere accesso al telefono, alla JTAG ed alla seriale simultaneamente, attraverso un unico cavo USB.
+
Usando l'hub, è possibile avere accesso al telefono, alla JTAG ed alla seriale simultaneamente, attraverso un unico cavo USB.
  
E' anche possibile ricaricare il telefono (carica lenta a 100mA) usando la porta di downstream.
+
È possibile ricaricare il telefono (carica lenta a 100mA) anche usando la porta di downstream.
  
Per le funzionalita' ISB hub, viene utilizzato l'integrato TUSB2046B.
+
Per le funzionalità ISB hub, viene utilizzato l'integrato TUSB2046B.
  
 
=== JTAG attraverso l'FT2232 ===
 
=== JTAG attraverso l'FT2232 ===
  
Fondamentalmente, abbiamo integrato un adattatore USB-JTAG simile a quello [Amontec JTAGkey-tiny].  Il reference design che abbiamo utilizzato (Grazie a Joern!) puo' essere trovato su http://www.oocdlink.com
+
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 possibilita' di debugging tramite JTAG, a circa 150 volte la velocita' della [[wiggler/it | wiggler]]
+
In questo modo abbiamo ottenuto la possibilità di debugging tramite JTAG, circa 150 volte più veloce della [[wiggler/it | wiggler]]
  
La porta JTAG e' attaccata con
+
La porta JTAG è attaccata con
 
* il telefono (attraverso il cavo flessibile di debug)
 
* il telefono (attraverso il cavo flessibile di debug)
 
* Un connettore a 20-pin usando il pinout ARM-JTAG standard
 
* Un connettore a 20-pin usando il pinout ARM-JTAG standard
Line 64: Line 64:
 
===== Riprogrammarla con Linux =====
 
===== Riprogrammarla con Linux =====
  
{{note|FIC lo ha gia' 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.}}
+
{{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, e' possibile usare il programma ftdi_eeprom scaricabile dal sito  
+
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
 
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
  
Line 73: Line 73:
 
(Vedi http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321 per ulteriori dettagli.)
 
(Vedi http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=321 per ulteriori dettagli.)
  
Inoltre, si avra' bisogno della configurazione  dell'EEPROM:
+
Inoltre, si avrà bisogno della configurazione  dell'EEPROM:
 
http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi
 
http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi
  
Dopo che si e' compilato ftdi_eeprom, e' possibile eseguire
+
Dopo che si è compilato ftdi_eeprom, è possibile eseguire
 
  ftdi_eeprom --flash-eeprom neo1973_debug_board_v2.ftdi
 
  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}}
 
{{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}}
  
Si dovrebbe ottenere qualcosa di simile se tutto e' andato a buon fine:
+
Se tutto è andato a buon fine, si dovrebbe ottenere qualcosa di simile a:
 
<pre>
 
<pre>
 
FTDI eeprom generator v0.2
 
FTDI eeprom generator v0.2
Line 94: Line 94:
 
</pre>
 
</pre>
  
Una volta che la procedura di riprogrammazione e' terminata, semplicemente disconnettete e riconnettete la scheda, e dovreste vedere
+
Una volta che la procedura di riprogrammazione è terminata, semplicemente disconnettete e riconnettete la scheda, e dovreste vedere
 
<pre>
 
<pre>
 
$ lsusb -v -d 0x1457:                                                                                                                                                                                               
 
$ lsusb -v -d 0x1457:                                                                                                                                                                                               
Line 109: Line 109:
 
   idProduct          0x5118  
 
   idProduct          0x5118  
 
   bcdDevice            5.00
 
   bcdDevice            5.00
   iManufacturer          1 OpenMoko
+
   iManufacturer          1 Openmoko
 
   iProduct                2 Debug Board for Neo1973
 
   iProduct                2 Debug Board for Neo1973
 
   iSerial                0  
 
   iSerial                0  
Line 117: Line 117:
  
 
===== Riprogrammarla con Windows =====
 
===== Riprogrammarla con Windows =====
{{note|FIC lo ha gia' 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.}}
+
{{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, e' possibile usare il programma FTDI Mprog scaricabile da http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe
+
Per effettuare questa operazione, è possibile usare il programma FTDI Mprog scaricabile da http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe
 
   
 
   
Avrai bisogni del
+
Avrai bisogno del
 
* Template della EEPROM: http://people.openmoko.org/laforge/misc/debug_board_v2/mprog_template/neo1973_debugboard_v2.ept
 
* Template della EEPROM: http://people.openmoko.org/laforge/misc/debug_board_v2/mprog_template/neo1973_debugboard_v2.ept
  
Line 128: Line 128:
 
===== Linux =====
 
===== Linux =====
  
Assicurarsi di avere la libreria libftdi-0.8 or successiva. E' noto che versioni antecedenti creano incompatibilita'.
+
Assicurarsi di avere la libreria libftdi-0.8 o superiore. È noto che versioni antecedenti creano incompatibilità.
  
Inoltre, dovrai fare :
+
Inoltre, dovrai fare:
  
 
====== opzione sul modulo ftdi_sio ======
 
====== opzione sul modulo ftdi_sio ======
Line 141: Line 141:
 
====== regola udev ======
 
====== regola udev ======
  
E' necessario installare le seguenti regole da http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
+
È necessario installare le seguenti regole da http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/
  
 
===== Windows =====
 
===== Windows =====
Line 156: Line 156:
  
 
===== Porta Seriale =====
 
===== Porta Seriale =====
Il kernel di Linux della tua macchina host creera' 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, til nome del dispositivo sra' '''/dev/ttyUSB0'''.
+
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.
 
Potete utilizzare il vostro emulatore di terminale preferito (minicom, cu, zc, ...) proprio come qualsiasi altra vera porta seriale.
Line 162: Line 162:
 
===== JTAG =====
 
===== 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.
+
Una volta installata la libreria libftdi >= 0.8 e configurata [[OpenOCD/it | OpenOCD]] con il corretto openocd.cfg scaricato da [[OpenOCD/it#openocd.cfg | OpenOCD#openocd.cfg]], dovrebbe funzionare immediatamente.
  
Riferirsi a [[OpenOCD#OpenOCD_and_Debug_Board]] per ulteriori informazioni.
+
Per ulteriori informazioni fare riferimento a [[OpenOCD/it#OpenOCD_e_la_Debug_Board | OpenOCD#OpenOCD e la Debug Board]] .
  
== History ==
+
== Cronologia ==
  
Prima utilizzavamo la [[Debug Board v1]]
+
Prima utilizzavamo la [[Debug Board v1/it | Debug Board v1]]
  
 
=== Cambiamenti dalla v1 alla v2 ===
 
=== Cambiamenti dalla v1 alla v2 ===
Line 176: Line 176:
 
** non vogliamo proprio un bus parallelo a 40pin a 66MHz tra due PCB
 
** non vogliamo proprio un bus parallelo a 40pin a 66MHz tra due PCB
 
* ci siamo sbarazzati del display a sette segmenti
 
* ci siamo sbarazzati del display a sette segmenti
** non c'era veramente bisogno.  Abbiamo una porta seriale
+
** non ce n'era veramente bisogno.  Abbiamo una porta seriale e
** puo' essere sostituito da uno o due LED GPIO (General Purpose I/O)
+
** può essere sostituito da uno o due LED GPIO (General Purpose I/O)
* ci siamo sbarazzati della [[wiggler]] integrata
+
* ci siamo sbarazzati della [[wiggler/it | wiggler]] integrata
** nessuno ha una porta parallela sul proprio portatile oggi giorno
+
** quasi nessuno oggigiorno ha una porta parallela sul proprio portatile  
 
* ci siamo sbarazzati della batteria a ioni di litio (insieme al caricatore)
 
* ci siamo sbarazzati della batteria a ioni di litio (insieme al caricatore)
** il dispositivo puo' essere completamente alimentato dall'usb del portatile
+
** il dispositivo può essere completamente alimentato dall'usb del portatile
 
+
 
+
[[Category:Neo1973 Hardware Debugging]]
+
  
 
<span id="bottom"></span>
 
<span id="bottom"></span>
 
{{Languages|Debug_Board}}
 
{{Languages|Debug_Board}}
 +
 +
[[Category:Neo1973 Hardware Debugging/it]]

Latest revision as of 16:21, 22 October 2008

La pagina Debug Board fornisce informazioni sull'architettura della seconda versione della Debug Board per il Neo1973.

Architecture Diagram
Annotated PCB Photograph


Contents

[edit] Panoramica

La debug board fornisce i seguenti componenti chiave.

[edit] 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.

[edit] 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

[edit] 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.

[edit] 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).

[edit] Istruzioni di utilizzo

[edit] Prerequisiti

[edit] 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!

[edit] 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
  [...]
[edit] 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

[edit] Drivers

[edit] Linux

Assicurarsi di avere la libreria libftdi-0.8 o superiore. È noto che versioni antecedenti creano incompatibilità.

Inoltre, dovrai fare:

[edit] opzione sul modulo ftdi_sio
rmmod ftdi_sio
modprobe ftdi_sio vendor=0x1457 product=0x5118

o analogamente nel tuo modules.conf

[edit] regola udev

È necessario installare le seguenti regole da http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/

[edit] Windows

Utilizzare i driver da http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/

[edit] Connessione hardware

[edit] Attualmente in uso

[edit] Su Linux

[edit] 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.

[edit] 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 .

[edit] Cronologia

Prima utilizzavamo la Debug Board v1

[edit] 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

Personal tools

La pagina Debug Board fornisce informazioni sull'architettura della seconda versione della Debug Board per il Neo1973.

Architecture Diagram
Annotated PCB Photograph


Overview

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, e' possibile avere accesso al telefono, alla JTAG ed alla seriale simultaneamente, attraverso un unico cavo USB.

E' anche possibile ricaricare il telefono (carica lenta a 100mA) usando la porta di downstream.

Per le funzionalita' 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 reference design che abbiamo utilizzato (Grazie a Joern!) puo' essere trovato su http://www.oocdlink.com

In questo modo abbiamo ottenuto la possibilita' di debugging tramite JTAG, a circa 150 volte la velocita' della wiggler

La porta JTAG e' 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 gia' 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, e' 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 avra' bisogno della configurazione dell'EEPROM: http://people.openmoko.org/laforge/misc/debug_board_v2/ftdi_eeprom/neo1973_debug_board_v2.ftdi

Dopo che si e' compilato ftdi_eeprom, e' 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


Si dovrebbe ottenere qualcosa di simile se tutto e' andato a buon fine:

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 e' 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 gia' 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, e' possibile usare il programma FTDI Mprog scaricabile da http://www.ftdichip.com/Resources/Utilities/MProg3.0_Setup.exe

Avrai bisogni del

Drivers

Linux

Assicurarsi di avere la libreria libftdi-0.8 or successiva. E' noto che versioni antecedenti creano incompatibilita'.

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

E' 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 creera' 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, til nome del dispositivo sra' /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.

Riferirsi a OpenOCD#OpenOCD_and_Debug_Board per ulteriori informazioni.

History

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 c'era veramente bisogno. Abbiamo una porta seriale
    • puo' essere sostituito da uno o due LED GPIO (General Purpose I/O)
  • ci siamo sbarazzati della wiggler integrata
    • nessuno ha una porta parallela sul proprio portatile oggi giorno
  • ci siamo sbarazzati della batteria a ioni di litio (insieme al caricatore)
    • il dispositivo puo' essere completamente alimentato dall'usb del portatile