DMON OCEOS Support
DMON OCEOS Support
DMON OCEOS Support is available from DMON v2.1.0.1
All available commands to support OCEOS can be displayed by issuing :
DMON > help oceos
DMON Commands
oceos info
oceos info command displays OCEOS configurations. DMON finds symbol sysMetaPtr and reads all the fields and displays every struct members with location in memory and its values.
Please read article on getting started with OCEOS.
This command can be used only after the scheduling was started. On the page above we talk about three areas that application hast to set up : LOG_DATA_ARRAY_SIZE_U32S, FIXED_DATA_ARRAY_SIZE_U32S and DYN_DATA_ARRAY_SIZE_U32S. User has to calculate those areas and that depends on application needs. To simplify, we provide Excel document which can be used to give all the sizes, or user can put those sizes bigger as needed and use oceoos info command to display actual sizes.
Each of those areas is guarded by sentinel, so oceos info command checks the sentinels are still in place and not overridden.
DMON > oceos info
Struct Field Name : *system_log_ptr :: location 0x40016444 :: pointer 0x4001A0E0 :: size 0x109 :: sentinel OK Struct Field Name : *data_fixed_ptr :: location 0x40016448 :: pointer 0x4001643C :: size 0x59 :: sentinel OK Struct Field Name : *data_dynamic_ptr :: location 0x4001644C :: pointer 0x400180E0 :: size 0x258 :: sentinel OK Struct Field Name : *system_stack_ptr :: location 0x40016450 :: pointer 0x0 Struct Field Name : *system_stack_limit_ptr :: location 0x40016454 :: pointer 0x0 Struct Field Name : *logFullFunction :: location 0x40016458 :: pointer 0x40000458 Struct Field Name : *systemProblemFunction :: location 0x4001645C :: pointer 0x40000440 Struct Field Name : numberOfTasks :: location 0x40016460 :: value 0x8 Struct Field Name : numberOfMutexes :: location 0x40016460 :: value 0x1 Struct Field Name : number_of_semaphores :: location 0x40016460 :: value 0x1 Struct Field Name : number_of_dataqs :: location 0x40016460 :: value 0x1 Struct Field Name : timed_actions_number :: location 0x40016464 :: value 0x16 Struct Field Name : user_traps_number :: location 0x40016464 :: value 0x0 Struct Field Name : watchdog_window :: location 0x40016464 :: value 0x0 Struct Field Name : watchdog_timeout :: location 0x40016468 :: value 0x0 Struct Field Name : totalReadyQ :: location 0x4001646C :: value 0x11 Struct Field Name : action_time_interrupt :: location 0x4001646C :: value 0xE Struct Field Name : :: location 0x4001646C :: value 0x2E Struct Field Name : logEntries :: location 0x4001646C :: value 0x40 Struct Field Name : totalJobs :: location 0x40016470 :: value 0x3E Struct Field Name : logCreated :: location 0x40016470 :: value 0x1 Struct Field Name : init_start_set_up :: location 0x40016470 :: value 0x1 Struct Field Name : init_finished :: location 0x40016470 :: value 0x1 Struct Field Name : interrupt_nesting_enabled :: location 0x40016470 :: value 0x1 Struct Field Name : total_sem_pending_jobs :: location 0x40016470 :: value 0x10 Struct Field Name : total_dataQ_pending_jobs :: location 0x40016474 :: value 0x6 Struct Field Name : total_dataQ_entries :: location 0x40016474 :: value 0xA Struct Field Name : :: location 0x40016478 :: value 0x1 Struct Field Name : watchdog_timer_index :: location 0x40016478 :: value 0x0 Struct Field Name : sys_time_timer_index :: location 0x40016478 :: value 0x2 Struct Field Name : timed_actions_timer_index :: location 0x40016478 :: value 0x3 Struct Field Name : CS_log_entries_base2 :: location 0x40016478 :: value 0x5 Struct Field Name : :: location 0x40016478 :: value 0xBABE Struct Field Name : *tasksFixedPtr :: location 0x4001647C :: pointer 0x400164CC Struct Field Name : *mutexCeilingsPtr :: location 0x40016480 :: pointer 0x4001658C Struct Field Name : *sem_fixed_data_ptr :: location 0x40016484 :: pointer 0x40016590 Struct Field Name : *dataq_fixed_data_ptr :: location 0x40016488 :: pointer 0x40016594 Struct Field Name : *trap_ID_ptr :: location 0x4001648C :: pointer 0x40016598 Struct Field Name : *trap_handler_ptr :: location 0x40016490 :: pointer 0x40016598 Struct Field Name : *fixed_data_checksum_ptr :: location 0x40016494 :: pointer 0x40016598 Struct Field Name : *dynamic_meta_ptr :: location 0x40016498 :: pointer 0x400180E8 Struct Field Name : *priorityStackPtr :: location 0x4001649C :: pointer 0x400180EC Struct Field Name : *taskDynamicPtr :: location 0x400164A0 :: pointer 0x400180F8 Struct Field Name : *jobsArrayPtr :: location 0x400164A4 :: pointer 0x40018278 Struct Field Name : *readyQPtr :: location 0x400164A8 :: pointer 0x400189F8 Struct Field Name : *mutexDynamicPtr :: location 0x400164AC :: pointer 0x40018658 Struct Field Name : *semaphore_list_ptr :: location 0x400164B0 :: pointer 0x4001865C Struct Field Name : *semaphore_pen_q_array_ptr :: location 0x400164B4 :: pointer 0x40018664 Struct Field Name : *dataq_list_ptr :: location 0x400164B8 :: pointer 0x40018684 Struct Field Name : *dataq_pen_q_array_ptr :: location 0x400164BC :: pointer 0x40018694 Struct Field Name : *dataq_data_aray_ptr :: location 0x400164C0 :: pointer 0x400186A0 Struct Field Name : *timed_action_ptr :: location 0x400164C4 :: pointer 0x400186C8 Struct Field Name : *timed_q_ptr :: location 0x400164C8 :: pointer 0x400189E0
oceos log <last|all>
'oceos log' reads and displays system log messages to the console. If third flag is not set, defaults to 'oceos log last'. This command also checks if log sentinel is ok.
'oceos log last' prints last system log message
DMON > oceos log
Struct Field Name : *system_log_ptr :: location 0x4001009C :: pointer 0x4001063C :: size 0xA9 :: sentinel OK OCEOS log entry : index :: 4 | time32 :: 5612887 | type :: null | comment :: 0xCAF1
'oceos log all' prints all system log messages in descending order.
DMON > oceos log all
Struct Field Name : *system_log_ptr :: location 0x4001009C :: pointer 0x4001063C :: size 0xA9 :: sentinel OK OCEOS log entries : index :: 4 | time32 :: 5612887 | type :: null | comment :: 0xCAF1 index :: 3 | time32 :: 4907821 | type :: LOG_DEADLINE_MISSED | comment :: 0x1 index :: 2 | time32 :: 4872548 | type :: LOG_SYS_OK | comment :: 0xCAFE index :: 1 | time32 :: 823837 | type :: null | comment :: 0xCAF1 index :: 0 | time32 :: 823736 | type :: LOG_SYS_OK | comment :: 0xCAFE index :: 15 | time32 :: 0 | type :: null | comment :: 0x0 index :: 14 | time32 :: 0 | type :: null | comment :: 0x0 index :: 13 | time32 :: 0 | type :: null | comment :: 0x0 index :: 12 | time32 :: 0 | type :: null | comment :: 0x0 index :: 11 | time32 :: 0 | type :: null | comment :: 0x0 index :: 10 | time32 :: 0 | type :: null | comment :: 0x0 index :: 9 | time32 :: 0 | type :: null | comment :: 0x0 index :: 8 | time32 :: 0 | type :: null | comment :: 0x0 index :: 7 | time32 :: 0 | type :: null | comment :: 0x0 index :: 6 | time32 :: 0 | type :: null | comment :: 0x0 index :: 5 | time32 :: 0 | type :: null | comment :: 0x0