summaryrefslogtreecommitdiff
path: root/tool/mbed/mbed-sdk/libraries/doc/rtos.txt
blob: 2afdc6a519189bcbccbd810bb0509406d1862e48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
=== Tasks ===

^ os_tsk.new->task_id  ^ Tasks ^ Stack Size       ^
| 0x01                 | Main  | 4*OS_MAINSTKSIZE |
| 0x02                 | Timer | 4*OS_TIMERSTKSZ  |
| 0xFF                 | Idle  | 4*OS_STKSIZE     |

----------
    |     
    V     os_tsk.run->tsk_stack
          
          
MAGIC_WORD  os_tsk.run->stack[0]
----------

The current task structure is always pointed by:
    struct OS_TSK os_tsk;

=== Init Sequence ===
OS:
  * osKernelInitialize
    * rt_sys_init
      * rt_init_context
        * rt_init_stack
      * rt_set_PSP
      * rt_init_robin
      * rt_svc_init
  
  * set_main_stack
  
  * osThreadCreate(os_thread_def_main)
    * rt_tsk_create
      * rt_init_context
        * rt_init_stack
      * rt_dispatch
  
  * osKernelStart