![]() |
發(fā)布時間: 2023-2-19 11:21
正文摘要:今天在弄一個基于 ,oled顯示年月日時間,溫度,濕度的程序,用c516已經(jīng)可以正常顯示,但是改成c52rc單片機下載的時候就說空間不夠,想問一下各位這種情況怎么解決,.hex文件大小28.1kb |
把一些字摸數(shù)據(jù),圖片數(shù)據(jù)轉移到外部存儲,只是花這么多時間去兼容一款老掉牙的單片機是否值得 |
打開hex文件,看看倒數(shù)第三行這個藍色的字,就是存儲的地址,算一算有沒有超過目標芯片的flash |
51hei截圖20230221161011.png (24.79 KB, 下載次數(shù): 65)
coody_sz 發(fā)表于 2023-2-19 21:09 展開bin文件的時候你不會指定偏移地址嗎? |
首先,選516,打開,看看程序大小,如果比8K多不多,則優(yōu)化一下是有可能的,大太多就難了。 至于HEX文件,這是一個文本文件,展開成二進制文件,一般比HEX文件小,但是如果用匯編寫,隨意指定地址,則幾十字節(jié)的HEX文件,展開成BIN也有可以有60K以上。 |
xuyaqi 發(fā)表于 2023-2-19 14:27 錯!hex文件大約是實際長度的3倍,樓主只超了8k一點點。 |
程序太長,優(yōu)化一下,刪掉一些。如果有類似于數(shù)據(jù)庫表的數(shù)據(jù),數(shù)據(jù)表的記錄數(shù)最好少于2048條記錄。否則,只能擴展內存,或者更換有更大內存的芯片。 |
主要原因是程序太長,把程序優(yōu)化一下,刪掉不必要的。如果你有類似數(shù)據(jù)庫表的數(shù)據(jù),則要把記錄數(shù)控制在,最好少于2048條記錄。否則,要擴展內存,或者換ROM大的芯片。 |
c516有64k程序內存,c52rc有8k程序內存,28.1k>8k所以裝不下,你為什么要改。 |
Powered by 單片機教程網(wǎng)