π
<-
Chat plein-écran
[^]

1ère connexion JTAG fonctionnelle TI-Nspire TouchPad

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

1ère connexion JTAG fonctionnelle TI-Nspire TouchPad

Message non lude critor » 17 Mar 2018, 18:38

303272133033Les cartes mères de TI-Nspire CX commercialisées depuis la rentrée 2011 disposent d'un emplacement J04 vide.
Mais les modèles de développement et prototypes disposent à cet endroit d'un connecteur alors accessible via une fenêtre ouverte dans le boîtier, connecteur que nous avons déjà référencé.

Dans un article précédent nous réussissions justement notre première connexion JTAG avec une TI-Nspire CX, grâce à un modèle de développement importé d'Asie.

C'est exactement la même situation pour la génération originelle des TI-Nspire ClickPad sorties pour la rentrée 2007, à la différence que le connecteur en question est plus gros et donc non utilisable avec notre interface. :(

9320Dans un article précédent, nous découvrions enfin ce qu'il en était de la génération intermédiaire des TI-Nspire TouchPad sorties pour la rentrée 2010, grâce à un prototype une fois de plus importé d'Asie : elles utilisent exactement le même connecteur que les TI-Nspire CX, et les modèles en étant munis sont donc directement connectables à notre interface. :bj:


93409341Nous voici donc munis de notre Olimex TMS320-JTAG-USB XDS100 V2 et de la carte interface. Le prototype n'ayant pas ici de fenêtre prédécoupée dans le boîtier, la connexion nécessite de retirer totalement la face arrière.
Code: Tout sélectionner
openocd.exe -f openocd.cfg
Open On-Chip Debugger 0.9.0 (2016-09-01) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
adapter speed: 500 kHz
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : clock speed 500 kHz
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
Info : JTAG tap: auto0.tap tap/device found: 0xb069316d (mfg: 0x0b6 (ZSP Corp.), part: 0x0693, ver: 0xb)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 29 -expected-id 0xb069316d"
Warn : gdb services need one or more targets defined
Info : JTAG tap: auto0.tap tap/device found: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 auto0.tap              Y     0x0792606d 0x00000000    29 0x01  0x03
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------

Et bingo, ça marche ! :bj:

OpenOCD nous détecte une puce 0x0792606d. On note donc que contrairement aux TI-Nspire CX, le fabricant de la puce ASIC sur les TI-Nspire TouchPad n'est donc pas TI (0x787), mais LSI Logic (0x036).

Il ne reste plus qu'à mettre à jour notre fichier de configuration OpenOCD en y rajoutant ça :
Code: Tout sélectionner
#set DRV "ft2232"
set DRV "ftdi"

set INT "xds100v2"
#set INT "tinyh"

#set TRG "navigator"
#set TRG "viewscreen"
set TRG "nspire"
#set TRG "cx"
#set TRG "none"

# *** DRIVERS ***
interface $DRV

# *** INTERFACES ***
if { $INT=="xds100v2" } {
   set INT_DESC "Texas Instruments Inc.XDS100 Ver 2.0"
   set INT_VID 0x0403
   set INT_PID 0xa6d0
}
if { $INT=="tinyh" } {
   set INT_DESC "Olimex OpenOCD JTAG ARM-USB-TINY-H"
   set INT_VID 0x15ba
   set INT_PID 0x002a
}
if { $DRV=="ft2232" } {
   ft2232_device_desc "$INT_DESC"
   ft2232_vid_pid $INT_VID $INT_PID
   ft2232_layout $INT
}
if { $DRV=="ftdi"} {
   ftdi_vid_pid $INT_VID $INT_PID
   if { $INT=="xds100v2"} {
      ftdi_layout_init 0x0038 0x597b
      ftdi_layout_signal nTRST -data 0x0010
      ftdi_layout_signal nSRST -oe 0x0100
      ftdi_layout_signal EMU_EN -data 0x0020
      ftdi_layout_signal EMU0 -oe 0x0040
      ftdi_layout_signal EMU1 -oe 0x1000
      ftdi_layout_signal PWR_RST -data 0x0800
      ftdi_layout_signal LOOPBACK -data 0x4000
   }
   if { $INT=="tinyh"} {
      ftdi_layout_init 0x0808 0x0a1b
      ftdi_layout_signal nSRST -oe 0x0200
      ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
      ftdi_layout_signal LED -data 0x0800
   }
   transport select jtag
}

adapter_khz 500

# *** TARGETS ***
if { $TRG=="navigator" } {   # TI-Nspire Navigator access point
   jtag newtap nsnav jrc -irlen 6 -expected-id 0x2b89102f -ircapture 0x1 -irmask 0x3f
   target create nsnav.jrc cortex_a -chain-position nsnav.jrc
}
if { $TRG=="viewscreen" } {   # TI-Nspire+ calculator / TI-Nspire ViewScreen
   jtag newtap nspirep cpu -irlen 4 -expected-id 0x0692602f
   jtag newtap nspirep unknown -irlen 2 -expected-id 0x00000000 -ircapture 0x1 -irmask 0x3
   target create nspirep.cpu arm926ejs -endian little -chain-position nspirep.cpu
}
if { $TRG=="cx" } {   # TI-Nspire CX calculator
   jtag newtap nspire bs  -irlen 4 -expected-id 0x1b900f0f
   jtag newtap nspire cpu -irlen 4 -expected-id 0x07926f0f
   target create nspire.cpu arm926ejs -endian little -chain-position nspire.cpu
}
if { $TRG=="nspire" } {   # TI-Nspire calculator
   jtag newtap nspire cpu -irlen 4 -expected-id 0x0792606d
   target create nspire.cpu arm926ejs -endian little -chain-position nspire.cpu
}

init
if { $DRV=="ftdi"  && $INT=="xds100v2"} {
   ftdi_set_signal PWR_RST 1
   jtag arp_init
}

scan_chain
targets


Et en voici donc maintenant la sortie finale correcte :
Code: Tout sélectionner
openocd.exe -f openocd.cfg
Open On-Chip Debugger 0.9.0 (2016-09-01) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
adapter speed: 500 kHz
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : clock speed 500 kHz
Info : JTAG tap: nspire.cpu tap/device found: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : nspire.cpu: hardware has 2 breakpoint/watchpoint units
Info : JTAG tap: nspire.cpu tap/device found: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 nspire.cpu             Y     0x0792606d 0x0792606d     4 0x01  0x03
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
0* nspire.cpu         arm926ejs  little nspire.cpu         running
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Retourner vers News TI-Nspire

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 48 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1432 utilisateurs:
>1411 invités
>17 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)