Alors j'ai testé sur l'émulateur de Goplat. J'ai juste changé dans le boot2 la valeur du registre r0 au passage de :
0x1180120C CMP R0, #0
0x11801210 BNE is_dev_unit
Voici ce que l'on obtient :
Lorsque aucun OS n'est installé on obtient ce log:
Boot Loader Stage 2 (1.4.1571)
Build: 2008/2/19, 23:19:10
Copyright (c) 2006, 2007, 2008 Texas Instruments Incorporated
Using production 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.
FFX: BBM Format found 0 bad blocks (IOError=0 Factory=0 Marked=0 Leg
FlashFX: Formatting... One moment please
100%
FlashFX: Format complete, Status=0x00000000
relFs_Format v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Writing file system...100
Block size: 512
Total blocks: 57088
Used blocks: 63
Free blocks: 57025
Filesystem ready.
Purging temporary files...
Configuring as a developer unit.
Loading Operating System...
Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]
Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...Warning at PC=1184C4F8: Null pointer ac
0000008)
Done.
Setting Console Log Level = 0
NavNet Ready.
USB Download is enabled.
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
Loading OS from CAS1.7.tnc
File transfer complete. Saving pre-load file.
File saved. Installing new Operating System...
TI_OS_INSTALL_PRECHECK (5)
TI_OS_INSTALL_VERIFYING_IMAGE (10)
IMAGE: verifying file "/tmp/TI-Nspire.tnc"
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (11)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (13)
TI_OS_INSTALL_INSTALLING_RESOURCES (15)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (17)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (19)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (21)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (23)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (25)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (27)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (29)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (31)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (33)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (35)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (37)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (39)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (41)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (43)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (45)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (47)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (49)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (51)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (53)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (55)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (57)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (59)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (61)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (63)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (65)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (67)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (69)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (71)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (73)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (75)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (77)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (79)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (81)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (83)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (85)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (87)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (89)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (91)
TI_OS_INSTALL_VERIFYING_IMAGE incremental update (93)
IMAGE: isImageBodyValid = false
TI_OS_INSTALL_VERIFYING_RESOURCE (95)
Deleting file [/tmp/TI-Nspire.tnc]
TI_OS_INSTALL_FAILED
TI_OS_INSTALL_IMAGE_INVALID
Lorsqu'un OS est déjà installé :
Boot Loader Stage 2 (1.4.1571)
Build: 2008/2/19, 23:19:10
Copyright (c) 2006, 2007, 2008 Texas Instruments Incorporated
Using production 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...
Configuring as a developer unit.
Loading Operating System...
98%Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/install/TI-Nspire.tnc]
Deleting file [/phoenix/components]
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]
Deleting file [/phoenix/ques/locales/en/icons.res]
Deleting file [/phoenix/ques/locales/en/strings.res]
...
Pour l'histoire de l'image pre-installée:
Encore une fois la bidouille est faite sur emulateur en faisant passer le registre r0 à la valeur 1 avant l'appel de 'factoryImageFound'.
Voici le log en question:
Boot Loader Stage 2 (1.4.1571)
Build: 2008/2/19, 23:19:10
Copyright (c) 2006, 2007, 2008 Texas Instruments Incorporated
Using production keys
Clocks: CPU = 90MHz AHB = 45MHz APB = 22MHz
Checking for NAND: NAND Flash ID: ST Micro NAND256R3A
Initializing graphics subsystem.
Boot option: Normal
Found a pre-installed Phoenix image.
Waiting for load instructions.
Copying pre-installed image into RAM.
Erasing pre-installed image from filesystem area.
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.
FFX: BBM Format found 0 bad blocks (IOError=0 Factory=0 Marked=0 Legacy=0)
FlashFX: Formatting... One moment please
100%
FlashFX: Format complete, Status=0x00000000
relFs_Format v2.10.1150
Copyright (c) 2003-2006 Datalight, Inc.
Writing file system...100
Block size: 512
Total blocks: 57088
Used blocks: 63
Free blocks: 57025
Copying pre-installed image from RAM into filesystem.
Filesystem ready.
Purging temporary files...
Loading Operating System...
Error loading OS image. Removing OS remnants.
Deleting file [/phoenix/manuf.dat]
Removing directory [/phoenix/install/]
Waiting for OS download.
Starting Connectivity services.
Initializing USB subsystem...
Done.
Setting Console Log Level = 0
NavNet Ready.
USB Download is enabled.
Press <Enter> to download through the serial port.
EDIT 1: Juste après l'appel à 'Preparing File System' il y a gestion d'une combinaison clavier (0x04, 0x06, 0xFF) or je ne sais pas à quelles touches elle correspond !
Concernant la combinaison Home+Ctrl+X (test image) il s'agit de la suite : 0x06, 0x03, 0x00.
Je compléterais ce post pour répondre à ta question...