📄 21161_ezkit_lite.ldf
字号:
ARCHITECTURE(ADSP-21161)
//
// ADSP-21161 Memory Map:
// ------------------------------------------------
// Internal memory 0x0000 0000 to 0x000f ffff
// ------------------------------------------------
// 0x0000 0000 to 0x0001 ffff IOP Regs
// Block 0 0x0002 0000 to 0x0002 1fff Long Word (64) Addresses
// 0x0002 2000 to 0x0002 7fff (reserved)
// Block 1 0x0002 8000 to 0x0002 9fff Long Word (64) Addresses
// 0x0002 a000 to 0x0003 ffff (reserved)
// Block 0 0x0004 0000 to 0x0004 3fff Normal Word (32/48) Addresses
// 0x0004 4000 to 0x0004 ffff (reserved)
// Block 1 0x0005 0000 to 0x0005 3fff Normal Word (32/48) Addresses
// 0x0005 4000 to 0x0007 ffff (reserved)
// Block 0 0x0008 0000 to 0x0008 7fff Short Word (16) Addresses
// 0x0008 8000 to 0x0009 ffff (reserved)
// Block 1 0x000a 0000 to 0x000a 7fff Short Word (16) Addresses
// 0x000a 8000 to 0x000f ffff (reserved)
// ------------------------------------------------
// Multiproc memory 0x0010 0000 to 0x007f ffff
// ------------------------------------------------
// 0x0010 0000 to 0x0011 ffff Hammerhead ID=001 Internal memory
// 0x0012 0000 to 0x0013 ffff Hammerhead ID=010 Internal memory
// 0x0014 0000 to 0x0015 ffff Hammerhead ID=011 Internal memory
// 0x0016 0000 to 0x0017 ffff Hammerhead ID=100 Internal memory
// 0x0018 0000 to 0x0019 ffff Hammerhead ID=101 Internal memory
// 0x001a 0000 to 0x001b ffff Hammerhead ID=110 Internal memory
// 0x001c 0000 to 0x001f ffff Hammerhead ID=all Internal memory
// ------------------------------------------------
// External memory 0x0020 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
// 6K words of C code space in memory block 0
// 1.5K words of C PM data space in memory block 0
// 8K words of C DM data space in memory block 1
// 4K words of C heap space in memory block 1
// 4K words of C stack space in memory block 1
SEARCH_DIR( $ADI_DSP\211xx\lib )
$LIBRARIES = libc160.dlb, libio160_32.dlb, libdsp160.dlb, libcpp.dlb, libcpprt.dlb;
// Libraries from the command line are included in COMMAND_LINE_OBJECTS.
#ifdef __cplusplus
$OBJECTS = 160_cpp_hdr.doj, $COMMAND_LINE_OBJECTS;
#else
//$OBJECTS = 160_hdr.doj, $COMMAND_LINE_OBJECTS;
$OBJECTS = $COMMAND_LINE_OBJECTS;
#endif
MEMORY
{
// seg_rth { TYPE(PM RAM) START(0x00040005) END(0x000400ff) WIDTH(48) }
// seg_init { TYPE(PM RAM) START(0x00040100) END(0x000401ff) WIDTH(48) }
// seg_pmco { TYPE(PM RAM) START(0x00040200) END(0x000419ff) WIDTH(48) }
// seg_pmda { TYPE(PM RAM) START(0x00042a00) END(0x00043fff) WIDTH(32) }
// demo license 5k limit memory partitions
seg_rth { TYPE(PM RAM) START(0x00040005) END(0x000400ff) WIDTH(48) }
seg_init { TYPE(PM RAM) START(0x00040100) END(0x000401ff) WIDTH(48) }
seg_pmco { TYPE(PM RAM) START(0x00040200) END(0x000404FF) WIDTH(48) }
seg_pmda { TYPE(PM RAM) START(0x00042900) END(0x00042ba3) WIDTH(32) }
#ifdef __cplusplus
seg_ctdm { TYPE(DM RAM) START(0x00050000) END(0x000500ff) WIDTH(32) }
seg_ctdmend { TYPE(DM RAM) START(0x00050100) END(0x000501ff) WIDTH(32) }
seg_dmda { TYPE(DM RAM) START(0x00050200) END(0x00051fff) WIDTH(32) }
#else
seg_dm48 { TYPE(PM RAM) START(0x00050000) END(0x000500ff) WIDTH(48) }
seg_dm32 { TYPE(DM RAM) START(0x00050200) END(0x000502ff) WIDTH(32) }
seg_dmda { TYPE(DM RAM) START(0x00050300) END(0x00051fff) WIDTH(32) }
#endif
seg_heap { TYPE(DM RAM) START(0x00052000) END(0x00052fff) WIDTH(32) }
seg_stak { TYPE(DM RAM) START(0x00053000) END(0x00053fff) WIDTH(32) }
// External Memory SDRAM Mapped to Bank 0
segsdram { TYPE(DM RAM) START(0x00200000) END(0x002FFFFF) WIDTH(32) }
}
PROCESSOR p0
{
LINK_AGAINST( $COMMAND_LINE_LINK_AGAINST)
OUTPUT( $COMMAND_LINE_OUTPUT_FILE )
SECTIONS
{
// .text output section
seg_rth
{
INPUT_SECTIONS( $OBJECTS(isr_tbl) $LIBRARIES(isr_tbl))
} >seg_rth
seg_init
{
ldf_seginit_space = . ;
INPUT_SECTIONS( $OBJECTS(seg_init) $LIBRARIES(seg_init))
} >seg_init
seg_pmco
{
INPUT_SECTIONS( $OBJECTS(pm_code) $LIBRARIES(pm_code))
} >seg_pmco
seg_pmda
{
INPUT_SECTIONS( $OBJECTS(pm_data) $LIBRARIES(pm_data))
} >seg_pmda
#ifdef __cplusplus
seg_ctdm
{
__ctors = .; /* points to the start of the section */
INPUT_SECTIONS( $OBJECTS(seg_ctdm) $LIBRARIES(seg_ctdm))
} > seg_ctdm
seg_ctdmend
{
INPUT_SECTIONS( $OBJECTS(seg_ctdmend) $LIBRARIES(seg_ctdmend))
} > seg_ctdmend
#endif
seg_dm48
{
INPUT_SECTIONS( $OBJECTS(seg_dm48) $LIBRARIES(seg_dm48))
} > seg_dm48
seg_dm32
{
INPUT_SECTIONS( $OBJECTS(seg_dm32) $LIBRARIES(seg_dm32))
} > seg_dm32
seg_dmda
{
INPUT_SECTIONS( $OBJECTS(dm_data dm_codec) $LIBRARIES(dm_data))
} > seg_dmda
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_end = ldf_heap_space + MEMORY_SIZEOF(seg_heap) - 1;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
} > seg_heap
segsdram NO_INIT
{
INPUT_SECTIONS( $OBJECTS(segsdram) $LIBRARIES(segsdram))
} > segsdram
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -