π
<-
Chat plein-écran
[^]

News 2024

News 2023
Juin (2)
Avril (1)
Mars (2)

News 2022
Juin (4)
Mai (4)
Avril (4)
Mars (3)

News 2021
Août (5)
Juin (1)
Mai (3)
Avril (12)
Mars (4)

News 2020
Août (1)
Juin (2)
Mai (2)
Avril (7)
Mars (4)

News 2019
Août (1)
Juin (1)
Mai (3)
Avril (7)
Mars (10)

News 2018
Août (3)
Juin (3)
Mai (8)
Avril (13)
Mars (5)

News 2017
Août (1)
Mai (10)
Avril (3)
Mars (4)

News 2016
Août (12)
Juin (8)
Mai (12)
Avril (7)
Mars (9)

News 2015
Août (11)
Juin (6)
Mai (10)
Avril (2)
Mars (6)

News 2014
Octobre (12)
Août (4)
Juin (13)
Mai (14)
Avril (12)
Mars (15)

News 2013
Octobre (30)
Août (14)
Juin (27)
Mai (12)
Avril (29)
Mars (19)
Janvier (27)

News 2012
Octobre (37)
Août (40)
Juillet (27)
Juin (19)
Mai (35)
Avril (34)
Mars (42)
Janvier (46)

News 2011
Octobre (22)
Août (23)
Juillet (14)
Juin (29)
Mai (44)
Avril (24)
Mars (27)

News 2010
Août (6)
Juillet (10)
Juin (4)
Mai (1)
Avril (2)
Mars (1)

News 2009
Juin (1)

Test TI-Nspire de développement avec thème CX + J04/JTAG

Nouveau messagede critor » 18 Juil 2018, 15:12

Au printemps 2017, parrotgeek1 trouvait sur eBay un lot de prototypes TI-Nspire assez particuliers, acheté peu après par Brandon Wilson.

Pas de simples prototypes prêtés à des enseignants/testeurs avant la sortie, mais des machines utilisées par l'équipe de développement de Texas Instruments et ayant miraculeusement échappé à la destruction. :o

Cet été, le lot en question est en vacances chez nous, et nous allons donc en profiter pour lui arracher jusqu'à son dernier secret. :bat:

Aujourd'hui occupons-nous de la TI-Nspire en bas à droite sur la photo, reçue ici sans clavier.



Sommaire :
  1. Exploration visuelle
  2. Exploration logicielle
  3. Exploration série
  4. Exploration matérielle
  5. Dumping



1) Exploration visuelle :Go to top

97269723A première vue la calculatrice est d'apparence normale, à part le fait qu'elle a visiblement passé un bon moment dans un environnement fumeur vu comme le bleu de son boîtier est terne à côté du clavier que nous lui avons rajouté.

Mais sous ce clavier se cache déjà une première surprise, puisque nous notons ni plus ni moins qu'un trou dans le compartiment de piles de gauche. :o

9727Au dos est gravée la mention PROTOTYPE NOT FOR SALE.

Nous y avons également la raison de la surprise, avec une énorme ouverture. En conséquence, le patin inférieur droit ainsi que le volet du connecteur Dock/J01 sont manquants.

Le numéro de série est ici manquant puisque mangé par l'ouverture, seul le début en B-P3 ayant survécu. Par contre, un numéro de série manuscrit a été rajouté dans le cadre prévu pour mettre son nom, 2011001560.

Cette ouverture laisse apparaître la référence de la carte mère, P2/P3 ASIC MB_MP_6440, soit la même que sur les cartes mère de production. On y note également la présence du connecteur J04/JTAG, non soudé sur les modèles de production.

En conséquence la qualification de prototype, calculatrice conçue avant la sortie au matériel non final, est donc impropre. Il faudrait plutôt parler de modèle de développement, calculatrice utilisée par les ingénieurs Texas Instruments pour tester diverses choses après la sortie.



2) Exploration logicielle :Go to top

9724Allumons la machine. Sa barre de chargement se bloque un instant au démarrage, ce qui suggérerait qu'il y a tentative de charger une image Diags avant le Boot2 mais que cela échoue.

Le carré présent en haut à gauche de l'écran dès l'exécution du Boot1 puis pendant celle du Boot2 nous indique qu'elle fonction en mode développement. Aussi, en l'état, nous ne pourrons y exécuter que des images de développement et non de production.

9725Arrivé à l'écran d'accueil on note de suite l'une des caractéristiques remarquables de son OS (Operating System / système d'exploitation). En effet, cet écran utilise non pas le thème des TI-Nspire ClickPad/TouchPad, mais le nouveau thème couleur des TI-Nspire CX, ici affiché bien évidemment en 16 niveaux de gris ! :o
Le superbe thème TI-Nspire CX sorties en version 3.0 avait donc été testé en utilisant toutes les capacités de niveaux de gris des écrans TI-Nspire ClickPad/TouchPad, avant que Texas Instruments ne lui préfère quelque chose de bien plus simple, peut-être pour des raisons de lisibilité.


Un petit tour par les écrans à propos nous apprend que nous sommes ici sur le système 3.0.0.621, intermédiaire donc entre les systèmes de production 2.1.1.38 du 17 février 2011 et 3.0.1.1753 du 24 mars 2011.

On y apprend aussi :
  • l'utilisation du Boot1 1.1.8916, ici donc en version de développement
  • l'utilisation du Boot2 2.0.0, intermédiaire donc entre les versions de production 1.4.1571 du 3 mars 2008 et 3.0.1.131 du 23 février 2011.
    Une très belle trouvaille que ce Boot2 2.0.0, puisqu'il tombe pendant la longue période où aucune nouvelle version n'est sortie ! :bj:

Mais le système 3.0.0.621 nous réserve encore d'autres surprises. Comme le système de développement TI-Nspire CX 3.0.0.1045, il dispose de l'éditeur de thème intégré puis retiré avant la sortie du système de production 3.0.1.1753 du 24 mars 2011.
Cette interface accessible par :nsho: :ns5: :ns6: permet une double configuration (couleur et monochrome) de pas moins de 320 éléments d'interface : :o
...
Show/Hide spoilerAfficher/Masquer le spoiler

On peut supposer que les ingénieurs Texas Instruments s'en sont servis pour tester rapidement en situation réelle différentes teintes d'éléments.
Même si nous regrettons la suppression de cette fonctionnalité bien sympathique, il nous faut bien avouer qu'avec une liste non hiérarchisée de 320 éléments nous étions encore bien loin d'un niveau acceptable pour un système de production.

Dans les fichiers listés via :nsho: :ns2: maintenant, nous remarquons deux étranges images wlan.flash d'exactement 512K, qui ne sont bien évidemment pas des documents TI-Nspire et ne peuvent être ouvertes sur la calculatrice. Il semble s'agir après récupération et ouverture sur ordinateur de deux copies identiques d'un firmware eCos pour puce Wifi Atheros AR6000/6001.
Mais que font-elles là ?
Si il est exact que les modules Wifi TI-Nspire Navigator utilisent des puces Atheros, nous n'avions jamais récupéré d'élément suggérant la possibilité de les mettre à jour depuis la calculatrice. :o



3) Exploration série :Go to top

9732Après avoir branché le port Dock/J01 de la calculatrice sur une interface adéquat, on peut récupérer la sortie du port série.

Le log de démarrage nous confirme :
  • l'utilisation d'un Boot1 1.1.8916 en mode développement
  • la tentative de chargement d'un logiciel de diagnostics qui échoue
Boot Loader Stage 1 (1.1.8916)
Build: 2007/4/23, 23:29:51
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 34
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz

Available system memory: 37292
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Boot option: Normal

Loading DIAGS software...

20%Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (203 ticks), launching image.


Par la suite on confirme le passage sur un Boot2 de développement en version 2.00 du 13 octobre 2009, plus précisément en version 2.00.DEVBUILD *DEBUG* :
Boot Loader Stage 2 (2.00.DEVBUILD *DEBUG*)
Build: 2009/10/13, 17:0:33
Copyright (c) 2006, 2007, 2008 Texas Instruments Incorporated
Using developer keys

Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A


Initializing graphics subsystem.
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.
Purging temporary files...

Loading Operating System...

100%

BOOT2: loading complete (2127 ticks), launching image.


Enfin on passe sur l'OS 3.0.0.621 dont on obtient la date, 4 octobre 2010 :
Beginning system initialization.
Clocks: CPU = 120 MHz AHB = 60 MHz APB = 30 MHz

Preparing file system. This takes a while...
POSIX layer initialized.
POSIX "NULL" device initialized.
POSIX "CONSOLE" device initialized.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.

POSIX file system initialized.
File system ready.
* P3 mode battery door detection
System build date: Oct 4 2010, 02:24:33
Available memory: 15651468 bytes
Purging temporary files...
Launching system...
Created Execution Context
NavNet Ready.
BOOT2 updater: error -2




4) Exploration matérielle :Go to top

97299728Enfin, ouvrons la bête pour lui extirper ses derniers secrets.
On confirme l'usage de la carte mère de production P2/P3 ASIC MB_MP_6440 ainsi que de la carte écran P1R2/P3_LB__MP_2440 qui va avec.

97319730La présence du connecteur J04/JTAG n'est pas la seule modification apportée à la carte mère. On y note aussi l'ajout d'un fil qui permet de rendre réinscriptible la puce Flash NOR SST 39WF400A adjacente contenant le Boot1 1.1.8916 de développement.
Cette modification fut probablement nécessaire pour programmer le Boot1 1.1.8916 de développement dans la puce de cette carte mère de production.
Mais cela implique qu'il sera possible avec Ndless de la reprogrammer avec un Boot1 1.1.8916 de production, puis de mettre à jour la calculatrice avec le dernier OS 3.9. :bj:



5) Dumping :Go to top

Le firmware TI-Nspire Navigator a été récupéré par simple transfert de fichier.

L'OS 3.0.0.621 a été dumpé par envoi sur une autre machine et interception du fichier de réception temporaire via un programme Ndless.

Cet OS ne règle pas de version minimale d'OS installable, aussi nous avons pu installer l'OS 1.1.9227 puis Ndless, et dumper le Boot2 2.0.0.DEVBUILD *DEBUG*.

La partition Diags a également été dumpée par la même occasion et elle contient bien quelque chose, un logiciel de diagnostics 1.1.0 spécial où tout se passe sur la console série avec un shell U-Boot 1.1.2.
Il est toutefois signé avec les clés de production, et c'est pour cela que le Boot1 1.1.8916 de développement de cette machine ne voulait pas le lancer.
Mais nous pouvons le programmer et lancer sur un modèle de production, ou bien sur émulateur :
Boot Loader Stage 1 (1.1.8916)
Build: 2007/4/23, 23:37:16
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using production keys

Last boot progress: 0
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz

Available system memory: 37292
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Boot option: Normal

Read of bootdata failed

Loading DIAGS software...

96%
BOOT1: loading complete (62 ticks), launching image.


U-Boot 1.1.2 (Feb 2 2007 - 19:48:46)

U-Boot code: 11800000 -> 1182DC2C BSS: -> 1183246C
RAM Configuration:
Bank #0: 10000000 32 MB
Flash: 0 kB
NAND:32 MB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
Starting Phoenix diagnostics...
Phoenix ASIC# help
? - alias for 'help'
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
dhcp - invoke DHCP client to obtain IP/boot params
echo - echo args to console
erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
iminfo - print header information for application image
imls - list all images found in flash
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
tidiag - perform Phoenix board diagnostics
version - print monitor version
Phoenix ASIC# version

U-Boot 1.1.2 (Feb 2 2007 - 19:48:46)
Phoenix ASIC#


Tous les éléments récupérés ainsi que ceux nécessaires à leur utilisation sont disponibles ci-après.




Téléchargements :
Lien vers le sujet sur le forum: Test TI-Nspire de développement avec thème CX + J04/JTAG (Commentaires: 23)

Premiers contacts TI-Nspire TestBoard (JTAG)

Nouveau messagede critor » 20 Juil 2018, 15:50

Au printemps 2017, parrotgeek1 trouvait sur eBay un lot de prototypes TI-Nspire assez particuliers, acheté peu après par Brandon Wilson.

Pas de simples prototypes prêtés à des enseignants/testeurs avant la sortie, mais des machines utilisées par l'équipe de développement de Texas Instruments et ayant miraculeusement échappé à la destruction. :o

Cet été, le lot en question est en vacances chez nous, et nous allons donc en profiter pour lui arracher jusqu'à son dernier secret. :bat:

Aujourd'hui, faisons connaissance avec la carte JTAG TI-Nspire TestBoard.



97349735Au nombre de trois, ces cartes identiques ont pour référence ASIC_PROD_TESTBOARD_2412.

La seule distinction semblent être le jumper J02 qui est absent ou présent selon les cartes, mais nous n'avons pu noter de différence fonctionelle.

97419739La carte se connecte au dos des TI-Nspire (CAS) ClickPad, du moins pour les prototypes et modèles de développement disposant bien du connecteur J04 à 30 broches et de la fente y donnant accès.

Il faut bien faire attention au sens de connexion indiqué via la numérotation des broches des deux connecteurs, car il n'y a pas de détrompeur. :warning:

Notons que la carte ne convient probablement pas aux TI-Nspire (CAS)+ / TI-Phoenix 1, qui bien que partageant le même connecteur J04 n'ont pas de processeur ASIC comme indiqué mais OMAP. :#non#:

Elle ne convient pas non plus aux TI-Nspire (CAS) TouchPad, TI-Nspire CM (CAS) et TI-Nspire CX (CAS), leur connecteur J04 étant différent et plus petit. :#non#:



90859735Outre le jumper donc, la carte dispose d'un mystérieux bouton poussoir S1 dont nous découvrons vite le rôle; il permet de faire redémarrer la calculatrice. Fort pratique puisque cela évite d'avoir à retourner la calulatrice, et donc de risquer de débrancher la carte par erreur. :bj:
L'absence d'accès au bouton reset est justement un défaut de notre interface TI-Nspire Navigator Cradle modifiée.

Techniquement nous avons vérifié, il n'y a aucune connexion entre les broches J04 et les contacts du bouton reset de la calculatrice. Cela implique que c'est donc un signal envoyé au processeur, ce qui serait moins facile à reproduire pour les bricoleurs.



97429738La carte dispose aussi d'un port série DB9 femelle. Une fois correctement connectée sur une interface USB/RS232, on a bien accès en lecture et écriture au port série de la calculatrice.
Plus besoin, du moins pour ceux qui ont la chance de disposer de cette carte, de s'embêter à faire tenir plus ou moins bien des fils sur le port J01/Dock de la calculatrice, ou de se donner la peine comme nous de récupérer et modifier un TI-Nspire Navigator Cradle. :bj:

Ici pas de suprise sur le plan technique, la documentation du connecteur J04 précisant bien qu'il inclut les sortie et entrée série sur ses broches 24 et 26, reliées donc elles-mêmes aux broches 24 et 23 du connecteur J01/Dock de la calculatrice.



9735Enfin, la carte présente bizarrement non pas un mais deux connecteurs JTAG :
  • un connecteur J01 à 13 broches, ce qui est plausible pour le processeur ARM de la TI-Nspire, et crédibilisé par les longues pistes le reliant au connecteur J04 pour la calculatrice
  • un connecteur J05 à 14 broches



974097369737
Mais le mystère est vite résolu en retournant la carte. Elle n'est pas aussi simple que ce que l'on pouvait croire, s'articulant autour de deux puces :
  • une SP3220 qui s'occupe de la communication série déjà abordée avec la conversion entre le TTL (3 Volts) de la calculatrice et le RS232 (5 Volts) de l'ordinateur
  • et une 430F2111 qui est une puce regroupant :
    • un processeur Texas Instrumnts MSP430
    • 128 octets de RAM
    • 1+256 kilooctets de Flash

Le connecteur JTAG J05 à 14 broches est donc destiné à prendre le contrôle du processeur MSP430 de la carte, peut-être à des fins de reprogrammation de son firmware.



Une telle complexité est surprenante.
Rappelons que dès 2007 ExtendeD avait exploré le port J04 à la recherche justement de JTAG, et n'y avait rien trouvé d'autre que l'accès au port série.
Donc soit le protocole de recherche/test était mauvais...
Soit cela voudrait dire autre chose de bien plus énorme qui ne serait pas surprenant quand on sait combien Texas Instruments a à coeur la sécurité de ses TI-Nspire...
Peut-être que le firmware exécuté par le pocesseur MSP430 de la carte, d'une façon ou d'une autre, active le JTAG de la calculatrice. Ce qui impliquerait justement que contrairement à la HP Prime la connexion directement à la calculatrice d'une interface JTAG standard, aux broches J04 à identifier en suivant les pistes plus haut, ne fonctionnerait pas.



Quoi qu'il en soit, à bientôt pour la première connexion JTAG ! ;)
Lien vers le sujet sur le forum: Premiers contacts TI-Nspire TestBoard (JTAG) (Commentaires: 1)

Prototype Nspire CAS avec versions 1.1.4797 de décembre 2006

Nouveau messagede critor » 22 Juil 2018, 20:58

Les plus anciennes versions TI-Nspire ASIC connues et récupérées sur des prototypes à ce jour étaient :
  • Boot1 : 1.1.6818 du 4 février 2007
  • Boot2 : 1.1.6818 du 4 février 2007
  • OS CAS : 1.1.6925 du 8 février 2007
  • OS non-CAS : 1.1.7320 du 26 février 2007
  • Diags: 1.1.7387 du 13 février 2007

Mais aujourd'hui le chinois comsmy, grand amateur et revendeur de prototypes TI-Nspire, nous a dégoté un prototype TI-Nspire CAS assez spécial.

Ce qui est surprenant, ce n'est pas le nom de modèle en TI-XXXXXXXXXXX, ni l'autocollant commençant par P1R2 apposé par dessus.

Par contre, une fois allumée cette machine nous accueille avec le message Factory image found. Press 'I' to install.
C'est-à-dire que son OS était préchargé en mémoire, mais pas installé.
Si ce message est habituel pour les utilisateurs d'émulateurs TI-Nspire, il est totalement anormal sur une vraie machine déjà sortie d'usine. :#non#:

Ce n'est pas la seule anomalie puisque le clavier diffère également de sa version finale, notamment avec la présence d'une touche
apps
! :o

Or, les prototypes TI-Nspire ASIC DVT1.2 et DVT2.0 disposaient bien du clavier final. Peut-être s'agit-il d'un DVT1.0 ?

Quoi qu'il en soit, Adriweb a pris le temps de te noter ci-contre toutes les différences.




Une fois donc l'OS préchargé installé, nous arrivons à l'écran à propos qui nous réserve bien des surprises.

D'une part, record battu puisque nous avons ici les Boot1, Boot2 et OS dans la version 1.1.4797 compilée le 6 décembre 2006 ! :bj:

Le Product ID est également anormal, avec un numéro de série nul passé le 0C identifiant le modèle TI-Nspire CAS. :o

Mais aussi, notons le nom du modèle affiché en TI-Nspire CAS+, alors que nous ne sommes ici plus sur la technologie OMAP mais ASIC. :o
Probablement que le changement de nom de modèle par rapport aux prototypes TI-Nspire (CAS)+ produits en 2006 avec processeur OMAP n'avait pas encore été arrêté ou effectué.
Lien vers le sujet sur le forum: Prototype Nspire CAS avec versions 1.1.4797 de décembre 2006 (Commentaires: 1)

Dumping firmware TI-Nspire TestBoard (JTAG)

Nouveau messagede critor » 22 Juil 2018, 22:24

9735Dans un article précédent, nous découvrions la TI-Nspire TestBoard, carte se branchant sur le connecteur J04 des TI-Nspire ClickPad.

Nous avons pu vérifier que cette carte offrait :
  • un bouton reset pour redémarrer la calculatrice sans besoin de la retouner
  • l'accès en lecture et écriture au port série de la calculatrice via un connecteur standard DB9

La carte dispose aussi de deux connecteurs JTAG, J01 et J05. Nous supposions que :
  • J01 à 13 broches était pour la prise de contrôle du processeur ARM de la calculatrice
  • J05 à 14 broches était pour la prise de contrôle du processeur MSP430 de la carte

La complexité électronique de cette carte nous avait par contre paru surprenante, avec son propre processeur MSP430. Nous avions deux hypothèses pour expliquer cela :
  • soit le firmware de la carte d'une façon ou d'une autre activait le JTAG de la calculatrice
    (c'est-à-dire qu'une connexion directe d'une interface JTAG générique aux bornes du connecteur J04 de la calculatrice ne fonctionnerait pas, contrairement à la HP Prime)
  • soit le firmware effectue une double conversion entre le protocole JTAG pour l'interface à connecter sur J01, et possiblement un protocole propriétaire côté calculatrice



974597449743Aujourd'hui, continuons à explorer cette carte. Pour cela, nous allons nous munir d'une interface JTAG ciblant le processeur MSP430, la MSP430-JTAG-TINY-V2 de chez Olimex conseillée par Lionel Debroux et que voici ci-contre.

La boîte contient donc :
  • l'interface JTAG avec :
    • une prise USB-B femelle
    • un connecteur JTAG mâle avec 2×7=14 broches et muni d'un détrompeur
    • un voyant vert/rouge (prêt/occupé)
  • une nappe 2×7=14 fils femelle-femelle avec détrompeurs



97479746La connexion de la nappe à l'interface est sans danger grâce aux détompeurs.

Par contre, le connecteur J05 de la carte TI-Nspire TestBoard n'a pas de détrompeur. Il faut donc bien faire attention au sens de connexion de la nappe, avec ici le fil rouge du côté des broches numérotées 1 et 2. :warning:



Niveau logiciel, pour éviter de se lancer dans de lourdes installations, on peut opter pour la solution légère du Olimex MSP430-programmer. Dans ce cas par contre il faudra bien installer ou basculer sur les pilotes FTDI, Windows n'intégrant pas de pilote compatible avec ce logiciel.

Une fois lancé il ne nous reste alors plus qu'à préciser la bonne référence de puce, MSP430F2111 comme vu dans l'article précédent.

C'est important, car les adresses ciblées pour les zones données et firmware ne sont pas les mêmes. Ici avec cette puce ce sera :
  • 0xF800-FFFF (2Kio) pour le firmware
  • 0x1000-10FF (256 octets) pour la zone de donnés



9748Plus qu'un clic sur le bouton Read et voilà, le firmware de la TI-Nspire TestBoard est dumpé ! :bj:
Il est même identique sur les 3 cartes dont nous disposons.

Il va maintenant falloir comprendre ce qu'il fait pour pouvoir répondre à nos interrogations. Parles-tu MSP430 ? ;)




Téléchargement : firmware TI-Nspire TestBoard
Lien vers le sujet sur le forum: Dumping firmware TI-Nspire TestBoard (JTAG) (Commentaires: 0)

Prototype TI-Nspire N3-DVT1 avec OS 3.0.0.1217

Nouveau messagede critor » 25 Juil 2018, 12:52

Aujourd'hui le chinois comsmy, grand amateur et revendeur de prototypes TI-Nspire, nous a dégoté un nouveau prototype TI-Nspire.

Son numéro de série est N3-DVT1-085, et il est équipé de l'OS de développement 3.0.0.1217.

Cet OS dispose toujours de l'éditeur de thème déjà remarqué dans la version de développement 3.0.0.621 du 4 octobre 2010, et qui sera supprimée avant la sortie de la version de production 3.0.1.1753 du 24 mars 2011.

Nous y remarquons également déjà l'abandon du thème TI-Nspire CX en niveaux de gris, pour le thème simplifié/constrasté dédié aux modèles monochromes que nous connaissons.

Comsmy s'est même donné la peine de dumper l'OS, par envoi sur une autre machine et interception du fichier de réception temporaire via un programme Ndless que nous lui avons communiqué.

Si bien que l'on peut le tester sur émulateur, et en récupérer le log de démarrage :
Beginning system initialization.
Clocks: CPU = 120 MHz AHB = 60 MHz APB = 30 MHz

Preparing file system. This takes a while...
POSIX layer initialized.
POSIX "NULL" device initialized.
POSIX "CONSOLE" device initialized.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.

POSIX file system initialized.
File system ready.
* P3 mode battery door detection
System build date: Jan 4 2011, 01:23:32
Available memory: 15260764 bytes
Purging temporary files...
Launching system...
Created Execution Context
NavNet Ready.
BOOT2 updater: error -2


Nous y relevons notamment sa date de compilation bien évidemment intermédiaire, 4 janvier 2011.



Enfin, petit tour dans la machine que Comsmy a ouverte pour nous. Elle utilise :
  • une carte mère N3_MB_DVT1_4420
  • une carte écran N1/N3_LB_DV1_2420

On note la présence sur la carte mère du connecteur J04/JTAG.

Nous sommes également très surpris, par 4 fils rajoutés qui semblent relier directement le port mini-USB à la carte mère... Mais qu'est-ce qu'ils ont encore fabriqué chez TI ? :#roll#:


Téléchargements :
Lien vers le sujet sur le forum: Prototype TI-Nspire N3-DVT1 avec OS 3.0.0.1217 (Commentaires: 15)

Test TI-Nspire de développement avec Boot2 3.0.0

Nouveau messagede critor » 26 Juil 2018, 19:40

Au printemps 2017, parrotgeek1 trouvait sur eBay un lot de TI-Nspire assez spéciales, achetées peu après par Brandon Wilson.

Pas de simples prototypes prêtés à des enseignants/testeurs avant la sortie, mais des machines utilisées par l'équipe de développement de Texas Instruments et ayant miraculeusement échappé à la destruction. :o

Cet été, le lot en question est en vacances chez nous, et nous allons donc en profiter pour lui arracher jusqu'à son dernier secret. :bat:

Aujourd'hui occupons-nous de la TI-Nspire en haut à droite sur la photo, reçue ici sans clavier.



Sommaire :
  1. Exploration visuelle
  2. Exploration logicielle
  3. Exploration série
  4. Exploration matérielle
  5. Dumping



1) Exploration visuelle :Go to top

97509749A première vue la calculatrice est d'apparence normale.

Mais au dos nous concentrons les surprises, avec :
  • un boîtier clairement non final, puisque contrairement à nombre d'autres prototypes les indications normalement gravées pour les bouton reset et de déverrouillage du clavier en sont absentes
  • une ouverture découpée dans le clavier et permettant l'accès au connecteur J04/JTAG absent des modèles de production
  • un numéro de série gravé en P3-ASIC, tronqué par l'ouverture en question
  • en conséquence un numéro de série manuscrit de remplacement : 2011002716
  • un autocollant en partie effacé :
    Prototype - Not for Sale
    This device has not been authorized as required by the rules of the Federal Communications Commission. This device is not, and may not be, offered for sale or lease, or sold or leased, until authorization is obtained.

Notons que l'ouverture laisse apparaître la référence de la carte mère, P2/P3 ASIC MB_MP_6440, soit la même que sur les cartes mère de production.
Il s'agit donc d'un modèle destiné à être utilisé par les ingénieurs Texas Instruments pour tester les nouvelles versions en cours de développement, avec donc ajout du connecteur J04/JTAG.



2) Exploration logicielle :Go to top

Cette machine démarrant en mode développement comme indiqué par le carré sur l'écran nous est venue sans OS, et nous allons bien évidemment la remettre en état pour Brandon.
Mais comble de malchance, elle a une protection anti-downgrade qui lui fait rejeter les OS de développemnt 1.1, 1.5 et 2.0 dont nous disposons.
Pas trop le choix donc, nous pouvons lui mettre les OS de développement 3.0.0.621 ou 3.0.0.1217 dumpés récemment.
Maigre compensation, ces OS ne feront pas empirer la version minimale d'OS installable, réglée à 1.1.99 pour chacun.

Une fois l'OS enfin installé et démarré, nous apprenons l'utilisation :
  • d'un Boot1 de développement 1.1.8916 déjà dumpé
  • d'un Boot2 de développement 3.0.0 encore jamais dumpé à ce jour, et qui serait donc intermédiaire entre la version de développement 2.0.0 du 13 octobre 2009 et la version de production 3.0.1.131 du 23 février 2011 :o



3) Exploration série :Go to top

9732Après avoir branché le port Dock/J01 de la calculatrice sur une interface adéquat, on peut récupérer la sortie du port série.

Le log de démarrage nous confirme l'utilisation :
  • du Boot1 1.1.8916 de développement du 23 avril 2007
  • d'un Boot2 3.00.DEVBUILD de développement du 17 septembre 2010
Boot Loader Stage 1 (1.1.8916)
Build: 2007/4/23, 23:29:51
Copyright (c) 2006, 2007 Texas Instruments Incorporated
Using developer keys

Last boot progress: 41098
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz

Available system memory: 37292
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
PM is turning the device OFF
PM has turned the device ON
SDRAM memory test: Pass
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Clearing SDRAM...Done.
Boot option: Normal

Loading DIAGS software...

Error reading/validating DIAGS image

Error loading DIAGS. Switching to BOOT2.

Loading BOOT2 software...

99%
BOOT1: loading complete (312 ticks), launching image.



Boot Loader Stage 2 (3.00.DEVBUILD)
Build: 2010/9/17, 14:13:38
Copyright (c) 2006, 2007, 2008 Texas Instruments Incorporated
Using developer keys

Clocks: CPU = 90MHz AHB = 15MHz APB = 7MHz
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A


Initializing graphics subsystem.
Boot option: Normal


Initializing filesystem.
Datalight Reliance v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Datalight FlashFX Pro v3.00 Build 1358
Nucleus Edition for ARM9
Copyright (c) 1993-2006 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.
Purging temporary files...
TI_OS_INSTALL_PRECHECK_OK (0)

Loading Operating System...

100%

BOOT2: loading complete (3206 ticks), launching image.




4) Exploration matérielle :Go to top

9751Enfin, ouvrons la bête pour lui extirper ses derniers secrets.
On confirme l'usage de la carte mère de production P2/P3 ASIC MB_MP_6440 ainsi que de la carte écran P1R2/P3_LB__MP_2440 qui va avec.

Outre la présence du connecteur J04/JTAG nous notons une autre modification apportée à la carte mère, avec l'ajout d'un fil qui proche de la puce Flash NOR SST 39WF400A, rendant ainsi son Boot1 reprogrammable.
Cette modification fut probablement nécessaire pour programmer le Boot1 1.1.8916 de développement dans la puce de cette carte mère de production.



5) Dumping :Go to top

Malheureusement, à cause de sa protection anti-downgrade il est impossible d'installer la version 1.1.9227 sur ce modèle, seul OS TI-Nspire de développement pour lequel une version Ndless est disponible. :(

En conséquence, il nous est impossible à ce jour de dumper le Boot2 3.0.0 de développement.

Le seul moyen que nous verrions serait d'adapter le jailbreak Ndless ou bien l'outil Nleash faisant sauter la protection anti-downgrade pour les OS installables sur ce modèle, soit à ce jour les OS 3.0.0.621 ou 3.0.0.1217.
Lien vers le sujet sur le forum: Test TI-Nspire de développement avec Boot2 3.0.0 (Commentaires: 3)

1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Nouveau messagede critor » 29 Juil 2018, 18:52

9735Dans un article précédent, nous découvrions la TI-Nspire TestBoard, carte se branchant sur le connecteur J04 des TI-Nspire ClickPad.

Nous avons pu vérifier que cette carte offrait :
  • un bouton reset pour redémarrer la calculatrice sans besoin de la retouner
  • l'accès en lecture et écriture au port série de la calculatrice via un connecteur standard DB9

La carte dispose aussi de deux connecteurs JTAG, J01 et J05.

Le J05 à 14 broches était pour la prise de contrôle du processeur MSP430 de la carte, comme confirmé dans notre dernier article.

Nous supposions que le J01 à 13 broches était quant à lui pour la prise de contrôle du processeur ARM de la calculatrice.

975497539752Aujourd'hui, continuons à explorer cette carte avec ce dernier connecteur. Pour cela, nous allons nous munir d'une autre interface JTAG, la TMS320-JTAG-USB XDS100-V2 de chez Olimex conseillée par Lionel Debroux et que voici ci-contre.

La boîte contient donc :
  • l'interface JTAG avec :
    • une prise USB-B femelle
    • un connecteur JTAG mâle avec 2×10=20 broches et muni d'un détrompeur
    • un voyant d'alimentation
  • une nappe 2×10=20 fils femelle-femelle avec détrompeurs
  • une nappe 2×7=14 fils femelle-femelle avec deux détrompeurs (niveau brochage et prise)
  • un adaptateur 20 broches ↔ 14 broches

975797569755Ne reste plus qu'à assembler le tout, tâche sans danger du côté interface grâce aux nombreux détrompeurs.

Par contre, le connecteur J01 de la carte TI-Nspire TestBoard n'a que le détrompeur niveau brochage. Dans le cas d'utilisation d'une nappe générique, il faut donc bien faire attention au sens de connexion, avec ici le fil rouge du côté des broches numérotées 1 et 2. :warning:



Une fois les pilotes FTDI installés, voyons ce que OpenOCD nous détecte :
Code: Tout sélectionner
C:\Users\Andreani\Downloads\OpenOCD-20160901\bin>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: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 4 -expected-id 0x0792606d"
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     4 0x01  0x03
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------


1436OpenOCD nous trouve donc une puce 0x0792606d de chez LSI Logic (0x036), ce qui semble correct.

Nous voici donc dotés de suffisamment d'information pour compléter correctement le fichier de configuration :
Code: Tout sélectionner
#set MODE "nsp20"
#set MODE "nsp13"
#set MODE "ns1"
#set MODE "ns2"
set MODE "ns1ext"
#set MODE "ns2ext"
#set MODE "cx"
#set MODE "cxext"
#set MODE "nav"
#set MODE "none"

if { $MODE == "nav" } {
   set ID1      "0x2b89102f"
   set LEN1   "6"
   set TYPE1   "jrc"
   set NTAPS   1
   set TAP      "1"
   set CHIP   "cortex_a"
}
if { ($MODE == "nsp20") + ($MODE == "nsp13") } {
   set ID1      "0x0692602f"
   set LEN1   "4"
   set TYPE1   "cpu"
   set ID2      "0x00000000"
   set LEN2   "2"
   set TYPE2   "unknown"
   set NTAPS   2
   set TAP      "1"
   set CHIP   "arm926ejs"
}
if { ($MODE == "ns1") + ($MODE == "ns1ext") } {
   set ID1      "0x0792606d"
   set LEN1   "4"
   set NTAPS   1
   set TYPE1   "cpu"
   set TAP      "1"
   set CHIP   "arm926ejs"
}
if { ($MODE == "ns2") + ($MODE == "ns2ext") } {
   set ID1      "0xa065416d"
   set LEN1   "29"
   set NTAPS   1
   set TYPE1   "unknown"
   set TAP      "0"
}
if { ($MODE == "cx") + ($MODE == "cxext") } {
   set ID1      "0x1b900f0f"
   set LEN1   "4"
   set TYPE1   "bs"
   set ID2      "0x07926f0f"
   set LEN2   "4"
   set TYPE2   "cpu"
   set NTAPS   2
   set TAP      "2"
   set CHIP   "arm926ejs"
}

#set DRV "ft2232"
set DRV "ftdi"

set INT "xds100v2"
if { $MODE=="nsp20"} {
   set INT "tinyh"
}

# *** 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

#adapter_nsrst_delay 200
#jtag_ntrst_delay 200
#reset_config trst_only combined
#reset_config trst_and_srst combined
#reset_config trst_and_srst srst_pulls_trst

# *** TARGETS ***
if { $MODE != "none" } {
   jtag newtap $MODE $TYPE1 -irlen $LEN1 -expected-id $ID1
   if { $NTAPS > 1} {
      jtag newtap $MODE $TYPE2 -irlen $LEN2 -expected-id $ID2
   }
   if { $TAP == "1" } {
      target create $MODE.$TYPE1 $CHIP -chain-position $MODE.$TYPE1
   }
   if { $TAP == "2" } {
      target create $MODE.$TYPE2 $CHIP -chain-position $MODE.$TYPE2
   }
   if { ($MODE == "ns1ext") + ($MODE == "ns2ext") + ($MODE == "cxext") } {
      flash bank boot1 cfi 0 524288 1 1 $MODE.cpu
   }
   init
   if { $DRV=="ftdi"  && $INT=="xds100v2"} {
      ftdi_set_signal PWR_RST 1
      jtag arp_init
   }
}
scan_chain
targets
if { $MODE != "none" } {
   halt
}


Voyons donc enfin ce que cela donne :
Code: Tout sélectionner
C:\Users\Andreani\Downloads\OpenOCD-20160901\bin>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: nsext.cpu tap/device found: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : nsext.cpu: hardware has 2 breakpoint/watchpoint units
Info : JTAG tap: nsext.cpu tap/device found: 0x0792606d (mfg: 0x036 (LSI Logic), part: 0x7926, ver: 0x0)
   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 nsext.cpu              Y     0x0792606d 0x0792606d     4 0x01  0x03
    TargetName         Type       Endian TapName            State
--  ------------------ ---------- ------ ------------------ ------------
0* nsext.cpu          arm926ejs  little nsext.cpu          running
nsext.cpu: target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x600000d3 pc: 0xa40098f4
MMU: disabled, D-Cache: enabled, I-Cache: enabled


9758OpenOCD semble cette fois-ci bien prendre le contrôle du processeur, l'écran de la calculatrice se figeant et cette dernière cessant de répondre aux touches clavier.

A suivre...
Lien vers le sujet sur le forum: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad (Commentaires: 8)

-
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.
1485 utilisateurs:
>1468 invités
>13 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)