/* * Copyright (c) 2014, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * ======== TMS320F28377S.cmd ======== * Define the memory block start/length for the TMS320F28377S */ MEMORY { PAGE 0 : /* Program Memory */ D01SARAM : origin = 0x00B000, length = 0x001000 /* Flash boot address */ BOOT_VECTOR : origin = 0x080000, length = 0x000002 /* application starting address */ BEGIN : origin = 0x084000, length = 0x000002 /* Flash sectors */ FLASHC : origin = 0x084002, length = 0x001FFE /* on-chip Flash */ FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */ FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */ FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */ FLASHG : origin = 0x098000, length = 0x007FFD /* on-chip Flash */ APP_CRC : origin = 0x09FFFE, length = 0x01 /* on-chip Flash */ APP_STATUS: origin = 0x09FFFF, length = 0x01 /* on-chip Flash */ RESET : origin = 0x3FFFC0, length = 0x000002 PAGE 1 : /* Data Memory */ BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */ M01SARAM : origin = 0x000122, length = 0x0006DE /* on-chip RAM */ LS05SARAM : origin = 0x008000, length = 0x003000 /* on-chip RAM */ /* on-chip Global shared RAMs */ RAMGS0 : origin = 0x00C000, length = 0x001000 RAMGS1 : origin = 0x00D000, length = 0x001000 RAMGS2 : origin = 0x00E000, length = 0x001000 RAMGS3 : origin = 0x00F000, length = 0x001000 RAMGS4 : origin = 0x010000, length = 0x001000 RAMGS5 : origin = 0x011000, length = 0x001000 RAMGS6 : origin = 0x012000, length = 0x001000 RAMGS7 : origin = 0x013000, length = 0x001000 RAMGS8 : origin = 0x014000, length = 0x001000 RAMGS9 : origin = 0x015000, length = 0x001000 RAMGS10 : origin = 0x016000, length = 0x001000 RAMGS11 : origin = 0x017000, length = 0x001000 RAMGS12 : origin = 0x018000, length = 0x001000 RAMGS13 : origin = 0x019000, length = 0x001000 RAMGS14 : origin = 0x01A000, length = 0x001000 RAMGS15 : origin = 0x01B000, length = 0x001000 /* External RAM CS3 512x16 */ EXTRAM : origin = 0x300000, length = 0x080000 } SECTIONS { /* Allocate program areas: */ .cinit : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .binit : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .pinit : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .text : >> FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 codestart : > BEGIN PAGE = 0 ramfuncs : LOAD = FLASHD, RUN = D01SARAM, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0 /* { -l F021_API_F2837xD_FPU32.lib(.text) } */ /* Allocate uninitalized data sections: */ .stack : > M01SARAM | LS05SARAM PAGE = 1 .ebss : >> M01SARAM | LS05SARAM | RAMGS0 | RAMGS1 | RAMGS2 | RAMGS3 | RAMGS4 | RAMGS5 | RAMGS6 | RAMGS7 | EXTRAM PAGE = 1 .esysmem : > M01SARAM | LS05SARAM PAGE = 1 .cio : > M01SARAM | RAMGS2 PAGE = 1 /* Initalized sections go in Flash */ .econst : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .switch : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .args : > FLASHC | FLASHD | FLASHE | FLASHF | FLASHG PAGE = 0 .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */ // FLASH boot entry point for 28377x at 0x80000. // The 'start.asm' file contains the .entry section which contains // a 'LB 0x84000' to vector the code to the codestart entry point. // .bootentry: > BOOT_VECTOR PAGE = 0 .appcrc: > APP_CRC PAGE = 0 }