一、問題
我們在挑選一款單片機(jī)的時候,會查詢單片機(jī)的主頻、內(nèi)部flash和RAM、封裝、各種外設(shè)接口資源。其中flash和RAM大小尤為重要。
以STM32H750VBT6為例,其內(nèi)部flash只有128KB,RAM卻有1056KB。
該選型手冊可在該鏈接中免積分下載:STM32系列產(chǎn)品選型手冊
該型號的flash容量比F103ZET6的512KB要小4倍,編程的時候會一直擔(dān)心flash容量不夠,因此需要實(shí)時監(jiān)控程序所需的flash大小。
二、解決方法
keil5編譯后會顯示程序大?。?br>
其中,
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中,因此在計(jì)算flash和ram占用空間時,都得加上RW-data。
計(jì)算公式:
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
余量還很充足文章來源:http://www.zghlxwxcb.cn/news/detail-651637.html
參考資料
1、https://blog.csdn.net/qq_42043397/article/details/124264797
2、https://blog.csdn.net/yanlaifan/article/details/107647577文章來源地址http://www.zghlxwxcb.cn/news/detail-651637.html
到了這里,關(guān)于【Keil5】Keil查看程序占用flash大小的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!