//***************************************************************************** //! @file cx2538_setup.c //! @brief Setup code for CC2538 for use with IAR EWARM. //! //! Revised $Date: 2013-04-29 14:48:18 +0200 (ma, 29 apr 2013) $ //! Revision $Revision: 9929 $ // // Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ // // // 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. //****************************************************************************/ #include #define FLASH_START_ADDR 0x00200000 #define BOOTLOADER_BACKDOOR_DISABLE 0xEFFFFFFF //***************************************************************************** // // Customer Configuration Area in Lock Page // Holds Image Vector table address (bytes 2013 - 2015) and // Image Valid bytes (bytes 2008 -2011) // //***************************************************************************** typedef struct { uint32_t ui32BootldrCfg; uint32_t ui32ImageValid; uint32_t ui32ImageVectorAddr; } lockPageCCA_t; #ifdef __IAR_SYSTEMS_ICC__ __root const lockPageCCA_t __cca @ ".flashcca" = #elif __TI_COMPILER_VERSION__ #pragma DATA_SECTION(__cca, ".flashcca") #pragma RETAIN(__cca) const lockPageCCA_t __cca = #else __attribute__ ((section(".flashcca"), used)) const lockPageCCA_t __cca = #endif { BOOTLOADER_BACKDOOR_DISABLE, // Bootloader backdoor disabled 0, // Image valid bytes FLASH_START_ADDR // Vector table located at flash start address };