这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 求助:如何分散加载ADS的库文件

共3条 1/1 1 跳转至

求助:如何分散加载ADS的库文件

菜鸟
2007-03-31 04:17:38     打赏

我用ADS把一部分代码生成了一个自己的库文件lib.a,随后又在库的基础上做了个小应用程序,已经证实成功,应用能够正常运行。

现在我想通过分散加载机制把整个库文件定位到Flash的某个固定区域,这样做的好处在于可以避免更新代码后全部重新烧写,大幅减少烧写时间。

但在实际应用时却发现,只要我对应用部分的代码稍作修改,前后2次生成的LIB映象大小虽然完全一致,但内容却差了好多,完全违背了我的本意,为什么?

是我的分散加载不对呢?还是编译连接的时候选项设置有问题?大侠请接招!!!

以下是我的分散加载文件:

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库包含的所有目标文件
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)
}
}




关键词: 求助     如何     分散     加载     文件    

菜鸟
2007-04-01 00:24:00     打赏
2楼
怎么没有人理我呢

菜鸟
2007-04-03 02:49:00     打赏
3楼
你的思路比较开阔,或者说你的想法比较怪。真的。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]