Real Time Kernel Awareness
Inspecting Kernel Data Structures
189
Microcontrollers Debugger Manual
Inspecting Kernel Data Structures
To allow the debugger to display the data structures of the operating system, the
corresponding symbol information has to be available. This is the case when using SOOM
System/REM. When another kernel is used its source code must to be available and must
be compiled. However, if only the object code is available, the needed symbol information
can be generated in the following way:
• The kernel data structures of interest must be described using ANSI-C language, as
shown in
Listing 5.2
.
Listing 5.2 Kernel Data Structure Description
typedef struct PD {
int status;
struct PD *next;
long regs[6];
} PD;
This is an example of the definition of a simple task descriptor.
• Variables can be collected in a structure and must be assigned to a segment (for
example,
OS_DATA
shown in
Listing 5.3
).
Listing 5.3 OS_DATA Structure
#pragma DATA_SEG OS_DATA
struct {
PD *readyList; /* list of tasks ready to be executed */
char filler[6]; /* unimportant variables */
int processes; /* total number of tasks */
PD processes[10]; /* the 10 possible tasks */
} OS_DATA;
Define this structure so that it fits the same layout as the operating system. It might be
necessary to introduce filler variables to get the correct alignment.
The linker must place this segment to the correct address by using the PRM file shown in
Listing 5.4
:
Listing 5.4 Linker PRM File
NAMES ... rtk.o+ ... END
SECTIONS
...
RTK_SEC = NO_INIT 0x1040 TO 0x1F80;
...
Summary of Contents for Microcontrollers
Page 1: ...Microcontrollers Debugger Manual Revised 22 October 2007 ...
Page 20: ...Table of Contents 20 Microcontrollers Debugger Manual ...
Page 24: ...Book I Contents 24 Microcontrollers Debugger Manual ...
Page 60: ...Debugger Interface Highlights of the User Interface 60 Microcontrollers Debugger Manual ...
Page 156: ...Debugger Components Visualization Utilities 156 Microcontrollers Debugger Manual ...
Page 198: ...Real Time Kernel Awareness OSEK Kernel Awareness 198 Microcontrollers Debugger Manual ...
Page 236: ...Synchronized Debugging Through DA C IDE Troubleshooting 236 Microcontrollers Debugger Manual ...
Page 238: ...Book II Contents 238 Microcontrollers Debugger Manual ...
Page 332: ...HC08 Full Chip Simulation Configuration Procedure 332 Microcontrollers Debugger Manual ...
Page 348: ...MON08 Interface Connection Device Class Description 348 Microcontrollers Debugger Manual ...
Page 364: ...ICS MON08 Interface Connection Device Class Description 364 Microcontrollers Debugger Manual ...
Page 428: ...HC08 FSICEBASE Emulator Bus State Analyzer BSA 428 Microcontrollers Debugger Manual ...
Page 430: ...Book III Contents 430 Microcontrollers Debugger Manual ...
Page 466: ...HCS08 Full Chip Simulation Peripheral Modules Commands 466 Microcontrollers Debugger Manual ...
Page 544: ...HCS08 On Chip DBG Module HCS08 DBG V3 New Features 544 Microcontrollers Debugger Manual ...
Page 546: ...Book IV Contents 546 Microcontrollers Debugger Manual ...
Page 576: ...Book V Contents 576 Microcontrollers Debugger Manual ...
Page 698: ...Book VI Contents 698 Microcontrollers Debugger Manual ...
Page 714: ...Flash Programming NVMC Commands 714 Microcontrollers Debugger Manual ...
Page 730: ...Book VII Contents 730 Microcontrollers Debugger Manual ...
Page 840: ...Book VIII Contents 840 Microcontrollers Debugger Manual ...
Page 864: ...Book IX Contents 864 Microcontrollers Debugger Manual ...
Page 868: ...Legacy Target Interfaces Removed 868 Microcontrollers Debugger Manual ...