|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請教關(guān)于bank的問題! |
| 作者:nikeyken 欄目:單片機 |
有一程序,定義了一結(jié)構(gòu)體,用了80個字節(jié)的ram,把它定義在bank1中,用picc編譯通過,但是把它定義在bank2或bank3的時候,就會發(fā)生如下錯誤:541-7.obj:435:Fixup overflow in expression (loc 0x16B0 (0x1698+24), size 1, VALUE 0x110) (error) 541-7.obj:435:Fixup overflow in expression (loc 0x16C2 (0x1698+42), size 1, VALUE 0x138) (error) 541-7.obj:437:Fixup overflow in expression (loc 0x16DA (0x16CC+14), size 1, VALUE 0x138) (error) 541-7.obj:437:Fixup overflow in expression (loc 0x16E2 (0x16CC+22), size 1, VALUE 0x110) (error) 541-7.obj:437:Fixup overflow in expression (loc 0x16EE (0x16CC+34), size 1, VALUE 0x138) (error) 請高手們幫忙解釋,謝謝 |
| 2樓: | >>參與討論 |
| 作者: 張明峰 于 2003/4/29 11:53:00 發(fā)布:
注意指針 如果你在程序調(diào)用時傳遞了此結(jié)構(gòu)指針,必須在函數(shù)聲明時確定BANK,如: struct TEST { CHAR a; CHAR b; }; bank2 TEST t1; void foo(bank2 TEST *xxx) { xxx->a = 0; xxx->b = 1; } void main(void) { foo(&t1); while(1); } * - 本貼最后修改時間:2003-4-29 11:54:19 修改者:張明峰 |
|
| 3樓: | >>參與討論 |
| 作者: nikeyken 于 2003/4/29 12:06:00 發(fā)布:
我已經(jīng)定義在了bank2啊 我已經(jīng)定義在了bank2啊,static struct buffer { unsigned CHAR zj_pointer; unsigned CHAR zj_CHECKSUM; unsigned CHAR zj_length; unsigned CHAR zj_state; unsigned CHAR cn_pointer; unsigned CHAR cn_CHECKSUM; unsigned CHAR cn_length; unsigned CHAR cn_state; unsigned CHAR pointer; unsigned CHAR CHECKSUM; unsigned CHAR length; unsigned CHAR buf[BUFFER_MAX_LENGTH]; } bank2 buf1,buf2; 這里的BUFFER_MAX_LENGTH 為29 如果在bank1中剛好夠用,但是我想把它再大一點,所以想定義在了bank2中 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |