在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC C18編譯器 錯誤can not fit the section. 解決方法

            PIC C18編譯器 錯誤can not fit the section. 解決方法

            作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
            Error - section .udata_main.o can not fit the section. Section .udata_main.o length=0x00000606
            Errors : 1

            詢問高人得知該錯誤為RAM分配超過256B

            解決方法一為:

            1、打開18f452.lkr

            其關(guān)于RAM分配的為

            ACCESSBANK NAME=accessramSTART=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=accesssfrSTART=0xF80 END=0xFFF PROTECTED

            SECTION NAME=CONFIG ROM=config

            STACK SIZE=0x100 RAM=gpr5

            2、將其中g(shù)pr0范圍改為START=0x80 END=0x4FF

            如下:

            DATABANK NAME=gpr0 START=0x80 END=0x4FF

            其余屏蔽即可。gpr5為堆棧地址,不作休改。

            3、重新編譯,OK~~

            方法二: 自己創(chuàng)建一個數(shù)組區(qū)域存放大數(shù)組 (可以參考18f452.lkr文件里面的分頁情況)
            對于 MPLAB C18 編譯器,數(shù)據(jù)可以放入數(shù)據(jù)存儲器或者程序存儲器。如果沒有用戶
            提供的附加代碼,片內(nèi)程序存儲器中的數(shù)據(jù)只能讀不能寫。如果沒有用戶提供的附加
            代碼,片外程序存儲器中的數(shù)據(jù)一般是只能讀或者只能寫。
            例如,下面的語句為靜態(tài)分配的未初始化數(shù)據(jù) (udata)聲明了一個位于絕對地址
            0x120的段:
            #pragma udata my_new_data_section=0x120
            rom 關(guān)鍵字告知編譯器應(yīng)該將變量放入程序存儲器。編譯器會把這個變量分配到當(dāng)前
            的 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
            鏈接器強(qiáng)制將 romdata段放入程序存儲區(qū),將 udata和 idata段放入數(shù)據(jù)存儲區(qū);
            然而,數(shù)據(jù)段也可以位于指定的存儲區(qū)??梢允褂面溄悠髅枋鑫募械?SECTION 偽
            指令把一個段分配到一個特定的存儲區(qū)。

            方法三:將數(shù)據(jù)定義到ROM當(dāng)中 (ROM不分頁)


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

            評論


            技術(shù)專區(qū)

            關(guān)閉