Bricoleurs du dimanche, bonjour. Le point d'accès TI-Nspire Navigator Access Point permettant la création de réseaux de calculatrices TI-Nspire sans fil en classe, dispose d'une connectivité très riche sur sa carte mère comme nous l'avions déjà vu :
Nous avions déjà vu que le connecteur J2 offrait un JTAG au format TI, et le connecteur J3 une sortie série Tx permettant de récupérer tout le log de démarrage à 115200 bauds.
Le log nous apprenait que le point d'accès démarrait sur X-Loader puis U-Boot, ce dernier invitant même pendant une seconde à appuyer sur une touche pour suspendre le démarrage :
Pas de touche sur le point d'accès, mais comme cette information était transmise sur la sortie série, cela signifiait plutôt à notre avis de transmettre n'importe quel caractère sur l'entrée série.
Et bien bingo car nous venons justement découvrir la broche d'entrée série Rx sur le même connecteur J3, et rebingo car y envoyer un caractère au bon moment permet bien d'accéder à la console U-Boot. Voici quelques commandes permettant d'apprendre diverses choses complémentaires sur le matériel :
- J1 : port micro-USB
- J2 : emplacement pour connecteur 2x7=14 broches
- J3 : emplacement pour connecteur 5 broches
- J4 : emplacement pour lecteur de carte mémoire MMC/SD
- J5 : emplacement pour port USB additionnel
Nous avions déjà vu que le connecteur J2 offrait un JTAG au format TI, et le connecteur J3 une sortie série Tx permettant de récupérer tout le log de démarrage à 115200 bauds.
Le log nous apprenait que le point d'accès démarrait sur X-Loader puis U-Boot, ce dernier invitant même pendant une seconde à appuyer sur une touche pour suspendre le démarrage :
- Code: Select all
Texas Instruments X-Loader 1.4.4ss (Oct 18 2011 - 17:48:56)
SDRAM Size = 64 MB
TI USB AP - Rev 1.0
I2C read: I/O error
I2C read: I/O error
Loading u-boot.bin from nand
U-Boot 2010.03-dirty (Oct 18 2011 - 17:47:59) - tiusbap
OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz,
TIUSBAP + LPDDR/NAND
DRAM: 64 MB
NAND: 128 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Die ID #37e600029e380000016b1ef10c020019
Hit any key to stop autoboot: 0
No MMC card found
Booting from nand ...
Pas de touche sur le point d'accès, mais comme cette information était transmise sur la sortie série, cela signifiait plutôt à notre avis de transmettre n'importe quel caractère sur l'entrée série.
Et bien bingo car nous venons justement découvrir la broche d'entrée série Rx sur le même connecteur J3, et rebingo car y envoyer un caractère au bon moment permet bien d'accéder à la console U-Boot. Voici quelques commandes permettant d'apprendre diverses choses complémentaires sur le matériel :
- Code: Select all
X-Loader 1.4.4ss (Oct 18 2011 - 17:48:56)
SDRAM Size = 64 MB
TI USB AP - Rev 1.0
I2C read: I/O error
I2C read: I/O error
Loading u-boot.bin from nand
U-Boot 2010.03-dirty (Oct 18 2011 - 17:47:59) - tiusbap
OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz,
TIUSBAP + LPDDR/NAND
DRAM: 64 MB
NAND: 128 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Die ID #5b7800029e380000016b1ef10c027024
Hit any key to stop autoboot: 0
OMAP3 tiusbap # ?
? - alias for 'help'
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
chpart - change active partition
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
echo - echo args to console
editenv - edit environment variable
exit - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls - list files in a directory (default /)
false - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fsinfo - print information about filesystems
fsload - load binary file from a filesystem image
go - start application at address 'addr'
help - print command description/usage
imxtract- extract a part of a multi-image
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
ls - list files in a directory (default /)
md - memory display
mm - memory modify (auto-incrementing address)
mmc - MMC sub-system
mtdparts- define flash/nand partitions
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nandecc - switch OMAP3 NAND ECC calculation algorithm
nboot - boot from NAND device
nm - memory modify (constant address)
printenv- print environment variables
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
showvar - print local hushshell variables
sleep - delay execution for some time
source - run script from memory
test - minimal test like /bin/sh
true - do nothing, successfully
usleep - delay execution for some time
version - print monitor version
OMAP3 tiusbap # base
Base Address: 0x00000000
OMAP3 tiusbap # bdinfo
arch_number = 0x0000060A
env_t = 0x00000000
boot_params = 0x80000100
DRAM bank = 0x00000000
-> start = 0x80000000
-> size = 0x04000000
DRAM bank = 0x00000001
-> start = 0x00000000
-> size = 0x00000000
baudrate = 115200 bps
OMAP3 tiusbap # coninfo
List of available devices:
serial 80000003 SIO stdin stdout stderr
OMAP3 tiusbap # fsinfo
### filesystem type is JFFS2
Scanning JFFS2 FS: read_nand_cached: error reading nand off 0x0 size 8192 bytes
read_nand_cached: error reading nand off 0x2000 size 8192 bytes
read_nand_cached: error reading nand off 0x4000 size 8192 bytes
read_nand_cached: error reading nand off 0x6000 size 8192 bytes
read_nand_cached: error reading nand off 0x8000 size 8192 bytes
read_nand_cached: error reading nand off 0xa000 size 8192 bytes
read_nand_cached: error reading nand off 0xc000 size 8192 bytes
read_nand_cached: error reading nand off 0xe000 size 8192 bytes
read_nand_cached: error reading nand off 0x10000 size 8192 bytes
read_nand_cached: error reading nand off 0x12000 size 8192 bytes
read_nand_cached: error reading nand off 0x14000 size 8192 bytes
read_nand_cached: error reading nand off 0x16000 size 8192 bytes
read_nand_cached: error reading nand off 0x18000 size 8192 bytes
read_nand_cached: error reading nand off 0x1a000 size 8192 bytes
read_nand_cached: error reading nand off 0x1c000 size 8192 bytes
read_nand_cached: error reading nand off 0x1e000 size 8192 bytes
read_nand_cached: error reading nand off 0x20000 size 8192 bytes
read_nand_cached: error reading nand off 0x22000 size 8192 bytes
read_nand_cached: error reading nand off 0x24000 size 8192 bytes
read_nand_cached: error reading nand off 0x26000 size 8192 bytes
read_nand_cached: error reading nand off 0x28000 size 8192 bytes
read_nand_cached: error reading nand off 0x2a000 size 8192 bytes
read_nand_cached: error reading nand off 0x2c000 size 8192 bytes
read_nand_cached: error reading nand off 0x2e000 size 8192 bytes
read_nand_cached: error reading nand off 0x30000 size 8192 bytes
read_nand_cached: error reading nand off 0x32000 size 8192 bytes
read_nand_cached: error reading nand off 0x34000 size 8192 bytes
read_nand_cached: error reading nand off 0x36000 size 8192 bytes
read_nand_cached: error reading nand off 0x38000 size 8192 bytes
read_nand_cached: error reading nand off 0x3a000 size 8192 bytes
read_nand_cached: error reading nand off 0x3c000 size 8192 bytes
read_nand_cached: error reading nand off 0x3e000 size 8192 bytes
read_nand_cached: error reading nand off 0x40000 size 8192 bytes
read_nand_cached: error reading nand off 0x42000 size 8192 bytes
read_nand_cached: error reading nand off 0x44000 size 8192 bytes
read_nand_cached: error reading nand off 0x46000 size 8192 bytes
read_nand_cached: error reading nand off 0x48000 size 8192 bytes
read_nand_cached: error reading nand off 0x4a000 size 8192 bytes
read_nand_cached: error reading nand off 0x4c000 size 8192 bytes
read_nand_cached: error reading nand off 0x4e000 size 8192 bytes
read_nand_cached: error reading nand off 0x50000 size 8192 bytes
read_nand_cached: error reading nand off 0x52000 size 8192 bytes
read_nand_cached: error reading nand off 0x54000 size 8192 bytes
read_nand_cached: error reading nand off 0x56000 size 8192 bytes
read_nand_cached: error reading nand off 0x58000 size 8192 bytes
read_nand_cached: error reading nand off 0x5a000 size 8192 bytes
read_nand_cached: error reading nand off 0x5c000 size 8192 bytes
read_nand_cached: error reading nand off 0x5e000 size 8192 bytes
read_nand_cached: error reading nand off 0x60000 size 8192 bytes
read_nand_cached: error reading nand off 0x62000 size 8192 bytes
read_nand_cached: error reading nand off 0x64000 size 8192 bytes
read_nand_cached: error reading nand off 0x66000 size 8192 bytes
read_nand_cached: error reading nand off 0x68000 size 8192 bytes
read_nand_cached: error reading nand off 0x6a000 size 8192 bytes
read_nand_cached: error reading nand off 0x6c000 size 8192 bytes
read_nand_cached: error reading nand off 0x6e000 size 8192 bytes
read_nand_cached: error reading nand off 0x70000 size 8192 bytes
read_nand_cached: error reading nand off 0x72000 size 8192 bytes
read_nand_cached: error reading nand off 0x74000 size 8192 bytes
read_nand_cached: error reading nand off 0x76000 size 8192 bytes
read_nand_cached: error reading nand off 0x78000 size 8192 bytes
read_nand_cached: error reading nand off 0x7a000 size 8192 bytes
read_nand_cached: error reading nand off 0x7c000 size 8192 bytes
read_nand_cached: error reading nand off 0x7e000 size 8192 bytes done.
Compression: NONE
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: ZERO
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: RTIME
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: RUBINMIPS
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: COPY
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: DYNRUBIN
frag count: 0
compressed sum: 0
uncompressed sum: 0
Compression: ZLIB
frag count: 0
compressed sum: 0
uncompressed sum: 0
OMAP3 tiusbap # ls
Scanning JFFS2 FS: read_nand_cached: error reading nand off 0x0 size 8192 bytes
read_nand_cached: error reading nand off 0x2000 size 8192 bytes
read_nand_cached: error reading nand off 0x4000 size 8192 bytes
read_nand_cached: error reading nand off 0x6000 size 8192 bytes
read_nand_cached: error reading nand off 0x8000 size 8192 bytes
read_nand_cached: error reading nand off 0xa000 size 8192 bytes
read_nand_cached: error reading nand off 0xc000 size 8192 bytes
read_nand_cached: error reading nand off 0xe000 size 8192 bytes
read_nand_cached: error reading nand off 0x10000 size 8192 bytes
read_nand_cached: error reading nand off 0x12000 size 8192 bytes
read_nand_cached: error reading nand off 0x14000 size 8192 bytes
read_nand_cached: error reading nand off 0x16000 size 8192 bytes
read_nand_cached: error reading nand off 0x18000 size 8192 bytes
read_nand_cached: error reading nand off 0x1a000 size 8192 bytes
read_nand_cached: error reading nand off 0x1c000 size 8192 bytes
read_nand_cached: error reading nand off 0x1e000 size 8192 bytes
read_nand_cached: error reading nand off 0x20000 size 8192 bytes
read_nand_cached: error reading nand off 0x22000 size 8192 bytes
read_nand_cached: error reading nand off 0x24000 size 8192 bytes
read_nand_cached: error reading nand off 0x26000 size 8192 bytes
read_nand_cached: error reading nand off 0x28000 size 8192 bytes
read_nand_cached: error reading nand off 0x2a000 size 8192 bytes
read_nand_cached: error reading nand off 0x2c000 size 8192 bytes
read_nand_cached: error reading nand off 0x2e000 size 8192 bytes
read_nand_cached: error reading nand off 0x30000 size 8192 bytes
read_nand_cached: error reading nand off 0x32000 size 8192 bytes
read_nand_cached: error reading nand off 0x34000 size 8192 bytes
read_nand_cached: error reading nand off 0x36000 size 8192 bytes
read_nand_cached: error reading nand off 0x38000 size 8192 bytes
read_nand_cached: error reading nand off 0x3a000 size 8192 bytes
read_nand_cached: error reading nand off 0x3c000 size 8192 bytes
read_nand_cached: error reading nand off 0x3e000 size 8192 bytes
read_nand_cached: error reading nand off 0x40000 size 8192 bytes
read_nand_cached: error reading nand off 0x42000 size 8192 bytes
read_nand_cached: error reading nand off 0x44000 size 8192 bytes
read_nand_cached: error reading nand off 0x46000 size 8192 bytes
read_nand_cached: error reading nand off 0x48000 size 8192 bytes
read_nand_cached: error reading nand off 0x4a000 size 8192 bytes
read_nand_cached: error reading nand off 0x4c000 size 8192 bytes
read_nand_cached: error reading nand off 0x4e000 size 8192 bytes
read_nand_cached: error reading nand off 0x50000 size 8192 bytes
read_nand_cached: error reading nand off 0x52000 size 8192 bytes
read_nand_cached: error reading nand off 0x54000 size 8192 bytes
read_nand_cached: error reading nand off 0x56000 size 8192 bytes
read_nand_cached: error reading nand off 0x58000 size 8192 bytes
read_nand_cached: error reading nand off 0x5a000 size 8192 bytes
read_nand_cached: error reading nand off 0x5c000 size 8192 bytes
read_nand_cached: error reading nand off 0x5e000 size 8192 bytes
read_nand_cached: error reading nand off 0x60000 size 8192 bytes
read_nand_cached: error reading nand off 0x62000 size 8192 bytes
read_nand_cached: error reading nand off 0x64000 size 8192 bytes
read_nand_cached: error reading nand off 0x66000 size 8192 bytes
read_nand_cached: error reading nand off 0x68000 size 8192 bytes
read_nand_cached: error reading nand off 0x6a000 size 8192 bytes
read_nand_cached: error reading nand off 0x6c000 size 8192 bytes
read_nand_cached: error reading nand off 0x6e000 size 8192 bytes
read_nand_cached: error reading nand off 0x70000 size 8192 bytes
read_nand_cached: error reading nand off 0x72000 size 8192 bytes
read_nand_cached: error reading nand off 0x74000 size 8192 bytes
read_nand_cached: error reading nand off 0x76000 size 8192 bytes
read_nand_cached: error reading nand off 0x78000 size 8192 bytes
read_nand_cached: error reading nand off 0x7a000 size 8192 bytes
read_nand_cached: error reading nand off 0x7c000 size 8192 bytes
read_nand_cached: error reading nand off 0x7e000 size 8192 bytes done.
OMAP3 tiusbap # mtest
Pattern 00000000 Writing... Reading...
OMAP3 tiusbap # nand device
Device 0: nand0, sector size 128 KiB
OMAP3 tiusbap # printenv
bootcmd=if mmc init ${mmcdev}; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
bootdelay=1
baudrate=115200
loadaddr=0x82000000
usbtty=cdc_acm
console=ttyO2,115200n8
mpurate=600
buddy=none
flash_MLO=mmc init; fatload mmc 1 0x80200000 MLO; nandecc hw; nand erase 0 80000; nand write.i 0x80200000 0 80000
flash_uBoot=mmc init; fatload mmc 1 0x80200000 u-boot.bin; nandecc sw; nand erase 80000 160000; nand write.i 0x80200000 80000 160000
flash_uImage=mmc init; fatload mmc 1 0x80200000 uImage; nandecc sw; nand erase 280000 600000; nand write.i 0x80200000 280000 600000
flash_uImage2=mmc init; fatload mmc 1 0x80200000 uImage2; nandecc sw; nand erase 880000 600000; nand write.i 0x80200000 880000 600000
flash_all=run flash_MLO;run flash_uBoot;run flash_uImage;run flash_uImage2
nuke_nand=nand erase 0 8000000
mmcdev=1
mtdparts=mtdparts=nand:512k(x-loader),1920k(u-boot),128k(u-boot-env),6m(kernel),6m(kernel2),4m(localconf),-(unused)
mmcargs=setenv bootargs console=${console} ${mtdparts}
nandargs=setenv bootargs console=${console} ${mtdparts}
led_off=mw 49054090 40000000
led_on=mw 49054094 40000000
loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
nandboot=echo Booting from nand ...; run led_on; run nandargs; nand read ${loadaddr} 280000 600000; bootm ${loadaddr};run led_off;usleep 250000;run led_on; nand read ${loadaddr} 880000 600000; bootm ${loadaddr}
stdin=serial
stdout=serial
stderr=serial
dieid#=5b7800029e380000016b1ef10c027024
Environment size: 1728/131068 bytes
OMAP3 tiusbap # showvar
HUSH_VERSION=0.01
OMAP3 tiusbap # test
OMAP3 tiusbap # version
U-Boot 2010.03-dirty (Oct 18 2011 - 17:47:59)
OMAP3 tiusbap # reset
resetting ...