|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求助:如何分散加載ADS的庫(kù)文件 |
| 作者:lightrainy 欄目:MCU技術(shù) |
我用ADS把一部分代碼生成了一個(gè)自己的庫(kù)文件lib.a,隨后又在庫(kù)的基礎(chǔ)上做了個(gè)小應(yīng)用程序,已經(jīng)證實(shí)成功,應(yīng)用能夠正常運(yùn)行。 現(xiàn)在我想通過(guò)分散加載機(jī)制把整個(gè)庫(kù)文件定位到FLASH的某個(gè)固定區(qū)域,這樣做的好處在于可以避免更新代碼后全部重新燒寫,大幅減少燒寫時(shí)間。 但在實(shí)際應(yīng)用時(shí)卻發(fā)現(xiàn),只要我對(duì)應(yīng)用部分的代碼稍作修改,前后2次生成的LIB映象大小雖然完全一致,但內(nèi)容卻差了好多,完全違背了我的本意,為什么? 以下是我的分散加載文件: ROM_LOAD 0x80000000 { ROM_EXEC 0x80000000 { Startup.o (vectors, +First) * (+RO) } IRAM 0x40000000 { Startup.o (MyStacks) } STACKS_BOTTOM +0 UNINIT { Startup.o (StackBottom) } STACKS 0x40004000 UNINIT { Startup.o (Stacks) } ERAM 0x81000000 { * (+RW,+ZI) } HEAP +0 UNINIT { Startup.o (Heap) } HEAP_BOTTOM 0x81080000 UNINIT { Startup.o (HeapTop) } } LIB 0x800D0000 { LIB 0x800D0000 { ;LIB庫(kù)包含的所有目標(biāo)文件 os_cpu_c.o (+RO) Os_cpu_a.o (+RO) OS_TIME.o (+RO) OS_CORE.o (+RO) OS_FLAG.o (+RO) OS_MBOX.o (+RO) OS_MEM.o (+RO) OS_MUTEX.o (+RO) OS_Q.o (+RO) OS_SEM.o (+RO) OS_TASK.o (+RO) queue.o (+RO) Global.o (+RO) FLASH.o (+RO) GPRS.o (+RO) UART.o (+RO) WatchDog.o (+RO) sysfunc.o (+RO) } RAM 0x81040000 { os_cpu_c.o (+RW,+ZI) Os_cpu_a.o (+RW,+ZI) OS_CORE.o (+RW,+ZI) FLASH.o (+RW,+ZI) COMM.o (+RW,+ZI) ; UART.o (+RW,+ZI) ; WatchDog.o (+RW,+ZI) ; sysfunc.o (+RW,+ZI) } } * - 本貼最后修改時(shí)間:2007-3-30 19:55:08 修改者:lightrainy |
| 2樓: | >>參與討論 |
| 作者: lightrainy 于 2007/4/2 8:51:00 發(fā)布:
沒(méi)有人知道該怎么做嗎? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |