RTEMS 6.1-rc1
Macros | Functions | Variables
mon-monitor.c File Reference

RTEMS monitor main body. More...

#include <rtems.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <rtems/monitor.h>

Macros

#define RTEMS_MONITOR_POSIX_NEXT   19
 
#define RTEMS_MONITOR_DEBUGGER_NEXT   (RTEMS_MONITOR_POSIX_NEXT + 1)
 

Functions

rtems_status_code rtems_monitor_suspend (rtems_interval timeout)
 
void __attribute__ ((weak))
 Zynq UltraScale+ MPSoC specific set up of a management console. More...
 
void rtems_monitor_wakeup (void)
 
void rtems_monitor_debugger_cmd (int argc RTEMS_UNUSED, char **argv RTEMS_UNUSED, const rtems_monitor_command_arg_t *command_arg RTEMS_UNUSED, bool verbose RTEMS_UNUSED)
 
void rtems_monitor_pause_cmd (int argc, char **argv, const rtems_monitor_command_arg_t *command_arg RTEMS_UNUSED, bool verbose RTEMS_UNUSED)
 
void rtems_monitor_fatal_cmd (int argc, char **argv, const rtems_monitor_command_arg_t *command_arg, bool verbose RTEMS_UNUSED)
 
void rtems_monitor_continue_cmd (int argc RTEMS_UNUSED, char **argv RTEMS_UNUSED, const rtems_monitor_command_arg_t *command_arg RTEMS_UNUSED, bool verbose RTEMS_UNUSED)
 
void rtems_monitor_symbols_loadup (void)
 
int rtems_monitor_insert_cmd (rtems_monitor_command_entry_t *command)
 
void rtems_monitor_command_iterate (rtems_monitor_per_command_routine routine, void *arg)
 Iterates through all registerd commands. More...
 

Variables

rtems_id rtems_monitor_task_id
 
uint32_t rtems_monitor_node
 
uint32_t rtems_monitor_default_node
 
rtems_symbol_table_trtems_monitor_symbols
 

Detailed Description

RTEMS monitor main body.

TODO: add stuff to RTEMS api rtems_get_name(id) rtems_get_type(id) rtems_build_id(node, type, num) Add a command to dump out info about an arbitrary id when types are added to id's rtems> id idnum idnum: node n, object: whatever, id: whatever allow id's to be specified as n:t:id, where 'n:t' is optional should have a separate monitor FILE stream (ala the debugger) remote request/response stuff should be cleaned up maybe we can use real rpc?? 'info' command to print out: interrupt stack location, direction and size floating point config stuff interrupt config stuff

Function Documentation

◆ rtems_monitor_command_iterate()

void rtems_monitor_command_iterate ( rtems_monitor_per_command_routine  routine,
void *  arg 
)

Iterates through all registerd commands.

For each command the interation routine routine is called with the command entry and the user provided argument arg. It is guaranteed that the command name and function are not NULL.