static char thread1_stack[1024];
struct rt_thread thread1;
rtthread_startup
rt_application_init
rt_system_scheduler_start
rt_thread_init(&thread1,
"led1",
rt_thread_entry1,
RT_NULL,
&thread1_stack[0],
sizeof(thread1_stack),11,5);
rt_thread_startup(&thread1);
整體來說,佈局的話,和ucos 一樣
flash
.code .ro-data
ram
.data .bss .heap TCB(應用程序)
.stack(內核) .stack(應用程序1) .stack(應用程序2) ...
---------------------------和裸機內存的佈局有什麼不同
1.大體相同(都是 .code .ro-data .data .bss .heap .stack)
2.只不過.data被內核用了一部分(用於TCB的管理)
3.stack被分成了很多份(內核一份(內核的stack在.stack),每個應用程序一份(用戶的stack在.data))