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)
|