我们已经使用了单片机。
我们知道,单片机的闪存具有4K和8K。
我们还编写了微控制器程序,但是您知道我们编写的程序有多大吗?编写并编译程序后,将生成一个十六进制文件。
此十六进制文件是要下载到微控制器的文件。
该文件的大小不能超过微控制器的FLASH大小,否则必须优化程序或选择具有更大FLASH的微控制器。
如下图所示,它是一个已编译的十六进制文件:我们发现它的大小为9KB,这是程序的大小吗?实际上,这是错误的。
程序的大小可以在这里看到:代码:表示要执行的代码。
程序中的所有功能都位于此处。
RO-data:代表只读数据。
程序中定义的全局常量数据和字符串都位于此处。
RW-data:表示已初始化的读写数据,程序中定义和初始化的全局变量和静态变量位于此处。
ZI-data:表示未初始化的读写数据。
程序中定义但尚未初始化的全局变量和静态变量位于此处。
从以上描述可以看出:下载到MCU FLASH的程序为:Code + RO-data + RW-data; RAM中运行的数据为:RW-数据+ ZI-数据;好,从今天开始,您需要知道您正在编写的程序有多大,以及如何阅读。
另外,程序的大小也可以在项目目录的.map文件中看到:找到.map文件,用记事本打开它,然后您可以在最后看到它。
。
免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!