立即注冊 登錄
返回首頁

uid:111517的個人空間

日志

keil c報錯:*** ERROR L107: ADDRESS SPACE OVERFLOW

已有 1848 次閱讀2016-8-26 00:57 | ERROR

【ADDRESS SPACE OVERFLOW】
        //----AT89C52-----//
        地址空間溢出,簡而言之就是RAM空間不夠用,通常是由于全局變量過多引起:

        解決方法一:
        在部分變量定義時加上 [idata]。(系統(tǒng)默認尋址是0-128字節(jié)直接尋址區(qū),加上 idata后可增加128-256的間接尋址區(qū))

        解決方法二:
       在部分只讀變量定義時增加關(guān)鍵字[code]

       解決方法三:(慎)
       在部分變量定義時添加關(guān)鍵字[xdata],需要注意的是這個區(qū)域的數(shù)據(jù)不穩(wěn)定,在一些需要經(jīng)常改變的變量中用此關(guān)鍵詞定義可能出現(xiàn)程序異常。

      解決方法四:
      減少全局變量或其大小,可通過減少全局變量,將int型變量在允許情況下改成char型,或把char型改成bit型,以減少全局變量所占空間。

        注:------------
        網(wǎng)上有人說可通過更改keil所用模式來解決,即可將<small>改為<compact>、<large>來解決,但自己試了下發(fā)現(xiàn)程序沒有任何變化,所以這種方法覺得待驗證,當(dāng)然也有可能是自己錯了,也歡迎大家指正。

路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

返回頂部