1.先给个 axf 文件 转编译bin文件的代码

2.解析下编译文件MAP
先给个编译提示

Code 是代码占用的空间
RO-data是 Read Only 只读常量的大小,如const型
RW-data是(Read Write) RW是可读可写变量,就是初始化时候就已经赋值了的,RW + ZI就是你的程序总共使用的RAM字节数。
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小,就是程序中用到的变量并且被系统初始化为0的变量的字节数,keil编译器默认是把你没有初始化的变量都赋值一个0,这些变量在程序运行时是保存在RAM中的

其他的map 信息 主要就是 各个文件编译地址 函数分布地址(函数时0x2000xxx 对应运行栈地址 非 flash 的0x80xxxxx的存储地址)
编程人员一般注意 ram 不要大于单片机芯片的规定ram,比如下图的 不要大于64KB

程序代码不要大于flash的大小,这个一般不会超。





![[项目设计] 从零实现的高并发内存池(二)](https://img-blog.csdnimg.cn/c446ebae288e480d84f5d14d494c88bb.gif)













