|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
大家遇到這種情況了沒? |
| 作者:RNF 欄目:ARM技術(shù) |
在ADS1.2下寫了個SCF文件,但編譯老是說什么out of the range of relocation "0xfff",改了許多次發(fā)現(xiàn),只能將運(yùn)行域設(shè)置在&1024內(nèi),不知道大家遇到過這種情況沒? load_flash 0x00 { exe_flash 0x00 { setup.o(vectors,+first) *(+RO) } } load_RAM 0x40000000 { exe_RAM 0x40000000 { setup.o(dataseg,+first) *(+RW) } } 在LOAD_RAM里ADS老說 exe_RAM 0x40000000是超出了范圍,看書上寫SCATTER文件沒有什么范圍限制呀,我把他改成0x1024 是可以的,如過在大就是超出了范圍,不知道什么意思,希望大家?guī)蛶兔ρ,很是郁悶?br> |
| 2樓: | >>參與討論 |
| 作者: bbb_ATK 于 2006/3/25 10:33:00 發(fā)布:
TO load_RAM 0x40000000 表示加載區(qū),是程序存在的地方,而你的FLASH肯定沒有到0x40000000的地址吧,里面寫的exe_RAM 0x40000000 表示執(zhí)行區(qū),是程序運(yùn)行時所在的地方。所以你應(yīng)該把exe_RAM 0x40000000放到你的第一個加載區(qū)load_FLASH 0x00下,作為這個加載區(qū)的第二個執(zhí)行區(qū),放你的數(shù)據(jù),試一下可不可以。 |
|
| 3樓: | >>參與討論 |
| 作者: RNF 于 2006/3/25 12:10:00 發(fā)布:
明白你的意思,可是。。。 你的意思等同把他改成0xFFF范圍內(nèi),我查了ADS errros datasheet 發(fā)現(xiàn)我在數(shù)據(jù)段定義了很多變量,在FLASH部分對起進(jìn)行讀,用了LDR RO,VARIOUSMANE 所以是這樣,不過我還是感覺ARM和51有很大的不同,我以51中XYZ DATA DIRECT ADDRESS的思路寫了個RAM數(shù)據(jù)區(qū)《ARM中我用了DCD》定位到實(shí)際ARM,看來是辦不到的,因?yàn)長DR只可以LDR RO,VARIOUSMANE的變量在4K也就是0XFFF內(nèi),所以不可以 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |