我以前一直有一個(gè)奇怪的問題。每次編寫MCU程序時(shí),使用刻錄軟件進(jìn)行刻錄時(shí),都可以看到刻錄文件的文件大小,即十六進(jìn)制文件大小:)僅64K。
從上圖可以看出,十六進(jìn)制為128K。我有兩個(gè)問題:1.它只是一個(gè)非常簡單的平衡車程序128K,那么大嗎? 2.即使有128K,也可以下載到容量僅為64K的單片機(jī)中嗎?這可能是一個(gè)命題!讓我們開始探索之旅,以STM32開發(fā)為例。
在keil中編譯該程序之后,在界面部分:許多朋友估計(jì)他們看到了此界面,他們只關(guān)心兩點(diǎn):首先,您自己編寫的程序是否正確生成了十六進(jìn)制!其次,您自己編寫的程序中是否存在任何錯(cuò)誤或警告!在圖中的紅線部分:有4:代碼,RO數(shù)據(jù),RW數(shù)據(jù),ZI數(shù)據(jù)。代碼:表示要執(zhí)行的代碼,程序中的所有功能均位于此處。
RO數(shù)據(jù):代表只讀數(shù)據(jù),程序中定義的全局常量數(shù)據(jù)和字符串都位于此處。 RW-data:表示已初始化的讀寫數(shù)據(jù),程序中定義和初始化的全局變量和靜態(tài)變量位于此處。
ZI-data:表示未初始化的讀寫數(shù)據(jù)。程序中定義但尚未初始化的全局變量和靜態(tài)變量位于此處。
可以從描述中得出:1.下載到MCU FLASH的程序?yàn)椋篊ode + RO-data + RW-data(上圖中的數(shù)據(jù)為字節(jié)數(shù),kb = byte / 1024); hex =(39546 + 5862 + 12428)/1024=56.48 2. RAM中運(yùn)行的數(shù)據(jù)為:RW-數(shù)據(jù)+ ZI-數(shù)據(jù);在原始窗口下顯示的十六進(jìn)制大小不是我們下載到微控制器的十六進(jìn)制大小。至于為什么顯示不同,這是另一個(gè)非常有趣的問題,有興趣的朋友可以一起討論。
最后,似乎C8T6芯片的資源幾乎被消耗,盡,有必要考慮更換該芯片。 -END-猜猜你喜歡它。
誰更了解你,是女朋友嗎?不,這些推薦算法。為什么我們應(yīng)該支持華為的晶體振蕩器,它是數(shù)字電路的核心呢? & nbsp;如果您認(rèn)為本文不錯(cuò),那么轉(zhuǎn)發(fā)和共享也是我們繼續(xù)更新的動(dòng)力。
5T資源正在銷售中!包括但不限于:C / C ++,Linux,Python,Java,PHP,人工智能,PCB,F(xiàn)PGA,DSP,labview,微控制器等!回復(fù)“更多資源”在官方帳戶中,您可以免費(fèi)獲得它,并期待您的關(guān)注?長按識(shí)別圖片中的QR碼關(guān)注
歡迎來到我司Viking代理產(chǎn)品網(wǎng)站!