GSFC/NGIMS-FSW-024 NGIMS FSW Release Description for v3.3.24, "Copy-Table Boot" Upgrade August 28, 2001 This document describes the current FSW build with the following modifications over the previous release: a) WR-081 - Mid Encounter reboot (aka "Autostart") -- processing removed, pending requirements review thereof; b) WR-083 - Alt Boot requirements change: EEPROM Copy-Table Boot (ECTB) method, for booting from a compressed load image uploaded to FC EEPROM. - A related tool, Log2CTB.exe, was generated to compress a 64k FSW dump/log file, converting it to either a SCSIM or NEGSE script; c) In implementing Copy-table Boot, new HW error checks & associated reporting in TM were added -- e.g., RAM test results, 1750 Built-in Test, erroneous instruction counter. etc. PLEASE NOTE: All the enhancements that were in v3.2.07 (other than Autostart) remain for this version, and calibrators/users are urged to exercise, utilize and test each of the v3.2.07 features in daily instrument use. Please read previous release notes document. As usual, users are urged to read related documents at the FSW web site (online.to/contour/FSW_Docs): GSFC/NGIMS-FSW-05, Contour/NGIMS Commanding GSFC/NGIMS-FSW-06, Contour/NGIMS Telemetry GSFC/NGIMS-FSW-11, Contour/NGIMS Software Requirements Document GSFC/NGIMS-FSW-15, Contour/NGIMS Control Tables for Dummies. GSFC/NGIMS-FSW-20, Contour/NGIMS EEPROM ICD The current release was tested and incrementally improved, primarily by burning new firmware chips and testing FSW reboot processing in both what will be termed the "new nominal" (Copy-table Boot) mode, and what we should now consider to be essentially a backup (PROM boot) mode. The test method was as follows: 1. A different version of the NGIMS FSW ("special" v3.3.18) was made, which has visibly different behavior (in TM and breadboard LED readouts); this version was fed into the Log2CTB.exe tool, and the output of the tool was used via the SCSIM to upload the compressed v3.3.18 into EEPROM on the FC breadboard. 2. Flight firmware, with working Copy-table Boot method was run & rebooted both via Power-Off/On, and via reboot telecommands, and with various "ECT-Boot" parameters set as follows: - ECTB Load Counter within range, & out of range (see below); - ECTB Version# within range, & out of range (see below). The test results under these scenarios show that, for this version: - The encounter "autostart" mod was indeed removed; - ECTB load does not occur when it is not desired to occur (based upon setting EEPROM values); - ECTB load does occur when EEPROM properly set up; - A totally bad/accidental ECTB load to EEPROM, which may indeed have valid values (Version# & Load Counter) and which (being erroneous) could otherwise cripple instrument operation, is a recoverable condition with this method -- because when it is discovered that the load was bad, the instrument can be rebooted a number of times and the Load Counter counts down until PROM FSW eventually ignores any "valid" CTB load, and loads instead from as-launched PROM (which can subsequently operate rationally to correct any bay EPROM load). Applicable mods to the EEPROM map regarding ECTB were documented in the ICD (FSW document #20), and are also shown below. Note that the FSW for this version will load as usual from PROM, with no surprises unless very special action is taken to set the EEPROM addresses to certain "ECTB" values (as documented herein) -- in which case an EEPROM ("ECTB") boot will be attempted (and the program will just hang). In other words, it is extremely unlikely that you, the user, have been able to somehow accidentally load your EEPROM with a valid & harmful ECTB image plus valid ECTB load parameters. DON'T PANIC Yet if we ever do manage to unintentionally load EEPROM with a bad FSW image, and with valid "ECTB" load flags (version, checksum Load Counter), you are only screwed for a few minutes -- a few reboots (up to 14 times max), until the "Load Counter" expires (if not refreshed by ground TC), at which time the FSW will ignore the ECTB image and will be loaded from the 'backup' (and safe) PROM instead of the EEPROM. NEW EEPROM MAP FOR ECTBoot: AMB-35 2F00 ECTBoot Version# -- must be between 3205h & 4409h for ECTBoot to occur, plus ECTBoot Load Counter must be in range. 1 AMB-36 2F01 ECTBoot Checksum, computed & stored by Log2CTB program (not yet used by FSW v3.3xx) 1 AMB-37 2F02 Patch "FAT" (in "Copytable" format) <256 required for load image; 5*256 added for up to 256 patches. 256 + 1280 =1536 AMB-38 3502 Load Image (in "Copytable" format) to ~E100 <44000 AMB-39 ~E100 Patch data area - start addr depends on NGIMS load image ~3840 AMB-40 F000 spares 1088 - - - - AMB-42 FFFC AMB Load Flag: must set to AB12h to cause FSW to do TableUpdate on boot 1 AMB-43 FFFD ECTBoot Load Counter: decrements on each reboot/power cycle. Value LE 1 or GE 16 means do not decrement, and do not do ECTBoot. 1 New status bits are in ESW 13 - SC Mode and Instrument Config: Bit Signal Name Description MSB 0 vSCM Set means Encounter - used for AutoStart processing 4 vTablesCopied Set means an EEPROM Tablecopy Boot was performed 5 vTablesUpdated {TableUpdate} (AMB transfer from EEPROM to RAM) was performed