![]() |
發(fā)布時間: 2013-7-13 03:31
正文摘要:今天遇到一個keil問題,編譯出現(xiàn)下面提示:最后完美解決,把方法分享給51hei論壇的朋友們 *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: ?DT?_WRITEONECHAR?DS18B20 LENGTH: 0002H ... |
我就是這個問題,程序編譯沒有問題,是正確的。可就是不能產(chǎn)生.hex文件 Rebuild target 'Target 1' assembling STARTUP.A51... compiling Text1.c... linking... *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?SHUTTER_CLOCK?TEXT1 LENGTH: 02E7H *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?KEY_SCAN?TEXT1 LENGTH: 0286H 就是這種問題一大堆 |
我遇到了這個問題后,我發(fā)現(xiàn)是RAM不夠,一般的話。有data、idata、pdata以及xdata。data的話,就是低128(片內(nèi))字節(jié);idata的話,就是256個(片內(nèi))字節(jié)。起始data就是idata的一部分。pdata以及xdata是片外RAM的,那就得看單片機的手冊進行操作。例如STC12C5A60S2的話,要用內(nèi)部擴展的話,是要用到xdata的,即unsigned char xdata a[256],那么這就去了256個字節(jié)了。內(nèi)部擴張的。 也就是說,當你編譯后,發(fā)現(xiàn)data已經(jīng)是大于128了,同時伴隨著報錯。那你就得使用xdata或者pdata了。 |
參與人數(shù) 1 | 黑幣 +60 | 收起 理由 |
---|---|---|
![]() | + 60 | 回帖助人的獎勵! |
解決了,謝謝您!![]() |
mybigapple 發(fā)表于 2015-3-20 19:43 請問這個問題解決了嗎? |
把變量定義為pdata后,這種辦法是針對于變量較少的情況 |
很不錯,解決問題了,適用于稍微添加了一點變量時就突然報錯的情況 |
受用了 謝謝樓主 |
感謝樓主,問題解決啦 |
謝謝樓主 另外功能沒實現(xiàn)的可能是程序錯誤 多找找吧 |
厲害了,我遇到了 |
是的,同一樓所說 |
謝謝樓主提供的方法 |
改成large,連仿真時候也出錯,所以還是查找問題吧 |
謝謝樓主!!! |
樓主 棒棒噠 |
mybigapple 發(fā)表于 2015-3-20 19:43 對,我也是遇到這樣的問題了, |
mybigapple 發(fā)表于 2015-3-20 19:43 large模式就是默認將所有變量都存于外部RAM,small模式是在內(nèi)部ram。 |
同樣問題,完美解決!謝謝樓主!!特地注冊來回復(fù) |
選擇Large模式,編譯是通過了。可是程序不好使了。生成的HEX文件燒錄進單片機也不干活了。又試了下選擇Compact模式編譯,一樣不干活。只有Small模式的hex文件好用。 這個誰懂? |
遇到同樣問題。感謝分享。 |
Powered by 單片機教程網(wǎng)