⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dotprodasm.ldf

📁 五部分
💻 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 + -