谁能帮忙解释下关于内存分配的问题

2019-07-15 09:29发布

谁能帮忙解释下关于内存分配的问题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
愚塘霸主
2019-07-16 21:29
一般mcu都是片内自带的flash,所以你要查看芯片知道手册,搞清楚你的memory分配。假如你的单片机内存是2kb,起始地址是0x1000-0x17FF。一般ide环境会根据你mcu内存分配,要设置你的栈,如果你的栈大小是256字节,如果你的栈向下生长,那你的栈起始地址是0x1800,栈顶指针。如果向上,栈顶指针0x1000。如果你还定义了堆大小,编译器会根据情况在你的ram范围里分配堆,其他未占用的ram就是你能用到的。一般情况下,你的静态变量全局量都在你未占用的ram。在函数中你声明的局部量在栈里。也有可能使用的cpu通用寄存器。而你的常量就会分配在flash里。你的函数这些代码也在flash里。

一周热门 更多>