Inertial Solutions™
5755 Oberlin Drive
Suite #110
San Diego, CA 92121
858-206-7854

Firmware...

The firmware is stored on EPROM.  It contains the Inertial Solutions Real-time Operating System, Input/Output drivers, applications, and Motorola’s CPU32BUG Monitor program (resident but idle) Link to Downloads - Application Notes page.

Inertial Solutions firmware is written in ‘C’ and in assembly language.  The customer is provided with a set of Applications Program Interfaces (API’s) to all peripherals (Firmware.pdf 15k).  The API specifies the Introl compiler convention of returning values and pointers in Data Registers D0, D1 and Addr Registers A0, A1.

The Operating System (OS) has 7 preemptive tasks.  From high to low priority execution intervals of, 1/64th sec, 1/32nd sec, 1/16th sec, 1/8th sec, 1/4th sec, ˝ sec, 1 sec.   The function list executed by each task is changed as required.

On completing the preemptive task chain, the OS loops through an additional 4 low priority tasks, thus consuming all remaining CPU cycles on less time critical work (if all are idle, then busily looking for work to do).

The OS is driven by the 1 msec Periodic Interval Timer (PIT) interrupt.  Likewise, most input/output occurs in the PIT interrupt.  For example, all 8 channels of the Analog-to-Digital Converter are input, and most serial FIFO input/output filling and emptying occurs in the PIT interrupt.

In addition to the ubiquitous MC68XXX architecture, the imbedded Time Processing Unit (TPU) is a key reason for selection of the MC68332 CPU family member.  One of the 16 TPU channels is used for monitoring the performance of OS tasks and PIT execution times (1 usec resolution).

The on-chip UART of the MC68332 is used during firmware development for code upload and test.  Code executes in RAM during development, then is re-linked to the EPROM address map when ready for final testing.

A set of keyboard commands and Televideo 910 (or VT-100) text displays are part of the Inertial Solutions firmware.  These text screens are useful when testing firmware or when working with the many sensors of the Sensor Interface Card.  One of the keyboard commands invokes an exit to the resident but idle Motorola CPU32BUG monitor, thus providing a sometimes useful independent means of observation.

The computer program is stored in two EPROM’s that provide 256 Kbytes of permanent storage.  100 Kbytes is presently used by Inertial Solutions firmware, 64 Kbytes by Motorola’s Monitor program (CPU32BUG), thus leaving 92 Kbytes uncommitted. (EPROM is expandable to 512 Kbytes - 320Kbytes uncommitted).

RAM capacity is 512 Kbytes of which 420 Kbytes is uncommitted.

Firmware License.pdf (15k)
 

Inertial Solutions firmware is produced using the Introl "C" compiler and assembler  www.introl.com