標(biāo)題: 關(guān)于單片機(jī)容量的一個(gè)問題 [打印本頁(yè)]

作者: egsresrhtrhrtst    時(shí)間: 2023-2-19 11:21
標(biāo)題: 關(guān)于單片機(jī)容量的一個(gè)問題
今天在弄一個(gè)基于 ,oled顯示年月日時(shí)間,溫度,濕度的程序,用c516已經(jīng)可以正常顯示,但是改成c52rc單片機(jī)下載的時(shí)候就說空間不夠,想問一下各位這種情況怎么解決,.hex文件大小28.1kb

屏幕截圖 2023-02-19 111913.png (294.05 KB, 下載次數(shù): 68)

屏幕截圖 2023-02-19 111913.png

作者: xuyaqi    時(shí)間: 2023-2-19 14:27
c516有64k程序內(nèi)存,c52rc有8k程序內(nèi)存,28.1k>8k所以裝不下,你為什么要改。
作者: watsonbu    時(shí)間: 2023-2-19 15:41
主要原因是程序太長(zhǎng),把程序優(yōu)化一下,刪掉不必要的。如果你有類似數(shù)據(jù)庫(kù)表的數(shù)據(jù),則要把記錄數(shù)控制在,最好少于2048條記錄。否則,要擴(kuò)展內(nèi)存,或者換ROM大的芯片。
作者: watsonbu    時(shí)間: 2023-2-19 15:45
程序太長(zhǎng),優(yōu)化一下,刪掉一些。如果有類似于數(shù)據(jù)庫(kù)表的數(shù)據(jù),數(shù)據(jù)表的記錄數(shù)最好少于2048條記錄。否則,只能擴(kuò)展內(nèi)存,或者更換有更大內(nèi)存的芯片。
作者: Hephaestus    時(shí)間: 2023-2-19 17:14
xuyaqi 發(fā)表于 2023-2-19 14:27
c516有64k程序內(nèi)存,c52rc有8k程序內(nèi)存,28.1k>8k所以裝不下,你為什么要改。

錯(cuò)!hex文件大約是實(shí)際長(zhǎng)度的3倍,樓主只超了8k一點(diǎn)點(diǎn)。
作者: coody_sz    時(shí)間: 2023-2-19 21:09
首先,選516,打開,看看程序大小,如果比8K多不多,則優(yōu)化一下是有可能的,大太多就難了。

至于HEX文件,這是一個(gè)文本文件,展開成二進(jìn)制文件,一般比HEX文件小,但是如果用匯編寫,隨意指定地址,則幾十字節(jié)的HEX文件,展開成BIN也有可以有60K以上。
作者: Hephaestus    時(shí)間: 2023-2-19 22:19
coody_sz 發(fā)表于 2023-2-19 21:09
首先,選516,打開,看看程序大小,如果比8K多不多,則優(yōu)化一下是有可能的,大太多就難了。

至于HEX文件 ...

展開bin文件的時(shí)候你不會(huì)指定偏移地址嗎?
作者: rctty    時(shí)間: 2023-2-21 16:14
打開hex文件,看看倒數(shù)第三行這個(gè)藍(lán)色的字,就是存儲(chǔ)的地址,算一算有沒有超過目標(biāo)芯片的flash

51hei截圖20230221161011.png (24.79 KB, 下載次數(shù): 65)

51hei截圖20230221161011.png

作者: wufa1986    時(shí)間: 2023-2-21 16:52
把一些字摸數(shù)據(jù),圖片數(shù)據(jù)轉(zhuǎn)移到外部存儲(chǔ),只是花這么多時(shí)間去兼容一款老掉牙的單片機(jī)是否值得




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1