一、问题
我们在挑选一款单片机的时候,会查询单片机的主频、内部flash和RAM、封装、各种外设接口资源。其中flash和RAM大小尤为重要。
以STM32H750VBT6为例,其内部flash只有128KB,RAM却有1056KB。
该选型手册可在该链接中免积分下载:STM32系列产品选型手册
该型号的flash容量比F103ZET6的512KB要小4倍,编程的时候会一直担心flash容量不够,因此需要实时监控程序所需的flash大小。
二、解决方法
keil5编译后会显示程序大小:
其中,
Code:表示程序所占用 FLASH 的大小( FLASH)。
RO-data:即 Read Only-data, 表示程序定义的常量,如 const 类型( FLASH)。
RW-data:即 Read Write-data, 表示已被初始化的全局变量( FLASH,RAM)
ZI-data:即 Zero Init-data, 表示未被初始化的全局变量(RAM)
在程序初始化的时候,RW-data会从FLASH中拷贝到RAM中,因此在计算flash和ram占用空间时,都得加上RW-data。
计算公式:
flash = Code + RO-data + RW-data
ram = RW-data + ZI-data
以上图为例
flash=27256+964+1116=29336bytes=28.6kb<128kb
ram=1116+17244=18360bytes=17.9kb<1056kb
余量还很充足文章来源:https://www.toymoban.com/news/detail-651637.html
参考资料
1、https://blog.csdn.net/qq_42043397/article/details/124264797
2、https://blog.csdn.net/yanlaifan/article/details/107647577文章来源地址https://www.toymoban.com/news/detail-651637.html
到了这里,关于【Keil5】Keil查看程序占用flash大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!