📄 adsp-21160.ldf
字号:
ARCHITECTURE(ADSP-21160)
//
// ADSP-21160 Memory Map:
// ------------------------------------------------
// Internal memory 0x0000 0000 to 0x000f ffff
// ------------------------------------------------
// 0x0000 0000 to 0x0000 0?ff IOP Regs
// 0x0000 0?00 to 0x0001 ffff (reserved)
// Block 0 0x0002 0000 to 0x0002 7fff Long Word (64) Addresses
// Block 1 0x0002 8000 to 0x0002 ffff Long Word (64) Addresses
// 0x0003 0000 to 0x0003 ffff (reserved)
// Block 0 0x0004 0000 to 0x0004 ffff Normal Word (32/48) Addresses
// Block 1 0x0005 0000 to 0x0005 ffff Normal Word (32/48) Addresses
// 0x0006 0000 to 0x0007 ffff (reserved)
// Block 0 0x0008 0000 to 0x0009 ffff Short Word (16) Addresses
// Block 1 0x000a 0000 to 0x000b ffff Short Word (16) Addresses
// 0x000c 0000 to 0x000f ffff (reserved)
// ------------------------------------------------
// Multiproc memory 0x0010 0000 to 0x007f ffff
// ------------------------------------------------
// 0x0010 0000 to 0x001f ffff ADSP-21160 ID=001 Internal memory
// 0x0020 0000 to 0x002f ffff ADSP-21160 ID=010 Internal memory
// 0x0030 0000 to 0x003f ffff ADSP-21160 ID=011 Internal memory
// 0x0040 0000 to 0x004f ffff ADSP-21160 ID=100 Internal memory
// 0x0050 0000 to 0x005f ffff ADSP-21160 ID=101 Internal memory
// 0x0060 0000 to 0x006f ffff ADSP-21160 ID=110 Internal memory
// 0x0070 0000 to 0x007f ffff ADSP-21160 ID=all Internal memory
// ------------------------------------------------
// External memory 0x0080 0000 to 0xffff ffff
// ------------------------------------------------
//
// This architecture file allocates:
// Internal 256 words of run-time header in memory block 0
// 256 words of initialization code in memory block 0
// 38K words of C code space in memory block 0
// 6K words of C PM data space in memory block 0
// 32K words of C DM data space in memory block 1
// 8K words of C heap space in memory block 1
// 8K words of C stack space in memory block 1
SEARCH_DIR( $ADI_DSP\211xx\lib )
#ifdef _ADI_THREADS
$LIBRARIES = libc160mt.dlb, libiomt.dlb, libdsp160.dlb, libcppmt.dlb, libcpprt.dlb;
#else
$LIBRARIES = libc160.dlb, libio.dlb, libdsp160.dlb, libcpp.dlb, libcpprt.dlb;
#endif
// Libraries from the command line are included in COMMAND_LINE_OBJECTS.
#ifdef __cplusplus
#ifdef _ADI_THREADS
$OBJECTS = 160_cpp_hdr_mt.doj, $COMMAND_LINE_OBJECTS;
#else
$OBJECTS = 160_cpp_hdr.doj, $COMMAND_LINE_OBJECTS;
#endif
#else
$OBJECTS = 160_hdr.doj, $COMMAND_LINE_OBJECTS;
#endif
MEMORY
{
seg_rth { TYPE(PM RAM) START(0x00040000) END(0x000400ff) WIDTH(48) }
seg_init { TYPE(PM RAM) START(0x00040100) END(0x000401ff) WIDTH(48) }
seg_pmco { TYPE(PM RAM) START(0x00040200) END(0x00049553) WIDTH(48) }
seg_pmda { TYPE(PM RAM) START(0x0004e000) END(0x0004e5ff) WIDTH(32) }
seg_pmda16 { TYPE(PM RAM) START(0x0009cc00) END(0x0009ffff) WIDTH(16) }
seg_dmda { TYPE(DM RAM) START(0x0005b000) END(0x0005bfff) WIDTH(32) }
seg_dmda16 { TYPE(DM RAM) START(0x000a0000) END(0x000b5fff) WIDTH(16) }
dm_extda { TYPE(DM RAM) START(0x00800001) END(0x009fffff) WIDTH(32) }
ext_reg { TYPE(DM RAM) START(0x00c00000) END(0x00c00fff) WIDTH(32) } /*MS2*/
ext_lcd { TYPE(DM RAM) START(0x00e00000) END(0x00efffff) WIDTH(32) } /*MS3*/
seg_heap { TYPE(DM RAM) START(0x0005c000) END(0x0005dfff) WIDTH(32) }
seg_stak { TYPE(DM RAM) START(0x0005e000) END(0x0005ffff) WIDTH(32) }
}
PROCESSOR p0
{
LINK_AGAINST( $COMMAND_LINE_LINK_AGAINST)
OUTPUT( $COMMAND_LINE_OUTPUT_FILE )
SECTIONS
{
// .text output section
seg_rth
{
INPUT_SECTIONS( $OBJECTS(seg_rth) $LIBRARIES(seg_rth))
} >seg_rth
seg_init
{
ldf_seginit_space = . ;
INPUT_SECTIONS( $OBJECTS(seg_init) $LIBRARIES(seg_init))
} >seg_init
seg_pmco
{
INPUT_SECTIONS( $OBJECTS(seg_pmco) $LIBRARIES(seg_pmco))
} >seg_pmco
seg_pmda
{
INPUT_SECTIONS( $OBJECTS(seg_pmda) $LIBRARIES(seg_pmda))
} >seg_pmda
seg_pmda16
{
INPUT_SECTIONS( $OBJECTS(seg_pmda16) $LIBRARIES(seg_pmda16))
} >seg_pmda16
dm_extda
{
INPUT_SECTIONS( $OBJECTS(dm_extda) $LIBRARIES(dm_extda))
} >dm_extda
ext_reg
{
INPUT_SECTIONS( $OBJECTS(ext_reg) $LIBRARIES(ext_reg))
} >ext_reg
ext_lcd
{
INPUT_SECTIONS( $OBJECTS(ext_lcd) $LIBRARIES(ext_lcd))
} >ext_lcd
seg_dmda
{
INPUT_SECTIONS( $OBJECTS(seg_dmda) $LIBRARIES(seg_dmda))
} > seg_dmda
seg_dmda16
{
INPUT_SECTIONS( $OBJECTS(seg_dmda16) $LIBRARIES(seg_dmda16))
} > seg_dmda16
stackseg
{
// allocate a stack for the application
ldf_stack_space = .;
ldf_stack_length = MEMORY_SIZEOF(seg_stak);
} > seg_stak
heap
{
// allocate a heap for the application
ldf_heap_space = .;
ldf_heap_length = MEMORY_SIZEOF(seg_heap);
ldf_heap_end = ldf_heap_space + ldf_heap_length - 1;
} > seg_heap
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -