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))