关于ucos的任务栈和stm32启动文件的栈

2019-07-21 04:22发布

在启动文件中
Stack_Size      EQU     0x00000c00
堆设置如下
Heap_Size       EQU     0x00000400


在ucos的main文件中,设置任务栈如下
#define LED1_STK_SIZE   1024*4;
OS_STK LED1_TASK_STK[LED1_STK_SIZE];


另外我把可malloc可分配的堆大小设置成60k的内部ram
#define MEM1_MAX_SIZE 60*1024  

任务栈已经超过了系统启动文件中设置的栈大小,但是编译和运行都没问题

不太明白啊,有谁好心能帮忙解释一下吗,谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
taizonglai
2019-07-21 19:07
回复【4楼】echo12211:
---------------------------------
1、额额额额,407的啊,就说嘛,以后最好把你的平台写出来,要不然别人不好回答啊。
2、这两个是不同的空间,启动文件中的栈空间和堆空间、任务堆栈(也就是全局数组),我们的malloc中的内存池,这些的地位是一样的,都是编译器从MCU的RAM中分配的。

一周热门 更多>