音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)問各路大蝦,單片機(jī)片內(nèi)ram不夠用,怎么辦?

作者:alphal 欄目:單片機(jī)
請(qǐng)問各路大蝦,單片機(jī)片內(nèi)ram不夠用,怎么辦?
我現(xiàn)在有兩個(gè)程序需要合并,每個(gè)程序片內(nèi)ram的使用都是160字節(jié)以上,毫無疑問,合起來ram肯定會(huì)爆。

希望各位給點(diǎn)建議,可以從哪些方面入手來減少ram的使用。如果把變量定義放到片外是否可行,有什么要注意的?

ps:我們使用77e58的片子。



另外,很納悶,那個(gè)程序keil編譯結(jié)果顯示code超過32k,77e58code大小也只有32k,可是燒片子居然,沒事,程序還照樣跑。
看來77e58果然超強(qiáng)!

2樓: >>參與討論
jhycl
小心,程序雖然運(yùn)行了,不知什么時(shí)候會(huì)出亂子
 
3樓: >>參與討論
gyt
對(duì)
樓上說得對(duì)

4樓: >>參與討論
gyt
變量定義放到片外,
應(yīng)該可行。

5樓: >>參與討論
liukejj
外擴(kuò)
外擴(kuò)ram可以撒?沒用過這個(gè)芯片

6樓: >>參與討論
jhycl
外擴(kuò)個(gè)62256,把一些對(duì)讀寫時(shí)間要求不嚴(yán)格的可以定義到片外
 
7樓: >>參與討論
alphal
除了外擴(kuò)就沒其他的招嗎?
77E58本身就有1K的片外ram,不需要外擴(kuò),問題是變量定義到片外會(huì)有什么影響沒有,除了訪問時(shí)間長一點(diǎn)。



超過32K的code是怎么燒進(jìn)32K的rom的?奇怪

8樓: >>參與討論
xwj
明顯是設(shè)計(jì)問題
 
9樓: >>參與討論
alphal
暈了,哪里明顯是設(shè)計(jì)問題?
 
10樓: >>參與討論
HWM
超出的內(nèi)容還未執(zhí)行到
超出的內(nèi)容還未執(zhí)行到,如果一旦執(zhí)行到未寫入的程序就會(huì)出問題了。

11樓: >>參與討論
alphal
恩,超出的事情就不再說了。看RAM怎么省省吧
 
12樓: >>參與討論
xplore
變量
 
13樓: >>參與討論
xplore
變量定義
變量定義用 xdata,就可以用片外ram了 , 但這樣會(huì)影響速度,這基本上沒關(guān)系,除非時(shí)間有特別苛刻的要求, 另外會(huì)是代碼空間變大, 你這種情況就比較嚴(yán)重了.

用51代碼超出32KB的話不小了, 設(shè)法優(yōu)化一下

編譯器用最高級(jí)優(yōu)化 , keil 一般是9級(jí)



14樓: >>參與討論
jinggx
RE:
簡單一點(diǎn),好好優(yōu)化一程序,RAM或許夠用。
延復(fù)雜一點(diǎn),外擴(kuò)RAM。

15樓: >>參與討論
alphal
keil的優(yōu)化對(duì)code很有效,但ram一點(diǎn)沒減少
 大家有什么招可以節(jié)省片內(nèi)ram。
(定義到片外不算招)
 

16樓: >>參與討論
STMCUChina
真正有效節(jié)省RAM的辦法是修改你的算法
一般用編譯器的優(yōu)化是不能節(jié)省RAM的,因?yàn)镽AM的使用是程序決定的,常用的辦法是:
1)減小變量的長度;如不必要用到16位的變量時(shí)改用8位的,不必要用到32位的變量時(shí)改用16位的,尤其是在數(shù)組的使用上。
2)減少全局變量的使用,因?yàn)榫植孔兞繀^(qū)域是復(fù)用的。
3)減少函數(shù)的參數(shù)傳遞,這可以同時(shí)減少代碼的長度。
4)。。。。

17樓: >>參與討論
alphal
謝謝STMCUChina同志!!
 
18樓: >>參與討論
gyt
減少全局變量的使用
這個(gè)說的很對(duì)

19樓: >>參與討論
alphal
還有其他的辦法呢?


一宿沒頂就落到后頁了,可是我的問題還沒有答完呢。。。。

20樓: >>參與討論
alphal
關(guān)注。。。。
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)教如何擴(kuò)展51系列單片機(jī)的可尋址空間
求97C2051和SM5964PDI資料。。〖庇茫。!謝謝
74lvhc373能不能直接驅(qū)動(dòng)led
請(qǐng)教高人指點(diǎn):單片機(jī)ALE輸出圖形
有誰用過 新茂 的51單片機(jī)啊?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)