Skip to main content

High-performance Embedded Workshop Real-Time OS Aware Debugging, Precautions

High-performance Embedded Workshop Real-Time OS Aware Debugging

Precautions Common to All Real-Time OS's

Item Description
General Precaution
  • The task ID may not be displayed correctly, while the program is running and when tasks are generated or deleted.
Select OS Definition File Dialog Box
  • If an OS selected from the dialog box is not the OS actually used, the debugging functions do not operate correctly, and the debugger may not respond.
  • Be sure to replace "[Select] button:Selects a single OS-definition file." with "[OK] button:Selects a single OS-definition file." described in the online help.
OS Object Window
  • While this window is displayed, the real-time capability of debugging is lost because memory accesses occur. (When the RAM monitor is not used.)
  • This window may not be displayed correctly before the OS kernel initialization is completed, while the program is running and when the program stops running in the OS kernel.
  • The maximum number of lines displayable in one sheet is 1,023.
  • If the RAM monitor is being used, be sure to update this window to its latest information after settings are changed.
  • This window may not be displayed normally if there is no valid information. (For example, dynamically generated tasks, nonexistent tasks, or nonexistent messages)
  • While the RAM monitor of E20 emulator is in use in CPU-execution priority mode (real-time trace mode), if trace information is lacking (lost), the OS object window may not be displayed correctly. In this instance, "!" is displayed in the Value column of OS object window.
Task Trace Window, Task Analyze Window
  • These windows are displayed based on information of the currently executed task that is managed inside the OS kernel. Therefore, the timing with which tasks are switched or a task is executed differs with each OS.
  • Time or cycles may not be displayed depending on the debugger used.
  • While these windows are in use, the functions of other windows such as the trace or event window may not be usable. Conversely, when the functions of other windows such as the trace or event window are in use, these windows may not be usable.
  • When these windows are in use, the real-time capability of the program might be ruined. In this instance, change the setting to "realtime trace", "CPU execution", etc., on the trace window of each debugger, and secure the real-time capability. However, please note that a part of trace information might be lacking when the real-time capability is secured.
  • When the E1/E20 emulator is in use in internal trace mode, "Trace Stop" and "Trace Restart" of the pop-up menu of Task trace window cannot be used.
  • When the RAM monitor of E20 emulator is in use, the Task trace window and the Task analyze window cannot be used.
  • When E1/E20 emulator for RX family is in use, if the task switching time is overlong (more than 1048575 counts by the unit of the time stamp of the Trace window of the emulator), the time displayed in the Task trace window and Task analyze window is not displayed correctly.
OS Trace Window, OS Analyze Window
  • When E100 for R8C Family is in use, the OS trace window and the OS analyze windows cannot be used.
  • These windows may not be displayed normally if the event of OS is not occurred (the data of the trace log is not existed), recalculate the trace or the zoom in operation is repeated.
Task Execution History, Task Execution Time, Real-Time Profile
  • These items are displayed based on the currently executed task information that is managed in the OS kernel. Therefore, the timing with which tasks are switched and task execution time is displayed differs with each OS.
Memory Protection
  • The areas where detection of illegal access to the OS area applies depend on the OS.
Toolchain
  • The debugging functions may not operate correctly if toolchain build options such as the compiler or assembler differ from those specified at the time the real-time OS was provided.
Emulator Debugger
  • In the emulator debugger setting, the task ID of each window may not be displayed normally when memory access is disabled during user program execution.
E100 Emulator Debugger
  • The step execution selected from the menu "Debug -> RTOS Debug" may not stop depending on the user program.
SH-2A Microcontrollers
  • If the program stops before completing initialization of the OS kernel after CPU reset, the debugger may not respond.

Precautions Specific to Each Individual Real-Time OS

Real-Time OS Description
HI7200/MP
  • The profile ID displayed in the profile of OS object window shows the ID of each task. However, the profile ID 0 shows kernel idling, and the maximum profile ID shows whole system.
RI600/4
  • To use the task stack coverage (the task stack measurement of data coverage) or memory protection (detection of access violation at the task stack), be sure to set the task name "ID_TASKx" ('x' is a value of the task ID).
Smalight OS
  • Of the ID's displayed in each window, "255" denotes idling of the OS kernel.
ThreadX
  • The task ID shown in the debugger is an ID for internal use in the debugger, and not the ThreadX thread ID.
  • The maximum number of thread number displayable in the OS object window is 255.
NORTi
  • Of the ID's displayed in the task trace and task analyze windows, the one comprised of maximum task ID plus 1 denotes idling of the OS kernel.
osCAN
  • The task ID shown in the debugger is an ID for internal use in the debugger, and not the osCAN task ID.
  • To use the task stack coverage, be sure to select the With Stack Check check box of OIL-configurator.
uC/OS-II
  • The task ID shown in the debugger is an ID for internal use in the debugger, and not the uC/OS-II task ID. Also, the task entry address displayed in the debugger denotes the task name.
  • The debugging functions may not operate correctly if the content of the configuration file (os_cfg.h) is changed from its initial values.
  • The maximum number of tasks displayable in the OS object window is 255.
  • "Ready" message displayed in the task status of OS object window shows task ready, no task generated or task delay.
embOS
  • The task ID shown in the debugger is an ID for internal use in the debugger, and not the embOS task ID. Also, the task entry address displayed in the debugger denotes the task name.
  • The maximum number of tasks displayable in the OS object window is 255.
  • When the XR library is in use, the task name is not displayed.
CMX-RTX
  • Not supported for big-endian. Use in little-endian mode.
uT-Kernel
  • Do not alter the content of the system configuration definition file (config\config.h). Leave it as initially set.
  • The maximum number of task IDs displayable in the OS object window is 32.