Operating System

From Hackspire
Jump to navigation Jump to search

This article currently contains notes and ideas jotted down, but may be splitted and reorganized in the future as knowledge becomes more structured and comprehensive.

Booting

Booting happens when:

  • a battery is removed and put back after a few seconds
  • after a crash of the TI-Nspire OS
  • when the keypad is changed
  • after an OS update
  • after the maintenance menu (see below)

There is no backup battery as we can find on previous calculator models, so removing at least one AA battery for a few seconds make the RAM lose its content. In TI-Nspire mode removing, and putting back the same keypad doesn't make it boot. In TI-84 Plus mode, removing the keypad automatically stores the RAM image to the flash memory (we can see it process for one second in TI-84 Plus mode when removing the keypad while the calculator is still on). If the TI-84 Plus keypad is put back within a few seconds, the TI-84 Plus will immediately start as after a shutdown. If the keypad is removed for more than a few seconds, the TI-Nspire OS will boot, and the RAM and archive memory of the TI-84 Plus will be restored at its last state. It seems that the exception handler of the TI-Nspire OS systematically forces a reboot: you won't see anything like illegal instruction in a black bar on the screen as there is on TI-68k.

In TI-Nspire mode, the About screen indicates two boots, boot 1 in version 1.1.8916 and boot 2 in version 1.8981. The versions are the same for TI-Nspire CAS. Whether booting in TI-Nspire mode or in TI-84 Plus mode, a progress bar is displayed. At half-way, the screen flashes as if it was reinitialized, then the progress bar continue to be filled up and 2 messages are displayed sequencially: "Preparing file system, please wait..." and "Loading Operating System...". The supposed memory setup during boot up is described in Memory layout. We expect "boot 1" to be what is run during the first half of the progress bar, and "boot 2" during the second half. The boot code exists even without OS, and seems to use 4224KB of storage capacity on a TI-Nspire (see further).

Startup key combinations

The boot 1 and boot 2 both accept key combos as startup options. When the TI-Nspire is ready to boot (for example after a battery has been removed and reinstalled), it can be turned on by holding the following keys while pressing ON (making sure ON is the last key pressed):

Clickpad TI-84+ Keypad Touchpad
Boot 1: Home+Enter+B Graph+Enter+Apps Doc+Enter+2 waits for a boot 2 image to be downloaded through RS232
Home+Enter+G Graph+Enter+Tan Doc+Enter+Minus waits for a diagnostic image to be downloaded through RS232 (Warning: This will erase the current diagnostic image first!)
Esc+Menu+G y=+Clear+Tan Esc+Menu+Minus toggle diagnostics - if boot data is configured to try to run diagnostics first, this will skip them, and vice versa.
Boot 2: Home+Enter+X (not possible) Doc+Enter+?! waits for a test image to be downloaded through RS232
Home+Enter+P Graph+Enter+8 Doc+Enter+EE brings up the maintenance menu. It allows to remove and flash an OS image, delete the document folder contents, or do a complete format. To delete documents on a Touchpad, T must be pressed instead of 2.

Upgrading the boot 2

The boot 2 can be upgraded:

  • During an OS upgrade, if a boot2.img is present in the OS upgrade file (see OS upgrade files)
  • Through RS232, with the X-Modem protocol, by sending the file boot2.img.

The boot image is not check before being written to flash memory but checked after reboot. The signature of the file prevents corrupted or modified boot images from being sent.

A boot 2 image greater than 1358976 bytes (~1327kB, i.e. 10617 128-bit X-Modem packets) cannot be sent: the warning sign is displayed on the Nspire screen, and lsz hangs with "Got 44 for sector ACK". The size of boot2.img v1.4.1571 is 1216KB. (caution, this also could be the result of a streamed image validation by boot 1).

Third-party components

The About screen reports that the following third-party components are integrated to the TI-Nspire OS:

  • Graph & Geometry developed in conjunction with Cabrilog SAS
  • "Data & Statistics" design and developed in conjunction with KCP Technologies
  • Portions of the software are based on Fathom(TM) Dynamic Data and copyright ©2007 KCP Technologies.
  • Nucleus Real-Time Operating System by Mentor Graphics Corp.. Note that the source code of the OS is provided to licensees, so it could have been customized by Texas Instruments. Nucleus RTOS is also a modular OS, it is currently not clear which modules are included.
  • The "Flash Media Manager" FlashFX Pro and the "High-Integrity Transactional File System" Reliance by Datalight Inc. (both compatible with Nucleus RTOS), for a fault-tolerant file system, presented in this success story. Only the NAND flash memory of the TI-Nspire is supported by FlashFX, and not the NOR memory.
  • The compression library zlib
  • The XML parser eXpat
  • The OpenSSL library

Weblinks

TI-Nspire OS Archive almost all OS releases