欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
PIC C18編譯器 錯誤can not fit the section. 解決方法
[打印本頁]
作者:
a119
時間:
2013-9-5 13:42
標題:
PIC C18編譯器 錯誤can not fit the section. 解決方法
Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x00000606
Errors : 1
詢問高人得知該錯誤為RAM分配超過256B
解決方法一為:
1、打開18f452.lkr
其關于RAM分配的為
ACCESSBANK NAME=accessram START=0x0 END=0x7F
DATABANK NAME=gpr0 START=0x80 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF
DATABANK NAME=gpr5 START=0x500 END=0x5FF
ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x100 RAM=gpr5
2、將其中gpr0范圍改為START=0x80 END=0x4FF
如下:
DATABANK NAME=gpr0 START=0x80 END=0x4FF
其余屏蔽即可。gpr5為堆棧地址,不作休改。
3、重新編譯,OK~~
方法二: 自己創建一個數組區域存放大數組 (可以參考18f452.lkr文件里面的分頁情況)
對于 MPLAB C18 編譯器,數據可以放入數據存儲器或者程序存儲器。如果沒有用戶
提供的附加代碼,片內程序存儲器中的數據只能讀不能寫。如果沒有用戶提供的附加
代碼,片外程序存儲器中的數據一般是只能讀或者只能寫。
例如,下面的語句為靜態分配的未初始化數據 (udata)聲明了一個位于絕對地址
0x120的段:
#pragma udata my_new_data_section=0x120
rom 關鍵字告知編譯器應該將變量放入程序存儲器。編譯器會把這個變量分配到當前
的 romdata 型段。例如:
#pragma romdata const_table
const rom char my_const_array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
/* Resume allocation of romdata into the default section */
#pragma romdata
鏈接器強制將 romdata段放入程序存儲區,將 udata和 idata段放入數據存儲區;
然而,數據段也可以位于指定的存儲區。可以使用鏈接器描述文件中的 SECTION 偽
指令把一個段分配到一個特定的存儲區。
方法三:將數據定義到ROM當中 (ROM不分頁)
作者:
better
時間:
2013-9-10 10:02
PIC c系列 不知道用得還多不多。 我們現在出貨量很大,熱銷的 都是F 系列
渠道很好 優勢相對其他較好。
Q--- 909822209
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1