text: //*****************************************************************************
  //
  // udma_demo.icf - Linker configuration file for udma_demo.
  //
  // Copyright (c) 2011-2014 Texas Instruments Incorporated.  All rights reserved.
  // Software License Agreement
  // 
  // Texas Instruments (TI) is supplying this software for use solely and
  // exclusively on TI's microcontroller products. The software is owned by
  // TI and/or its suppliers, and is protected under applicable copyright
  // laws. You may not combine this software with "viral" open-source
  // software in order to form a larger program.
  // 
  // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
  // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
  // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
  // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
  // DAMAGES, FOR ANY REASON WHATSOEVER.
  // 
  // This is part of revision 2.1.0.12573 of the DK-TM4C123G Firmware Package.
  //
  //*****************************************************************************
  
  //
  // Define a memory region that covers the entire 4 GB addressible space of the
  // processor.
  //
  define memory mem with size = 4G;
  
  //
  // Define a region for the on-chip flash.
  //
  define region FLASH = mem:[from 0x00000000 to 0x0003ffff];
  
  //
  // Define a region for the on-chip SRAM.
  //
  define region SRAM = mem:[from 0x20000000 to 0x20007fff];
  
  //
  // Define a block for the heap.  The size should be set to something other
  // than zero if things in the C library that require the heap are used.
  //
  define block HEAP with alignment = 8, size = 0x00000000 { };
  
  //
  // Indicate that the read/write values should be initialized by copying from
  // flash.
  //
  initialize by copy { readwrite };
  
  //
  // Indicate that the noinit values should be left alone.  This includes the
  // stack, which if initialized will destroy the return address from the
  // initialization code, causing the processor to branch to zero and fault.
  //
  do not initialize { section .noinit };
  
  //
  // Place the interrupt vectors at the start of flash.
  //
  place at start of FLASH { readonly section .intvec };
  
  //
  // Place the remainder of the read-only items into flash.
  //
  place in FLASH { readonly };
  
  //
  // Place the RAM vector table at the start of SRAM.
  //
  place at start of SRAM { section VTABLE };
  
  //
  // Place all read/write items into SRAM.
  //
  place in SRAM { readwrite, block HEAP };
  