|
楼主 |
发表于 2007-5-4 19:42:50
|
显示全部楼层
还想大侠们探讨一个问题,按照SPEC上说的0X00000000这里的代码应该是CPU起动时候执行的弟一行代码对吗?
但是下面的MAP文件中明明是将CODE映射到了0X8000000地址上了呀,那么0地址的代码是从何而来呢?
ROM 0x08000000 0x00E00000
{
ROM 0x08000000 0x400000
{
bootarm.obj (C$$code,+First)
*.obj (LEADING_PART,+First)
*wap.lib (+RO-CODE)
*plutommi.lib (+RO-CODE)
*l4_classb.lib (+RO-CODE)
*mtkapp.lib (+RO-CODE)
*l1_classb.lib (+RO-CODE)
*j2me.lib (+RO-CODE)
*wapadp.lib (+RO-CODE)
*jam.lib (+RO-CODE)
*email.lib (+RO-CODE)
*l4misc.lib (+RO-CODE)
}
ROM2 +0x0 0x400000
{
.ANY (+RO-CODE)
}
ROM3 +0x0
{
.ANY (+RO-DATA)
}
EXTSRAM_LARGEPOOL_NORMAL 0x00000240
{
; For MT6219, MT6227, MT6228 projects, med_main.obj must be the first for tearing issue
j2me_custom_resource.obj (LARGEPOOL_ZI)
med_main.obj (LARGEPOOL_ZI,+First)
ScrMemMgr.obj (LARGEPOOL_ZI)
app_mem.obj (LARGEPOOL_FIRST_ZI)
}
EXTSRAM +0x00
{
* (+RW, +ZI)
}
DUMMY_END 0x00400000 0x04
{
bootarm.obj (DUMMY_POOL)
}
INTSRAM_CODE 0x40000380 0xFC00
{
isrentry.obj (INTERNCODE)
custom_emi.obj (INTERNCODE)
custom_switchclock.obj (INTERNCODE)
data_buff_pool.obj (INTERNCODE)
ctrl_buff_pool.obj (INTERNCODE)
stack_buff_pool.obj (INTERNCODE)
stack_ltlcom.obj (INTERNCODE)
kal_nucleus_buff_mgr.obj (INTERNCODE)
kal_nucleus_evshed_buff_mgr.obj (INTERNCODE)
kal_nucleus_itc.obj (INTERNCODE)
kal_nucleus_timer.obj (INTERNCODE)
lcd_dll.obj (INTERNCODE)
event_shed.obj (INTERNCODE)
stack_timer.obj (INTERNCODE)
memset.o (+RO)
rt_memclr.o (+RO)
callvia.o (+RO)
_sprintf.o (+RO)
rt_memcpy.o (+RO)
lludiv10.o (+RO)
rt_udiv.o (+RO)
tct.obj (+RO)
tcc.obj (INTERNCODE)
csc.obj (INTERNCODE)
tmt.obj (+RO)
tms.obj (+RO)
smc.obj (+RO)
evc.obj (+RO)
pmc.obj (+RO)
quc.obj (+RO)
mpal_gprs_common_func.obj (INTERNCODE)
mpal_gprs_dl_msg_hdlr.obj (INTERNCODE)
m11194.obj (INTERNCODE)
m11191.obj (INTERNCODE)
l1d_data.obj (INTERNCODE)
l1d_internal_data.obj (INTERNCODE)
m12110.obj (INTERNCODE)
m12120.obj (INTERNCODE)
m12160.obj (INTERNCODE)
m12170.obj (INTERNCODE)
m12168.obj (INTERNCODE)
m12180.obj (INTERNCODE)
m11303.obj (INTERNCODE)
m11305.obj (INTERNCODE)
m12194.obj (INTERNCODE)
ait102n.obj (INTERNCODE)
wav.obj (INTERNCODE)
wav_codec.obj (INTERNCODE)
divider.obj (+RO)
L1Trc.obj (INTERNCODE)
uart.obj (INTERNCODE)
gdi_image_gif.obj (INTERNCODE)
gdi_bytestream.obj (INTERNCODE)
gdi_image_direct_gif.obj (INTERNCODE)
gdi_mutex.obj (INTERNCODE)
bytecodesasm.obj (INTERNCODE)
j2me_custom_lcd.obj(INTERNCODE)
execute.obj (INTERNCODE)
native.obj (INTERNCODE)
*rompatch.lib (INTERNCODE)
file62.o (INTERNCODE)
file12.o (INTERNCODE)
file71.o (INTERNCODE)
*bchs.lib (BCHS_INTERNCODE)
*bchsadp.lib (BCHS_INTERNCODE)
}
INTSRAM_DATA 0x4000FF80 0x8880
{
bootarm.obj (STACK_POOL_INTSRAM)
custom_switchclock.obj (INTERNCONST, INTERNRW, INTERNZI)
isrentry.obj (INTERNCONST, INTERNRW, INTERNZI)
stack_init.obj (INTERNCONST, INTERNRW, INTERNZI)
ctrl_buff_pool.obj (INTERNCONST, INTERNRW, INTERNZI)
stack_ltlcom.obj (INTERNCONST, INTERNRW, INTERNZI)
tst*.obj (INTERNCONST, INTERNRW, INTERNZI)
tct.obj (+RW, +ZI)
tcd.obj (INTERNCONST, INTERNRW, INTERNZI)
tmd.obj (+RW, +ZI)
evd.obj (+RW, +ZI)
pmd.obj (+RW, +ZI)
qud.obj (+RW, +ZI)
smd.obj (+RW, +ZI)
mpal_gprs_common_func.obj (INTERNCONST, INTERNRW, INTERNZI)
mpal_gprs_dl_msg_hdlr.obj (INTERNCONST, INTERNRW, INTERNZI)
m11194.obj (INTERNCONST, INTERNRW, INTERNZI)
m11191.obj (INTERNCONST, INTERNRW, INTERNZI)
l1d_data.obj (INTERNCONST, INTERNRW, INTERNZI)
l1d_internal_data.obj (INTERNCONST, INTERNRW, INTERNZI)
m12110.obj (INTERNCONST, INTERNRW, INTERNZI)
m12120.obj (INTERNCONST, INTERNRW, INTERNZI)
m12160.obj (INTERNCONST, INTERNRW, INTERNZI)
m12170.obj (INTERNCONST, INTERNRW, INTERNZI)
m12168.obj (INTERNCONST, INTERNRW, INTERNZI)
m12180.obj (INTERNCONST, INTERNRW, INTERNZI)
m11303.obj (INTERNCONST, INTERNRW, INTERNZI)
m11305.obj (INTERNCONST, INTERNRW, INTERNZI)
m12194.obj (INTERNCONST, INTERNRW, INTERNZI)
L1Trc.obj (INTERNCONST, INTERNRW, INTERNZI)
gdi_image.obj (INTERNCONST, INTERNRW, INTERNZI)
gdi_bytestream.obj (INTERNCONST, INTERNRW, INTERNZI)
gdi.obj (INTERNZI)
wav.obj (INTERNCONST, INTERNRW, INTERNZI)
wav_codec.obj (INTERNCONST, INTERNRW, INTERNZI)
interpret.obj (INTERNZI)
file71.o (INTERNCONST, INTERNRW, INTERNZI)
*bchs.lib (BCHS_INTERNZI)
*bchsadp.lib (BCHS_INTERNZI)
}
DYNAMIC_CODE1 0x40018800 OVERLAY 0x5000
{
* (AMR515_DYNAMIC_CODE, AMR515_DYNAMIC_ZI)
}
DYNAMIC_CODE2 0x40018800 OVERLAY 0x5000
{
* (G3D_DYNAMIC_CODE, G3D_DYNAMIC_ZI)
}
DYNAMIC_CODE3 0x40018800 OVERLAY 0x5000
{
* (CTM_DYNAMIC_CODE, CTM_DYNAMIC_ZI)
}
DYNAMIC_CODE4 0x40018800 OVERLAY 0x5000
{
* (G729_DYNAMIC_CODE, G729_DYNAMIC_ZI)
}
DYNAMIC_CODE5 0x40018800 OVERLAY 0x5000
{
* (SBC_DYNAMIC_CODE, SBC_DYNAMIC_ZI)
}
INTSRAM_MULTIMEDIA 0x4001D800 0x29800
{
med_main.obj (INTERNRW1, INTERNZI1)
isp_comm.obj (INTERNRW1, INTERNZI1)
}
} |
|