On-line demos
Project manager
Editors
Debugger
White paper
Brochure
bracketRTDS
blank
bandeau3

SDL-RT debugger


Code generation

Code generation is available for the whole SDL-RT system or for a sub-part of it such as a block or a task. SDL-RT concepts are translated to ANSI C code and embedded C code is copied as written in the design to the generated files. That makes a legible generated C code for the whole system. A makefile is generated that includes all the other concerned files gathered in the Project manager including C source and header files. External object files can also be linked to the final executable. Code generation profiles are available making the switch from debug on host to final downloadable target executable a click away. Supported RTOS are:

The generated code is fully documented and any proprietary RTOS or scheduler can be integrated.



Supported C debuggers and cross debuggers

Simulation or debug on target can be done at SDL-RT graphical level or in the very legible generated source code. To do so Real Time Developer Studio relies on native and cross C debuggers such as:



SDL-RT code coverage

At any time during a debug session it is now possible to view graphically the SDL-RT code coverage at all architecture level. You can see how many times a transition has been fired, how many times a state has been reached, and how many times a symbol has been executed.

Checker



Automatic conformance checking

MSC specifications can be automatically translated in an SDL-RT test process to check the system is conform to the requirements.

MSC2SDL

Debugger GUI

To offer graphical debugging, the tool uses a C debugging environment in the background. RTOS system calls are already integrated in the generated code and to start the SDL-RT debugger is as simple as a mouse click. The SDL-RT debugger displays key internal information such as :

  • List of tasks with their priority, message queue address, number of messages in the message queue, internal SDL-RT state, RTOS task state,
  • List of active timers with time left and name of the task that started it,
  • List of semaphores with their state and list of blocked tasks,
  • Watch window to follow global variables evolution,
  • Local variables in the current stack frame automatically updated when stepping,
  • Shell providing text trace of SDL-RT key events and direct access to gdb.

SDL-RT debugger
SDL-RT debugger GUI

In addition to these basic features the SDL-RT debugger provides an MSC trace of execution, as well as three levels of stepping through the code:
  • Step from an SDL-RT key event to another SDL-RT key event such as:
    • Sending a message
    • Receiving a message
    • Changing state
    • Taking or releasing a semaphore
    • Creating a new task
    • Manipulating a timer
  • Step graphically in the SDL-RT diagrams
  • Step in the generated C code

It is possible to step graphically or in the very legible generated C code and to switch from one representation to the other:

SDL 2 C switch

A live MSC trace can be generated to visually monitor the system under test:

MSC trace