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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5846|回復: 7
打印 上一主題 下一主題
收起左側

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來改變某個變量的存放位置來提高讀取速度。(從匯編上可以看出調用的代碼不同),但還是得注意
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2021-7-18 23:56 | 只看該作者




回復

使用道具 舉報

板凳
ID:911621 發表于 2021-7-18 23:58 | 只看該作者

試過了,不行的。
回復

使用道具 舉報

地板
ID:911621 發表于 2021-7-19 00:05 | 只看該作者

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

使用道具 舉報

5#
ID:911621 發表于 2021-7-19 00:13 | 只看該作者

不顯示是漢化包的原因。沒問題了。但是確實用XDATA還是不行。
回復

使用道具 舉報

6#
ID:161164 發表于 2021-7-19 09:18 | 只看該作者
dlk48920101 發表于 2021-7-19 00:13
不顯示是漢化包的原因。沒問題了。但是確實用XDATA還是不行。

會出什么提示?
回復

使用道具 舉報

7#
ID:839438 發表于 2021-7-19 10:25 | 只看該作者
還有個問題,要開看下你的keil有沒有完全破解,我前段時間也出現過類似問題,最后重新破解就好了
回復

使用道具 舉報

8#
ID:123289 發表于 2021-7-19 13:37 | 只看該作者
如果硬件用的是89C52,而程序代碼長度的確超出的范圍。
那么是必須設法優化程序,或換芯片型號的。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表