π
<-

Découverte JTAG TI-Nspire ViewScreen

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

Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 27 Dec 2017, 12:08

363364360Les tablettes de rétroprojection TI-Nspire ViewScreen sont de véritables calculatrices TI-Nspire dépourvues de clavier. On reconnaît en effet l'écran de chargement de ces dernières, ainsi que les icônes de reprogrammation des partitions Boot2 et Diags si l'on maintient au démarrage la touche haut enfoncée, ou bien les deux touches simultanément.

9071368367A l'intérieur, nous avions déjà remarqué qu'elles réutilisaient en fait le matériel des TI-Nspire CAS+, prototypes non finaux distribués dans les classes pilotes en 2006-2007 et incompatibles avec les TI-Nspire de production commercialisées à compter de 2007. On retrouve en effet répartis sur les deux faces les mêmes composants principaux :
  • TI-OMAP NP31AZZG (processeur 32-bits ARMv5/ARM9 78MHz)
  • HYB18L256160 (SDRAM 32Mio)
  • SST 39VF400A (Flash-NOR 512Kio, pour le Boot1)
  • ST NAND256W3A (Flash-NAND 32Mio, pour tout le reste)

361366La tablette de rétroprojection TI-Nspire ViewScreen dispose de deux ports USB utilisables une fois démarrée :
  • un USB type A pour afficher l'écran d'une TI-Nspire monochrome ou couleur
  • un USB type B pour afficher l'écran d'une TI-84 Plus, TI-84 Pocket.fr ou TI-82 Advanced
Mais hélas elle ne lance pas le protocole de transfert USB des TI-Nspire et ne peut donc pas recevoir par cette voie de fichiers depuis un ordinateur ou une autre calculatrice TI-Nspire. Si bien que nous n'avons pas pu lui appliquer les méthodes de dumping développées pour d'autres modèles TI-Nspire et que les images Boot1 et Boot2/système utilisées par la TI-Nspire ViewScreen restent donc non sauvegardées à ce jour.

90609081Contrairement aux TI-Nspire CAS+, la tablette TI-Nspire ViewScreen dispose d'une riche connectivité interne.
Nous savions déjà qu'il y avait une sortie série TTL sur JMP02, et avons récemment trouvé une entrée série TTL fonctionnelle sur JMP01. Nous ne voyions hélas aucun moyen évident de l'exploiter, puisque ne disposant justement d'aucune image compatible à envoyer.

Sur une autre piste nous nous demandions si le connecteur J7 manquant avec ses 2x10=20 broches n'était pas pour un JTAG ARM, surtout avec juste à côté des marques d'un connecteur 2x7=14 broches qui pourrait alors être un JTAG TI.

Après vérification à l'ohmmètre tout concorde, les broches censées être équivalentes étant bien reliées entre elles - l'hypothèse est validée ! :bj:

90839082Soudons donc un véritable connecteur sur J7. Il y a besoin pour cela de broches espacées de 2.54mm, ce qui est un standard.

Malheureusement, une fois connecté à travers une interface JTAG Olimex TMS320-JTAG-USB XDS100-V2 rien n'est détecté :
Code: Select all
openocd.exe
Open On-Chip Debugger 0.9.0 (2015-08-15-12:41)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter speed: 1500 kHz
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
Warn : Using DEPRECATED interface driver 'ft2232'
Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...
Info : device: 6 "2232H"
Info : deviceID: 67348176
Info : SerialNumber: TIWBH0NSA
Info : Description: Texas Instruments Inc.XDS100 Ver 2.0 A
Info : max TCK change to: 30000 kHz
Info : clock speed 1500 kHz
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
Error: JTAG scan chain interrogation failed: all ones
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Warn : Bypassing JTAG setup events due to errors
Warn : gdb services need one or more targets defined


Voici le fichier de configuration utilisé :
Code: Select all
#
# Texas Instruments XDS100v2
#
# http://processors.wiki.ti.com/index.php/XDS100#XDS100v2_Features
#

interface ft2232
ft2232_device_desc "Texas Instruments Inc.XDS100 Ver 2.0"
ft2232_layout xds100v2
adapter_khz 1500
scan_chain


Mais notons que cette manipulation est toute nouvelle pour nous et que nous ne sommes donc sûrs de rien. Nous ignorons si le fichier de configuration bien évidemment non documenté par TI est correct, si l'interface JTAG utilisée est fonctionnelle et compatible avec le processeur TI-OMAP NP31AZZG de la tablette TI-Nspire ViewScreen, et même si il y a un ordre particulier à respecter pour les connexions et allumages des différents éléments... N'hésite pas à nous partager tes lumières si tu as de l'expérience là-dedans.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 27 Dec 2017, 12:10

Parfois, au lieu de Error: JTAG scan chain interrogation failed: all ones, j'obtiens l'erreur Error: JTAG scan chain interrogation failed: all zeroes.
Cela semble être aléatoire, je n'arrive pas à trouver un ordre de branchement/allumage produisant toujours le même message d'erreur.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby parrotgeek1 » 27 Dec 2017, 16:23

critor wrote:Parfois, au lieu de Error: JTAG scan chain interrogation failed: all ones, j'obtiens l'erreur Error: JTAG scan chain interrogation failed: all zeroes.
Cela semble être aléatoire, je n'arrive pas à trouver un ordre de branchement/allumage produisant toujours le même message d'erreur.

Have you checked to make sure the JTAG adapter actually works?
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 27 Dec 2017, 18:06

It seems to be working, yes.

Added the 13/14-pins TI JTAG connector missing on my TI-Nspire Navigator Access Point, which is powered by an "OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz" according to its TTL bootlog :
90899090

Directly got this on the first try, with the same incomplete config file :
Open On-Chip Debugger 0.9.0 (2015-08-15-12:41)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter speed: 1500 kHz
Warn : Using DEPRECATED interface driver 'ft2232'
Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...
Info : device: 6 "2232H"
Info : deviceID: 67348176
Info : SerialNumber: TIWBH0NSA
Info : Description: Texas Instruments Inc.XDS100 Ver 2.0 A
Info : max TCK change to: 30000 kHz
Info : clock speed 1500 kHz
Warn : There are no enabled taps. AUTO PROBING MIGHT NOT WORK!!
Info : JTAG tap: auto0.tap tap/device found: 0x2b89102f (mfg: 0x017, part: 0xb891, ver: 0x2)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 60 -expected-id 0x2b89102f"
Error: IR capture error at bit 60, saw 0x0000000000000001 not 0x...3
Warn : Bypassing JTAG setup events due to errors
Warn : gdb services need one or more targets defined

So auto probing did work this time.
Seems to work in all cases, wether I connect+power the Navigator or the interface first, and wether the interface is finished booting or not.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 10 Jan 2018, 16:52

Soldered rows of right-angled pins on the ViewScreen adjacent 14-pins J01B connector :
91029103

Although soldering was less easy and solders are far from being as clean as on the J7 connector, this time it works :
Code: Select all
>openocd.exe
Open On-Chip Debugger 0.9.0 (2015-08-15-12:41)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter speed: 500 kHz
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
Warn : Using DEPRECATED interface driver 'ft2232'
Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...
Info : device: 6 "2232H"
Info : deviceID: 67348176
Info : SerialNumber: TIWBH0NSA
Info : Description: Texas Instruments Inc.XDS100 Ver 2.0 A
Info : max TCK change to: 30000 kHz
Info : clock speed 500 kHz
Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!
Info : JTAG tap: auto0.tap tap/device found: 0x0692602f (mfg: 0x017, part: 0x6926, ver: 0x0)
Info : TAP auto1.tap does not have IDCODE
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 4 -expected-id 0x0692602f"
Warn : AUTO auto1.tap - use "jtag newtap auto1 tap -irlen 2 -expected-id 0x00000000"
Error: IR capture error at bit 6, saw 0x03FFFFFFFFFFFFFFFFFFFFFFFFFFF051 not 0x...3
Warn : Bypassing JTAG setup events due to errors
Warn : gdb services need one or more targets defined


0x0692602f is a TI-OMAP5912.
0x00000000 might have come from bad soldering, but it seems to be mentioned several times as coming with 0x0692602f :
http://openocd.org/doc/html/TAP-Declaration.html
https://sourceforge.net/p/openocd/mailm ... /28352076/

Hence the improved config file :
Code: Select all
#
# Texas Instruments XDS100v2
#
# http://processors.wiki.ti.com/index.php/XDS100#XDS100v2_Features
#

interface ft2232
ft2232_device_desc "Texas Instruments Inc.XDS100 Ver 2.0"
ft2232_layout xds100v2

adapter_khz 500
adapter_nsrst_delay 200
jtag_ntrst_delay 200
reset_config trst_and_srst srst_pulls_trst

# TI-Nspire+ calculator / TI-Nspire ViewScreen
jtag newtap nspirep cpu -irlen 4 -expected-id 0x0692602f
jtag newtap nspirep unknown -irlen 2 -expected-id 0x00000000
target create nspirep.cpu arm926ejs -endian little -chain-position nspirep.cpu

# 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

# TI-Nspire 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

scan_chain
targets


And its output :
Code: Select all
>openocd.exe
Open On-Chip Debugger 0.9.0 (2015-08-15-12:41)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter speed: 500 kHz
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 nspirep.cpu            Y     0x00000000 0x0692602f     4 0x01  0x03
1 nspirep.unknown        Y     0x00000000 0x00000000     2 0x01  0x03
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
0* nspirep.cpu        arm926ejs  little nspirep.cpu        unknown
Warn : Using DEPRECATED interface driver 'ft2232'
Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...
Info : device: 6 "2232H"
Info : deviceID: 67348176
Info : SerialNumber: TIWBH0NSA
Info : Description: Texas Instruments Inc.XDS100 Ver 2.0 A
Info : max TCK change to: 30000 kHz
Info : clock speed 500 kHz
Info : JTAG tap: nspirep.cpu tap/device found: 0x0692602f (mfg: 0x017, part: 0x6926, ver: 0x0)
Info : TAP nspirep.unknown does not have IDCODE
Error: IR capture error at bit 6, saw 0x51 not 0x...3
Warn : Bypassing JTAG setup events due to errors
Info : Embedded ICE version 5
Info : nspirep.cpu: hardware has 2 breakpoint/watchpoint units


Note that there is still an error, maybe because of 0x00000000. Maybe I should make the setup ignore it, since it outputs 'aborting' which might become problematic, but I don't know how to.

I now have to setup the NOR and/or NAND controllers, and then start dumping things.
Note that I have absolutely no idea of how to do it. Any help appreciated.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 10 Jan 2018, 21:39

Pour le dumping du Boot1, tenté le pilote CFI standard pour les NOR externes :
flash bank boot1 cfi 0 524288 1 1 nspirep.cpu

Malheureusement, ça se gâte après. Les commandes Flash-NOR ne veulent pas marcher car le processeur n'est pas arrêté, et pour une raison mystérieuse la commande halt ne marche pas :(
Code: Select all
> flash probe boot1
Target not halted

> halt
Halt timed out, wake up GDB.
timed out while waiting for target halted
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 11 Jan 2018, 00:07

Peut-être compris pourquoi ça ne détecte rien sur le port JTAG 20-pins :
Image

Le port 20-pins de la TI-Nspire ViewScreen utilise clairement le header ARM :


Et je pense que mon adaptateur JTAG utilise le header TI, avec un pinout donc un peu différent.
9083

Erreur de débutant sûrement, mais comme je n'y connais rien et que personne ne m'aide...

J'ignore si il existe des adaptateurs ou si il faut en acheter un autre pour utiliser le connecteur 20-pins en lequel j'ai bien plus confiance.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby parrotgeek1 » 21 Mar 2019, 18:57

User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Découverte JTAG TI-Nspire ViewScreen

Unread postby critor » 21 Mar 2019, 19:08

Not for the moment, but I'll remember this.

Thank you very much. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor


Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 12 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1238 utilisateurs:
>1224 invités
>6 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)