π
<-

1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

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

1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby critor » 29 Jul 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: Select all
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: Select all
#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: Select all
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...
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby critor » 29 Jul 2018, 19:15

Voici la doc d'OpenOCD pour le contrôle des Flash NOR/NAND :
http://openocd.org/doc/html/Flash-Commands.html

Pour la NAND, aucune idée du pilote nécessaire. Même pas sûr qu'il soit inclus, peut-être faut-il en coder un spécifique.

Pour la NOR, ici sur cette TI-Nspire ClickPad nous sommes donc avec une puce externe.
La doc nous renvoie dans ce cas au pilote CFI, le principal standard.

D'où une configuration en ce sens :
Code: Select all
#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
}


Après avoir fait un telnet 127.0.0.1 4444, on peut envoyer des commandes à OpenOCD :
Code: Select all
> flash list
> flash read_bank 0 boot1.img 0 131072


Et la réponse de OpenOCD :
Code: Select all
{name cfi base 0 size 524288 bus_width 1 chip_width 1}
Error: timeout waiting for SYSCOMP & DBGACK, last DBG_STATUS: 244
Error: auto_probe failed


Donc malheureusement, ça ne marche pas.
Aucune idée du problème; cela peut aussi bien venir de la configuration que de TI qui utiliserait autre chose que le standard CFI pour sa Flash-NOR externe.

Dommage car ce serait bien pratique pour dumper des Boot1, là où toutes les autres méthodes logicielles ont échoué.
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby parrotgeek1 » 30 Jul 2018, 19:44

TI does in fact use CFI for the flash. Check the bus and chip width -39xF400A are 16 bit not 8 bit! And nspire CPU is of course 32 bit

So try bus width 4 and chip width 2.
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby critor » 31 Jul 2018, 00:55

Thank you very much. :)

New config file :
Code: Select all
# nsp20 = TI-Phoenix 1 / TI-Nspire (CAS)+ / TI-Nspire ViewScreen through 20-pins ARM JTAG
# nsp13 = TI-Phoenix 1 / TI-Nspire (CAS)+ / TI-Nspire ViewScreen through 13-pins TI JTAG
# ns1 = TI-Nspire (CAS)
# ns2 = TI-Nspire (CAS) (unexpected ZSP Corp chip instead of the LSI one - seems random - might come from connections in the wrong order)
# ns1ext = TI-Nspire (CAS) with external Flash-NOR (DVT, HW-A, and maybe HW-B)
# ns2ext = TI-Nspire (CAS) with external Flash-NOR (DVT, HW-A, and maybe HW-B)
# cx = TI-Nspire CX/CM (CAS)
# cxext = TI-Nspire CX/CM (CAS) with external Flash-NOR (CX CR4/HW-W and TI-Nspire Color)
# nav = TI-Nspire Navigator
# none = auto probe taps

set MODE "ns1"

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
   }
echo $TAP
   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 2 4 $MODE.cpu
   }
   init
   if { $DRV=="ftdi"  && $INT=="xds100v2"} {
      ftdi_set_signal PWR_RST 1
      jtag arp_init
   }
}
scan_chain
targets
if { $MODE != "none" } {
   halt
}


New attempt with telnet 4444 :
Code: Select all
Open On-Chip Debugger
> flash banks
#0 : boot1 (cfi) at 0x00000000, size 0x00080000, buswidth 4, chipwidth 2
> flash list
{name cfi base 0 size 524288 bus_width 4 chip_width 2}
> flash read_bank 0 boot1.img 0 131072
Flash Manufacturer/Device: 0xf018 0xf018
Could not probe bank: no QRY
Try workaround w/0x555 instead of 0x55 to get QRY.
Could not probe bank: no QRY
auto_probe failed


So another error...
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby parrotgeek1 » 31 Jul 2018, 03:39

Sorry, bus width should also be 2 for this flash controller
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby critor » 31 Jul 2018, 09:40

Here you are :
Code: Select all
Open On-Chip Debugger
> flash banks
#0 : boot1 (cfi) at 0x00000000, size 0x00080000, buswidth 2, chipwidth 2
> flash list
{name cfi base 0 size 524288 bus_width 2 chip_width 2}
> flash read_bank 0 boot1.img 0 131072
Flash Manufacturer/Device: 0x00ff 0x00ff
Could not probe bank: no QRY
Try workaround w/0x555 instead of 0x55 to get QRY.
Could not probe bank: no QRY
auto_probe failed


Then another attempt with 4/2, with a difference in the chip ID :
Code: Select all
Open On-Chip Debugger
> flash banks
#0 : boot1 (cfi) at 0x00000000, size 0x00080000, buswidth 4, chipwidth 2
> flash list
{name cfi base 0 size 524288 bus_width 4 chip_width 2}
> flash read_bank 0 boot1.img 0 131072
Flash Manufacturer/Device: 0x00ff 0xf018
Could not probe bank: no QRY
Try workaround w/0x555 instead of 0x55 to get QRY.
Could not probe bank: no QRY
auto_probe failed
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby parrotgeek1 » 31 Jul 2018, 17:08

I just noticed that the first word of boot1 is e59ff018 and you keep getting f018 for everything. Could you just dump boot1 by reading it out of the address space?
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby critor » 31 Jul 2018, 18:22

Interesting.

But if I'm getting the first NOR bytes in place of the chip manufacturer+device IDs, then something is still wrong somewhere...
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: 1ère connexion JTAG fonctionnelle TI-Nspire ClickPad

Unread postby Lionel Debroux » 31 Jul 2018, 18:27

Clearly, the CFI info command doesn't reach the NOR Flash chip yet.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl


Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 18 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.
622 utilisateurs:
>608 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)