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

📄 adsp-21060.ldf

📁 关于can总线2.0的发送和接受程序,经项目验证通过,具有极大的参考价值.
💻 LDF
字号:

ARCHITECTURE(ADSP-21060)

//
// ADSP-21060 Memory Map:
//   ------------------------------------------------
//   Internal memory  0x0000 0000 to 0x0007 ffff
//   ------------------------------------------------
//                    0x0000 0000 to 0x0000 00ff  IOP Regs
//                    0x0000 0100 to 0x0001 ffff  (reserved)
//           Block 0  0x0002 0000 to 0x0002 ffff  Normal Word (32/48) Addresses
//                   (0x0002 0000 to 0x0002 9fff) 48-bit words
//                   (0x0002 0000 to 0x0002 ffff) 32-bit words
//           Block 1  0x0003 0000 to 0x0003 ffff  Normal Word (32/48) Addresses
//                   (0x0003 0000 to 0x0003 9fff) 48-bit words
//                   (0x0003 8000 to 0x0003 ffff) 32-bit words
//           Block 0  0x0004 0000 to 0x0005 ffff  Short Word (16) Addresses
//           Block 1  0x0006 0000 to 0x0007 ffff  Short Word (16) Addresses
//   ------------------------------------------------
//   Multiproc memory 0x0008 0000 to 0x003f ffff
//   ------------------------------------------------
//                    0x0008 0000 to 0x000f ffff  SHARC ID=001 Internal memory
//                    0x0010 0000 to 0x0017 ffff  SHARC ID=010 Internal memory
//                    0x0018 0000 to 0x001f ffff  SHARC ID=011 Internal memory
//                    0x0020 0000 to 0x0027 ffff  SHARC ID=100 Internal memory
//                    0x0028 0000 to 0x002f ffff  SHARC ID=101 Internal memory
//                    0x0030 0000 to 0x0037 ffff  SHARC ID=110 Internal memory
//                    0x0038 0000 to 0x003f ffff  SHARC ID=all Internal memory
//   ------------------------------------------------
//   External memory  0x0040 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
//                  36K words of C code space in memory block 0
//                 3.5K 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\21k\lib )

// The lib060.dlb must come before libc.dlb because libc.dlb has some 21020
// specific code and data
$LIBRARIES = libc.dlb, libio32.dlb, libcpp.dlb, libcpprt.dlb;

// Libraries from the command line are included in COMMAND_LINE_OBJECTS.
#ifdef __cplusplus
$OBJECTS =  $COMMAND_LINE_OBJECTS;
#else
$OBJECTS =  $COMMAND_LINE_OBJECTS;
#endif

MEMORY
{
	seg_rth  { TYPE(PM RAM) START(0x00020000) END(0x000200ff) WIDTH(48) }
	seg_init { TYPE(PM RAM) START(0x00020100) END(0x0002010f) WIDTH(48) }
	seg_pmco { TYPE(PM RAM) START(0x00020110) END(0x000291ff) WIDTH(48) }
	seg_pmda { TYPE(PM RAM) START(0x0002d200) END(0x0002efff) WIDTH(32) }
	seg_aaa  { TYPE(DM RAM) START(0x00400000) END(0x103fffff) WIDTH(32) }
    seg_bbb  { TYPE(DM RAM) START(0x10400000) END(0x203fffff) WIDTH(32) }
	seg_ccc  { TYPE(DM RAM) START(0x20400000) END(0x303fffff) WIDTH(32) }
    seg_ddd  { TYPE(DM RAM) START(0x30400000) END(0x403fffff) WIDTH(32) }

#ifdef __cplusplus
	seg_ctdm { TYPE(DM RAM) START(0x00030000) END(0x000300ff) WIDTH(32) }
	seg_ctdmend { TYPE(DM RAM) START(0x00030100) END(0x000301ff) WIDTH(32) }
	seg_dmda { TYPE(DM RAM) START(0x00030200) END(0x00037fff) WIDTH(32) }
#else
	seg_dmda { TYPE(DM RAM) START(0x00030000) END(0x00037fff) WIDTH(32) }
#endif
	seg_heap { TYPE(DM RAM) START(0x00038000) END(0x0003dfff) WIDTH(32) }
	seg_stak { TYPE(DM RAM) START(0x0003e000) END(0x0003ffff) WIDTH(32) }
}



PROCESSOR p0
{
    LINK_AGAINST( $COMMAND_LINE_LINK_AGAINST)
    OUTPUT( $COMMAND_LINE_OUTPUT_FILE )

    SECTIONS
    {
	
		seg_rth
		{
			INPUT_SECTIONS( $OBJECTS(seg_rth) $LIBRARIES(seg_rth))
		} >seg_rth

		seg_init
		{
			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_aaa
		{
			INPUT_SECTIONS( $OBJECTS(seg_aaa) $LIBRARIES(seg_aaa))
		} >seg_aaa

		seg_bbb
		{
			INPUT_SECTIONS( $OBJECTS(seg_bbb) $LIBRARIES(seg_bbb))
		} >seg_bbb

		seg_ccc
		{
			INPUT_SECTIONS( $OBJECTS(seg_ccc) $LIBRARIES(seg_ccc))
		} >seg_ccc

		seg_ddd
		{
			INPUT_SECTIONS( $OBJECTS(seg_ddd) $LIBRARIES(seg_ddd))
		} >seg_ddd


#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_dmda
		{
			INPUT_SECTIONS( $OBJECTS(seg_dmda) $LIBRARIES(seg_dmda))
		} > 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
		
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -