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