bootblink.ldf

来自「ADI 公司的DSP ADSP21262 EZ-KIT LITE开发板的全部源代」· LDF 代码 · 共 89 行

LDF
89
字号
ARCHITECTURE(ADSP-21262)

//
//   ADSP-21262 Memory Map:
//   ------------------------------------------------
//           Block0   0x0004 0000 to 0x0004 3FFF  Long word (64) Space (1MB RAM)
//           Block0   0x0008 0000 to 0x0008 7FFF  Normal word (32) Space (1MB RAM)
//                    0x000A 0000 to 0x000A AAAA  48-bit addresses
//           Block0   0x0010 0000 to 0x0010 FFFF  Short word (16) Space (1MB RAM)

//           Block1   0x0006 0000 to 0x0006 3FFF  Long word (64) Space (1MB RAM)
//           Block1   0x000C 0000 to 0x000C 7FFF  Normal word (32) Space (1MB RAM)
//                    0x000E 0000 to 0x000E AAAA  48-bit addresses
//           Block1   0x0018 0000 to 0x0018 FFFF  Short word (16) Space (1MB RAM)

//   ------------------------------------------------
//   External memory DMA ACCESSIBLE ONLY    0x0100 0000 to 0x02FF FFFF

$OBJECTS = $COMMAND_LINE_OBJECTS;

PROCESSOR ldr   // create a dxe to be turned into a LDR and then loaded into the flash
{
    OUTPUT( $COMMAND_LINE_OUTPUT_FILE)

    MEMORY  {
        //block0
        mem_ivt  { TYPE(PM RAM) START(0x00080000) END(0x000800ff) WIDTH(48)   }
        mem_pmco { TYPE(PM RAM) START(0x00080100) END(0x000803ff) WIDTH(48)   }
        mem_pm40 { TYPE(PM RAM) START(0x00080400) END(0x000804ff) WIDTH(48)   }
        mem_pm32 { TYPE(PM RAM) START(0x00080c00) END(0x00080cff) WIDTH(32)   }
        mem_pm16 { TYPE(PM RAM) START(0x00101a00) END(0x00101aff) WIDTH(16)   }
        mem_pm64 { TYPE(PM RAM) START(0x000406c0) END(0x00041fff) WIDTH(64)   }

        //block1
        mem_dm40 { TYPE(DM RAM) START(0x000c0100) END(0x000c01ff) WIDTH(48)   }
        mem_dm32 { TYPE(DM RAM) START(0x000c0400) END(0x000c2fff) WIDTH(32)   }
        mem_dm64 { TYPE(DM RAM) START(0x00061800) END(0x0006181f) WIDTH(64)   }
        mem_6464 { TYPE(DATA64 RAM) START(0x00061820) END(0x000618ff) WIDTH(64)   }
        mem_dm16 { TYPE(DM RAM) START(0x00186400) END(0x00187fff) WIDTH(16)   }

        //external
        mem_extpm8  { TYPE(PM RAM DMAONLY) WIDTH(8) START(0x1200400) LENGTH(0x3FF)   }
        mem_ext8   { TYPE(DM RAM DMAONLY) WIDTH(8)  START(0x1200000) LENGTH(0x3FF)   }

}

    SECTIONS  {
        // map .sections defined in code to memory ranges
        dxe_ivt  { INPUT_SECTIONS( $OBJECTS(ivt_sec)  ) } > mem_ivt
        dxe_pmco { INPUT_SECTIONS( $OBJECTS(seg_pm48) ) } > mem_pmco
        dxe_pm64 { INPUT_SECTIONS( $OBJECTS(seg_pm64) ) } > mem_pm64
        dxe_pm40 { INPUT_SECTIONS( $OBJECTS(seg_pm40) ) } > mem_pm40
        dxe_pm32 { INPUT_SECTIONS( $OBJECTS(seg_pm32) ) } > mem_pm32
        dxe_pm16 { INPUT_SECTIONS( $OBJECTS(seg_pm16) ) } > mem_pm16

        dxe_dm64 { INPUT_SECTIONS( $OBJECTS(seg_dm64) ) } > mem_dm64
        dxe_6464 { INPUT_SECTIONS( $OBJECTS(seg_6464) ) } > mem_6464
        dxe_dm40 { INPUT_SECTIONS( $OBJECTS(seg_dm40) ) } > mem_dm40
        dxe_dm32 { INPUT_SECTIONS( $OBJECTS(seg_dm32) ) } > mem_dm32
        dxe_dm16 { INPUT_SECTIONS( $OBJECTS(seg_dm16) ) } > mem_dm16






        dxe_ext8    {
            INPUT_SECTIONS( $OBJECTS(seg_ext8 ) )
               PACKING(5   B0 B0 B0 B4 B5
                           B0 B0 B0 B3 B0
                           B0 B0 B0 B2 B0
                           B0 B0 B0 B1 B0)
            } > mem_ext8

        dxe_extpm8  {
            INPUT_SECTIONS( $OBJECTS(seg_extpm8)    )
            PACKING (6   B0 B0 B0 B6 B0 B0
                         B0 B0 B0 B5 B0 B0
                         B0 B0 B0 B4 B0 B0
                         B0 B0 B0 B3 B0 B0
                         B0 B0 B0 B2 B0 B0
                         B0 B0 B0 B1 B0 B0)
            } > mem_extpm8


        }
}

⌨️ 快捷键说明

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