?? dotprodasm.ldf
字號:
ARCHITECTURE(ADSP-21065L)
///////////////////////////////////////////////////////////////////////////////
//
// ADSP-21065L Memory Map:
// ------------------------------------------------
// Internal memory 0x0000 0000 to 0x0007 ffff
// ------------------------------------------------
// 0x0000 0000 to 0x0000 00ff IOP Regs
// 0x0000 0100 to 0x0000 01ff IOP Regs of Processor ID 001
// 0x0000 0200 to 0x0000 02ff IOP Regs of Processor ID 002
// 0x0000 0300 to 0x0000 07ff Reserved
// Block 0 0x0000 8000 to 0x0000 9fff Normal Word (32/48) Addresses
// (0x0000 8000 to 0x0000 97ff) 48-bit words
// (0x0000 8000 to 0x0000 9fff) 32-bit words
// 0x0000 A000 to 0x0000 Bfff Reserved
// Block 1 0x0000 C000 to 0x0000 Dfff Normal Word (32/48) Addresses
// (0x0000 C000 to 0x0000 Cfff) 48-bit words
// (0x0000 C000 to 0x0000 Dfff) 32-bit words
// 0x0000 E000 to 0x0000 ffff Reserved
// Block 0 0x0001 0000 to 0x0001 3fff Short Word (16) Addresses
// 0x0001 4000 to 0x0001 7fff Reserved
// Block 1 0x0001 8000 to 0x0001 Bfff Short Word (16) Addresses
// 0x0001 C000 to 0x0001 ffff Reserved
// ------------------------------------------------
// External memory 0x0002 0000 to 0x03ff ffff
// ------------------------------------------------
// External Bank 0 0x0002 0000 to 0x00ff ffff
// External Bank 1 0x0100 0000 to 0x01ff ffff
// External Bank 2 0x0200 0000 to 0x02ff ffff
// External Bank 3 0x0300 0000 to 0x03ff ffff
//
// This architecture file allocates:
// Internal 256 words of run-time header in memory block 0
// 16 words of initialization code in memory block 0
// 3.73K words of C code space in memory block 0
// 2K words of C PM data space in memory block 0
// 4K words of C DM data space in memory block 1
// 1.25K words of C heap space in memory block 1
// 2.75K words of C stack space in memory block 1
//
///////////////////////////////////////////////////////////////////////////////
SEARCH_DIR( $ADI_DSP\21k\lib)
$LIBRARIES = lib060.dlb, libc.dlb, libio32.dlb;
$OBJECTS = 060_hdr.doj, $COMMAND_LINE_OBJECTS;
MEMORY
{
isr_table { TYPE(PM RAM) START(0x00008000) END(0x00080cF) WIDTH(48) }
seg_init { TYPE(PM RAM) START(0x000080d0) END(0x00080df) WIDTH(48) }
b0_code { TYPE(PM RAM) START(0x000080e0) END(0x00008fff) WIDTH(48) }
b0_data { TYPE(PM RAM) START(0x00009800) END(0x00009cff) WIDTH(32) }
b0_idat { TYPE(DM RAM) START(0x00009d00) END(0x00009fff) WIDTH(32) }
b1_code { TYPE(PM RAM) START(0x0000C000) END(0x0000C7ff) WIDTH(48) }
b1_data { TYPE(DM RAM) START(0x0000D000) END(0x0000D2ff) WIDTH(32) }
seg_heap { TYPE(DM RAM) START(0x0000D300) END(0x0000D9ff) WIDTH(32) }
seg_stak { TYPE(DM RAM) START(0x0000DA00) END(0x0000Dfff) WIDTH(32) }
ovl_code { TYPE(DM RAM) START(0x00020000) END(0x00020FFF) WIDTH(32) }
}
PROCESSOR p0
{
LINK_AGAINST( $COMMAND_LINE_LINK_AGAINST) // Other object files to link against.
OUTPUT( $COMMAND_LINE_OUTPUT_FILE ) // Resulting executable file name.
SECTIONS
{
// Map the sections specified in the program files to sections declared in
// MEMORY and use these sections to create the object file for processor p0.
interupt_vector_table
{
INPUT_SECTIONS( $OBJECTS(seg_rth) $LIBRARIES(seg_rth))
} >isr_table
seg_init
{
INPUT_SECTIONS( $OBJECTS(seg_init) $LIBRARIES(seg_init))
} >seg_init
block0_program_code
{
INPUT_SECTIONS( dotprod_main.doj(seg_pmco) $LIBRARIES(seg_pmco))
} >b0_code
block1_program_code
{
INPUT_SECTIONS( dotprod.doj(seg_pmco) dotprod.doj(pm_code1) dotprod.doj(pm_code2) dotprod.doj(pm_code3))
} >b1_code
block0_data
{
INPUT_SECTIONS( $OBJECTS(seg_pmda) $LIBRARIES(seg_pmda))
} >b0_data
block1_data
{
INPUT_SECTIONS( $OBJECTS(seg_dmda) $LIBRARIES(seg_dmda))
} >b1_data
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
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -