启动文件的堆栈是给函数的局部变量用的,调用程序会自动分配堆栈空间,函数返回就释放掉了,所以堆栈大小适合就行,太小了可能使空间不够程序卡死,太大浪费了,其他的ram就是一些全局变量还有座位缓冲区使用,代码运行要加载到那的
RTOS创建任务分为动态创建和静态创建,静态要你自己开个数组给他,动态的话就是分配堆栈空间了。
另一些是给程序中的变量使用的啊
如果用了RTOS的,是会用到分配的堆栈的
一般的堆空间等都不可能直接拿内存所有空闲空间来做,只能安排一部分,其他的是普通程序运行必要的空间,因为程序加载到内存中才能执行,这些不仅是数据,还有程序代码本身,而堆栈只是数据啊。
如果用了RTOS等系统,堆栈的管理由系统来进一步管理,具体的分配机制要根据具体实现情况啦(可能是可以配置的)
剩下的用来作为静态内存区,全局变量那些就要从这里取
RTOS一般用内存池,它使用的内存池空间视为静态内存