欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Keil構建的時候出現error C249: 'DATA': SEGMENT TOO LARGE [打印本頁]

作者: dlk48920101    時間: 2021-7-18 19:59
標題: Keil構建的時候出現error C249: 'DATA': SEGMENT TOO LARGE
本帖最后由 dlk48920101 于 2021-7-20 06:14 編輯

麻煩問一下,編譯通過,構建的時候提示這個

是SYSTEM.C這個文件太大了么?網上搜的辦法都不能解決。我在懷疑是keil設置問題么?怎么查看代碼有多大?
開發板的芯片是89c52。應該有8K512字節。
查了查移植的SDK說明占用的大小,感覺應該夠用了啊。
我上網搜到了個信息,說如果程序中函數沒被調用keil會把它定義為中斷服務函數,然后都存放在DATA里的原因么?所以我找到那些SDK中沒調用過的函數,然后把他們都注釋掉就行了對么?

多謝幾位兄弟,問題基本解決了。我這里總結下,讓以后遇到的兄弟們看到。
1、首先KEIL必須要破解,不然只能編譯2KB的程序。
2、確實要在圖中那個位置選XDATA,因為KEIL默認編譯的時候不選XDATA或者PDATA。那么程序里用到的變量只會存放在RAM的前128字節,肯定是不夠用的。勾選后就會占用整個的512字節。(我查資料再結合我的理解的好像是這樣,或許不對,但是應該出入不大)
3、附加一個,勾選XDATA后從邏輯上改變了變量存放的位置,所以調用不如原先快了(有些時候程序不能正常運行,我懷疑是讀取速度慢了后變量還沒更改完就執行了)。可以在定義變量的時候在關鍵字和變量名中間加上data或者idata來改變某個變量的存放位置來提高讀取速度。(從匯編上可以看出調用的代碼不同),但還是得注意

作者: lkc8210    時間: 2021-7-18 23:56





作者: dlk48920101    時間: 2021-7-18 23:58
lkc8210 發表于 2021-7-18 23:56

試過了,不行的。
作者: dlk48920101    時間: 2021-7-19 00:05
lkc8210 發表于 2021-7-18 23:56

對了,我看到你的圖跟我的不一樣。你是怎么導入的STC89C52RC這個芯片的?我們導入的方式不同所以不一樣?你看我的這個界面箭頭的兩個選項都是空的沒有內容。不能選。

作者: dlk48920101    時間: 2021-7-19 00:13
lkc8210 發表于 2021-7-18 23:56

不顯示是漢化包的原因。沒問題了。但是確實用XDATA還是不行。
作者: lkc8210    時間: 2021-7-19 09:18
dlk48920101 發表于 2021-7-19 00:13
不顯示是漢化包的原因。沒問題了。但是確實用XDATA還是不行。

會出什么提示?
作者: 我會想你的    時間: 2021-7-19 10:25
還有個問題,要開看下你的keil有沒有完全破解,我前段時間也出現過類似問題,最后重新破解就好了
作者: yzwzfyz    時間: 2021-7-19 13:37
如果硬件用的是89C52,而程序代碼長度的確超出的范圍。
那么是必須設法優化程序,或換芯片型號的。




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