3 [ "Create an RTX5 Project", "cre_rtx_proj.html", [
4 [ "Additional requirements for RTX on Cortex-A", "cre_rtx_proj.html#cre_rtx_cortexa", null ],
5 [ "Using Interrupts on Cortex-M", "cre_rtx_proj.html#cre_UsingIRQs", null ],
6 [ "Add support for RTX specific functions", "cre_rtx_proj.html#cre_rtx_proj_specifics", null ],
7 [ "Add Event Recorder Visibility", "cre_rtx_proj.html#cre_rtx_proj_er", null ]
9 [ "Theory of Operation", "theory_of_operation.html", [
10 [ "System Startup", "theory_of_operation.html#SystemStartup", null ],
11 [ "Scheduler", "theory_of_operation.html#Scheduler", null ],
12 [ "Memory Allocation", "theory_of_operation.html#MemoryAllocation", [
13 [ "Global Memory Pool", "theory_of_operation.html#GlobalMemoryPool", null ],
14 [ "Object-specific Memory Pools", "theory_of_operation.html#ObjectMemoryPool", null ],
15 [ "Static Object Memory", "theory_of_operation.html#StaticObjectMemory", null ]
17 [ "Thread Stack Management", "theory_of_operation.html#ThreadStack", null ],
18 [ "Low-Power Operation", "theory_of_operation.html#lowPower", null ],
19 [ "RTX Kernel Timer Tick", "theory_of_operation.html#kernelTimer", [
20 [ "Tick-less Low-Power Operation", "theory_of_operation.html#TickLess", null ]
22 [ "RTX5 Header File", "theory_of_operation.html#rtx_os_h", null ],
23 [ "Timeout Value", "theory_of_operation.html#CMSIS_RTOS_TimeOutValue", null ],
24 [ "Calls from Interrupt Service Routines", "theory_of_operation.html#CMSIS_RTOS_ISR_Calls", null ],
25 [ "SVC Functions", "theory_of_operation.html#CMSIS_RTOS_svcFunctions", null ],
26 [ "Arm C library multi-threading protection", "theory_of_operation.html#cre_rtx_proj_clib_arm", null ]
28 [ "Configure RTX v5", "config_rtx5.html", [
29 [ "System Configuration", "config_rtx5.html#systemConfig", [
30 [ "Global Dynamic Memory size [bytes]", "config_rtx5.html#systemConfig_glob_mem", null ],
31 [ "Round-Robin Thread Switching", "config_rtx5.html#systemConfig_rr", null ],
32 [ "Safety features (Source variant only)", "config_rtx5.html#safetyConfig_safety", null ],
33 [ "ISR FIFO Queue", "config_rtx5.html#systemConfig_isr_fifo", null ],
34 [ "Object Memory Usage Counters", "config_rtx5.html#systemConfig_usage_counters", null ]
36 [ "Thread Configuration", "config_rtx5.html#threadConfig", [
37 [ "Configuration of Thread Count and Stack Space", "config_rtx5.html#threadConfig_countstack", null ],
38 [ "Stack Overflow Checking", "config_rtx5.html#threadConfig_ovfcheck", null ],
39 [ "Stack Usage Watermark", "config_rtx5.html#threadConfig_watermark", null ],
40 [ "Processor Mode for Thread Execution", "config_rtx5.html#threadConfig_procmode", null ]
42 [ "Timer Configuration", "config_rtx5.html#timerConfig", [
43 [ "Object-specific memory allocation", "config_rtx5.html#timerConfig_obj", null ],
44 [ "User Timer Thread", "config_rtx5.html#timerConfig_user", null ]
46 [ "Event Flags Configuration", "config_rtx5.html#eventFlagsConfig", [
47 [ "Object-specific memory allocation", "config_rtx5.html#eventFlagsConfig_obj", null ]
49 [ "Mutex Configuration", "config_rtx5.html#mutexConfig", [
50 [ "Object-specific Memory Allocation", "config_rtx5.html#mutexConfig_obj", null ]
52 [ "Semaphore Configuration", "config_rtx5.html#semaphoreConfig", [
53 [ "Object-specific memory allocation", "config_rtx5.html#semaphoreConfig_obj", null ]
55 [ "Memory Pool Configuration", "config_rtx5.html#memPoolConfig", [
56 [ "Object-specific memory allocation", "config_rtx5.html#memPoolConfig_obj", null ]
58 [ "Message Queue Configuration", "config_rtx5.html#msgQueueConfig", [
59 [ "Object-specific memory allocation", "config_rtx5.html#msgQueueConfig_obj", null ]
61 [ "Event Recorder Configuration", "config_rtx5.html#evtrecConfig", [
62 [ "Global Configuration", "config_rtx5.html#evtrecConfigGlobIni", null ],
63 [ "RTOS Event Generation", "config_rtx5.html#evtrecConfigEvtGen", null ],
64 [ "Manual event configuration", "config_rtx5.html#systemConfig_event_recording", null ]
67 [ "Building the RTX5 Library", "creating_RTX5_LIB.html", null ],
68 [ "Tutorial", "rtos2_tutorial.html", [
69 [ "Prerequisites", "rtos2_tutorial.html#rtos2_tutorial_pre", null ],
70 [ "First Steps with Keil RTX5", "rtos2_tutorial.html#rtos2_tutorial_first_steps", null ],
71 [ "Accessing the CMSIS-RTOS2 API", "rtos2_tutorial.html#rtos2_tutorial_access", null ],
72 [ "Threads", "rtos2_tutorial.html#rtos2_tutorial_threads", null ],
73 [ "Starting the RTOS", "rtos2_tutorial.html#rtos2_tutorial_start", [
74 [ "Exercise 1 - A First CMSIS-RTOS2 Project", "rtos2_tutorial.html#rtos2_tutorial_ex1", null ]
76 [ "Creating Threads", "rtos2_tutorial.html#rtos2_tutorial_thread_create", [
77 [ "Exercise 2 - Creating and Managing Threads", "rtos2_tutorial.html#rtos2_tutorial_ex2", null ]
79 [ "Thread Management and Priority", "rtos2_tutorial.html#rtos2_tutorial_thread_mgmt", null ],
80 [ "Memory Management", "rtos2_tutorial.html#rtos2_tutorial_ex2_mem_mgmt", [
81 [ "Exercise 3 - Memory Model", "rtos2_tutorial.html#rtos2_tutorial_ex3", null ]
83 [ "Multiple Instances", "rtos2_tutorial.html#rtos2_tutorial_multi_inst", [
84 [ "Exercise 4 - Multiple Instances", "rtos2_tutorial.html#rtos2_tutorial_multi_inst_ex4", null ]
86 [ "Joinable Threads", "rtos2_tutorial.html#rtos2_tutorial_thread_join", [
87 [ "Exercise 5 - Joinable Threads", "rtos2_tutorial.html#rtos2_tutorial_ex4", null ]
89 [ "Time Management", "rtos2_tutorial.html#rtos2_tutorial_time_mgmt", [
90 [ "Time Delay", "rtos2_tutorial.html#rtos2_tutorial_time_delay", null ],
91 [ "Absolute Time Delay", "rtos2_tutorial.html#rtos2_tutorial_abs_time_delay", null ],
92 [ "Exercise 6 - Time Management", "rtos2_tutorial.html#rtos2_tutorial_ex6", null ],
93 [ "Virtual Timers", "rtos2_tutorial.html#rtos2_tutorial_virtual_timers", null ],
94 [ "Exercise 7 - Virtual Timer", "rtos2_tutorial.html#rtos2_tutorial_ex7", null ],
95 [ "Idle Thread", "rtos2_tutorial.html#rtos2_tutorial_idle_thread", null ],
96 [ "Exercise 8 - Idle Thread", "rtos2_tutorial.html#rtos2_tutorial_ex8", null ]
98 [ "Inter-thread Communication", "rtos2_tutorial.html#rtos2_tutorial_interthread_com", [
99 [ "Thread Flags", "rtos2_tutorial.html#rtos2_tutorial_thread_flags", [
100 [ "Exercise 9 - Thread Flags", "rtos2_tutorial.html#rtos2_tutorial_ex9", null ]
102 [ "Event Flags", "rtos2_tutorial.html#rtos2_tutorial_event_flags", [
103 [ "Exercise 10 - Event Flags", "rtos2_tutorial.html#rtos2_tutorial_ex10", null ]
105 [ "Semaphores", "rtos2_tutorial.html#rtos2_tutorial_semaphores", [
106 [ "Using Semaphores", "rtos2_tutorial.html#rtos2_tutorial_sem_usage", null ],
107 [ "Signalling", "rtos2_tutorial.html#rtos2_tutorial_sem_sig", null ],
108 [ "Exercise 11 - Semaphore Signalling", "rtos2_tutorial.html#rtos2_tutorial_ex11", null ],
109 [ "Multiplex", "rtos2_tutorial.html#rtos2_tutorial_sem_multi", null ],
110 [ "Exercise 12 - Multiplex", "rtos2_tutorial.html#rtos2_tutorial_ex12", null ],
111 [ "Rendezvous", "rtos2_tutorial.html#rtos2_tutorial_sem_rend", null ],
112 [ "Exercise 13 - Rendezvous", "rtos2_tutorial.html#rtos2_tutorial_sem_rend_ex13", null ],
113 [ "Barrier Turnstile", "rtos2_tutorial.html#rtos2_tutorial_sem_barr_turn", null ],
114 [ "Exercise 14 - Semaphore Barrier", "rtos2_tutorial.html#rtos2_tutorial_ex14", null ],
115 [ "Semaphore Caveats", "rtos2_tutorial.html#rtos2_tutorial_sem_caveats", null ]
117 [ "Mutex", "rtos2_tutorial.html#rtos2_tutorial_mutex", [
118 [ "Exercise 15 - Mutex", "rtos2_tutorial.html#rtos2_tutorial_ex15", null ],
119 [ "Mutex Caveats", "rtos2_tutorial.html#rtos2_tutorial_mutex_caveats", null ]
121 [ "Data Exchange", "rtos2_tutorial.html#rtos2_tutorial_data_exchange", [
122 [ "Message Queue", "rtos2_tutorial.html#rtos2_tutorial_msg_queue", null ],
123 [ "Exercise 16 - Message Queue", "rtos2_tutorial.html#rtos2_tutorial_ex16", null ],
124 [ "Extended Message Queue", "rtos2_tutorial.html#rtos2_tutorial_ext_msg_queue", null ],
125 [ "Exercise 17 - Message Queue", "rtos2_tutorial.html#rtos2_tutorial_ex17", null ],
126 [ "Memory Pool", "rtos2_tutorial.html#rtos2_tutorial_mem_pool", null ],
127 [ "Exercise 18 - Zero Copy Mailbox", "rtos2_tutorial.html#rtos2_tutorial_ex18", null ]
130 [ "Configuration", "rtos2_tutorial.html#rtos2_tutorial_config", [
131 [ "System Configuration", "rtos2_tutorial.html#rtos2_tutorial_config_sys", null ],
132 [ "Thread Configuration", "rtos2_tutorial.html#rtos2_tutorial_config_thread", null ],
133 [ "System Timer Configuration", "rtos2_tutorial.html#rtos2_tutorial_config_sys_timer", null ]
135 [ "Conclusion", "rtos2_tutorial.html#rtos2_tutorial_conclusion", null ]
137 [ "Technical Data", "technicalData5.html", "technicalData5" ],
138 [ "MISRA C:2012 Compliance", "misraCompliance5.html", [
139 [ "[MISRA Note 1]: Return statements for parameter checking", "misraCompliance5.html#MISRA_1", null ],
140 [ "[MISRA Note 2]: Object identifiers are void pointers", "misraCompliance5.html#MISRA_2", null ],
141 [ "[MISRA Note 3]: Conversion to unified object control blocks", "misraCompliance5.html#MISRA_3", null ],
142 [ "[MISRA Note 4]: Conversion from unified object control blocks", "misraCompliance5.html#MISRA_4", null ],
143 [ "[MISRA Note 5]: Conversion to object types", "misraCompliance5.html#MISRA_5", null ],
144 [ "[MISRA Note 6]: Conversion from user provided storage", "misraCompliance5.html#MISRA_6", null ],
145 [ "[MISRA Note 7]: Check for proper pointer alignment", "misraCompliance5.html#MISRA_7", null ],
146 [ "[MISRA Note 8]: Memory allocation management", "misraCompliance5.html#MISRA_8", null ],
147 [ "[MISRA Note 9]: Pointer conversions for register access", "misraCompliance5.html#MISRA_9", null ],
148 [ "[MISRA Note 10]: SVC calls use function-like macros", "misraCompliance5.html#MISRA_10", null ],
149 [ "[MISRA Note 11]: SVC calls use assembly code", "misraCompliance5.html#MISRA_11", null ],
150 [ "[MISRA Note 12]: Usage of exclusive access instructions", "misraCompliance5.html#MISRA_12", null ],
151 [ "[MISRA Note 13]: Usage of Event Recorder", "misraCompliance5.html#MISRA_13", null ]