
174 Index
software (continued)
optimizing code, 139–148
platforms, 11
(see also operating systems)
software interrupt, 162
SRAM, 58, 161
testing (example), 72–74
stack, 162
stack frame, 162
stack size reductions, 145
standard library routines, 144
startup code, 23–24, 28, 56, 162
hardware initialization and, 54
startup.asm file, 24, 28
startup.obj file, 28
states of operating system tasks, 103
status registers, 84–86
strings, printing (example), 130–131
structures overlaying registers, 87
switch statement, 140
symbol tables, 23
symbols, unresolved, 23–25
synchronization, 114–119
T
table lookups, 140
target, 162
Target188EB board (see Arcom board)
Task class, 103
TaskList class, 106
tasks, 101–106, 162
ADEOS (example), 103–104
context switches, 113–114, 122
deadlock, 120
priority inversion, 120
scheduler, 104, 106–113
states of, 103
synchronization, 114–119
task control blocks, 103
tasm (Borland’s Turbo Assembler), 28
tcrom locator, 29
tdr command, 35
testing memory, 61–74
common problems, 63–65
example of, 72–74
test strategy, 65–74
text, printing (example), 130–131
thread, 162
Timer class (example), 89–91, 127
Blinking LED with, 97–99
Timer driver (example), 89–99
TimerCounter data structure (example), 87
tlink command, 28
tload utility, 34
tracepoint, 163
tracing, real-time, 36
tracking hardware/driver state, 88
trap, 163
troubleshooting
deadlock and priority inversion, 120
hardware, 54
memory testing, 61–74
common problems, 63–65
example ...