<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > KEIL編譯錯誤之xdata空間的代碼

KEIL編譯錯誤之xdata空間的代碼

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
在用TFT和DS18B20做一個(gè)溫度檢測系統,利用Keil C51編程時(shí),發(fā)現程序邏輯上沒(méi)有錯誤,但在連接時(shí)卻出現了錯誤,如下:

*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE:DATA
SEGMENT: ?DT?MAIN
LENGTH:0004H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:T
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:TEMPL
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:TEMPH
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:?_LCDSHOW_UCHARNUMBER?BYTE
SEGMENT: ?DT?_LCDSHOW_UCHARNUMBER?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:?_RECTANGLE?BYTE
SEGMENT: ?DT?_RECTANGLE?MAIN
Program Size: data=145.0 xdata=0 code=8309
Target not created

本文引用地址:http://dyxdggzs.com/article/201611/321679.htm


該錯誤提示說(shuō)明data空間已經(jīng)不夠用,原因是你可能有好多函數,而函數內部的局部變量又沒(méi)有定義其空間,這種情況下,系統會(huì )將變量分配到你在Otions for Target 對話(huà)框里的設置的空間。如果你在下圖所示中的 Memory Model 里設置成 Small:variables in DATA,則DATA空間很快便用完,導致data空間不夠用。

解決的辦法有兩種,一是通過(guò)更改Memory Model設置,可以設置成pdata或xdata,以便有足夠大的空間,但這又帶來(lái)新的問(wèn)題,程序運行速度減慢,而且code代碼也會(huì )加大,因為如果一個(gè)局部變量被存放在了xdata空間,匯編語(yǔ)言訪(fǎng)問(wèn)xdata空間的代碼大小要比訪(fǎng)問(wèn)data空間的代碼大,變量一旦很多,程序的代碼也會(huì )逐漸增大;二是根據自己的要求設置變量的空間。

所以這涉及到代碼優(yōu)化的問(wèn)題,遇到具體問(wèn)題時(shí),在運行速度和代碼大小之間取得適合自己的情況。



關(guān)鍵詞: KEIL編譯錯

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>