nova proba

Committer:
Bosko Lekovic
Date:
Mon Jan 18 14:46:46 2021 +0100
Revision:
28:49bafc8bb056
novije

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bosko Lekovic 28:49bafc8bb056 1 #! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4 -I.\mbed-os\targets\TARGET_Freescale\TARGET_MCUXpresso_MCUS\TARGET_MCU_K64F\device\TOOLCHAIN_ARM_STD
Bosko Lekovic 28:49bafc8bb056 2 /*
Bosko Lekovic 28:49bafc8bb056 3 ** ###################################################################
Bosko Lekovic 28:49bafc8bb056 4 ** Processors: MK64FN1M0CAJ12
Bosko Lekovic 28:49bafc8bb056 5 ** MK64FN1M0VDC12
Bosko Lekovic 28:49bafc8bb056 6 ** MK64FN1M0VLL12
Bosko Lekovic 28:49bafc8bb056 7 ** MK64FN1M0VLQ12
Bosko Lekovic 28:49bafc8bb056 8 ** MK64FN1M0VMD12
Bosko Lekovic 28:49bafc8bb056 9 **
Bosko Lekovic 28:49bafc8bb056 10 ** Compiler: Keil ARM C/C++ Compiler
Bosko Lekovic 28:49bafc8bb056 11 ** Reference manual: K64P144M120SF5RM, Rev.2, January 2014
Bosko Lekovic 28:49bafc8bb056 12 ** Version: rev. 2.9, 2016-03-21
Bosko Lekovic 28:49bafc8bb056 13 ** Build: b160406
Bosko Lekovic 28:49bafc8bb056 14 **
Bosko Lekovic 28:49bafc8bb056 15 ** Abstract:
Bosko Lekovic 28:49bafc8bb056 16 ** Linker file for the Keil ARM C/C++ Compiler
Bosko Lekovic 28:49bafc8bb056 17 **
Bosko Lekovic 28:49bafc8bb056 18 ** Copyright (c) 2016 Freescale Semiconductor, Inc.
Bosko Lekovic 28:49bafc8bb056 19 ** All rights reserved.
Bosko Lekovic 28:49bafc8bb056 20 **
Bosko Lekovic 28:49bafc8bb056 21 ** Redistribution and use in source and binary forms, with or without modification,
Bosko Lekovic 28:49bafc8bb056 22 ** are permitted provided that the following conditions are met:
Bosko Lekovic 28:49bafc8bb056 23 **
Bosko Lekovic 28:49bafc8bb056 24 ** o Redistributions of source code must retain the above copyright notice, this list
Bosko Lekovic 28:49bafc8bb056 25 ** of conditions and the following disclaimer.
Bosko Lekovic 28:49bafc8bb056 26 **
Bosko Lekovic 28:49bafc8bb056 27 ** o Redistributions in binary form must reproduce the above copyright notice, this
Bosko Lekovic 28:49bafc8bb056 28 ** list of conditions and the following disclaimer in the documentation and/or
Bosko Lekovic 28:49bafc8bb056 29 ** other materials provided with the distribution.
Bosko Lekovic 28:49bafc8bb056 30 **
Bosko Lekovic 28:49bafc8bb056 31 ** o Neither the name of Freescale Semiconductor, Inc. nor the names of its
Bosko Lekovic 28:49bafc8bb056 32 ** contributors may be used to endorse or promote products derived from this
Bosko Lekovic 28:49bafc8bb056 33 ** software without specific prior written permission.
Bosko Lekovic 28:49bafc8bb056 34 **
Bosko Lekovic 28:49bafc8bb056 35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
Bosko Lekovic 28:49bafc8bb056 36 ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Bosko Lekovic 28:49bafc8bb056 37 ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Bosko Lekovic 28:49bafc8bb056 38 ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
Bosko Lekovic 28:49bafc8bb056 39 ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
Bosko Lekovic 28:49bafc8bb056 40 ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
Bosko Lekovic 28:49bafc8bb056 41 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
Bosko Lekovic 28:49bafc8bb056 42 ** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Bosko Lekovic 28:49bafc8bb056 43 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
Bosko Lekovic 28:49bafc8bb056 44 ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Bosko Lekovic 28:49bafc8bb056 45 **
Bosko Lekovic 28:49bafc8bb056 46 ** http: www.freescale.com
Bosko Lekovic 28:49bafc8bb056 47 ** mail: support@freescale.com
Bosko Lekovic 28:49bafc8bb056 48 **
Bosko Lekovic 28:49bafc8bb056 49 ** ###################################################################
Bosko Lekovic 28:49bafc8bb056 50 */
Bosko Lekovic 28:49bafc8bb056 51 #define __ram_vector_table__ 1
Bosko Lekovic 28:49bafc8bb056 52
Bosko Lekovic 28:49bafc8bb056 53 #if (defined(__ram_vector_table__))
Bosko Lekovic 28:49bafc8bb056 54 #define __ram_vector_table_size__ 0x00000400
Bosko Lekovic 28:49bafc8bb056 55 #else
Bosko Lekovic 28:49bafc8bb056 56 #define __ram_vector_table_size__ 0x00000000
Bosko Lekovic 28:49bafc8bb056 57 #endif
Bosko Lekovic 28:49bafc8bb056 58
Bosko Lekovic 28:49bafc8bb056 59 #if !defined(MBED_APP_START)
Bosko Lekovic 28:49bafc8bb056 60 #define MBED_APP_START 0
Bosko Lekovic 28:49bafc8bb056 61 #endif
Bosko Lekovic 28:49bafc8bb056 62
Bosko Lekovic 28:49bafc8bb056 63 #if !defined(MBED_APP_SIZE)
Bosko Lekovic 28:49bafc8bb056 64 #define MBED_APP_SIZE 0x100000
Bosko Lekovic 28:49bafc8bb056 65 #endif
Bosko Lekovic 28:49bafc8bb056 66
Bosko Lekovic 28:49bafc8bb056 67 #if !defined(MBED_BOOT_STACK_SIZE)
Bosko Lekovic 28:49bafc8bb056 68 #define MBED_BOOT_STACK_SIZE 0x400
Bosko Lekovic 28:49bafc8bb056 69 #endif
Bosko Lekovic 28:49bafc8bb056 70
Bosko Lekovic 28:49bafc8bb056 71 #define m_interrupts_start MBED_APP_START
Bosko Lekovic 28:49bafc8bb056 72 #define m_interrupts_size 0x00000400
Bosko Lekovic 28:49bafc8bb056 73
Bosko Lekovic 28:49bafc8bb056 74 #define m_flash_config_start MBED_APP_START + 0x400
Bosko Lekovic 28:49bafc8bb056 75 #define m_flash_config_size 0x00000010
Bosko Lekovic 28:49bafc8bb056 76
Bosko Lekovic 28:49bafc8bb056 77 #define m_text_start MBED_APP_START + 0x410
Bosko Lekovic 28:49bafc8bb056 78 #define m_text_size MBED_APP_SIZE - 0x410
Bosko Lekovic 28:49bafc8bb056 79
Bosko Lekovic 28:49bafc8bb056 80 #define m_interrupts_ram_start 0x1FFF0000
Bosko Lekovic 28:49bafc8bb056 81 #define m_interrupts_ram_size __ram_vector_table_size__
Bosko Lekovic 28:49bafc8bb056 82
Bosko Lekovic 28:49bafc8bb056 83 #define m_crash_report_ram_start (m_interrupts_ram_start + m_interrupts_ram_size)
Bosko Lekovic 28:49bafc8bb056 84 #define m_crash_report_ram_size (0x100)
Bosko Lekovic 28:49bafc8bb056 85
Bosko Lekovic 28:49bafc8bb056 86 #define m_data_start (m_crash_report_ram_start + m_crash_report_ram_size)
Bosko Lekovic 28:49bafc8bb056 87 #define m_data_size (0x00010000 - (m_interrupts_ram_size+m_crash_report_ram_size))
Bosko Lekovic 28:49bafc8bb056 88
Bosko Lekovic 28:49bafc8bb056 89 #define m_data_2_start 0x20000000
Bosko Lekovic 28:49bafc8bb056 90 #define m_data_2_size 0x00030000
Bosko Lekovic 28:49bafc8bb056 91
Bosko Lekovic 28:49bafc8bb056 92 /* Sizes */
Bosko Lekovic 28:49bafc8bb056 93 #if (defined(__stack_size__))
Bosko Lekovic 28:49bafc8bb056 94 #define Stack_Size __stack_size__
Bosko Lekovic 28:49bafc8bb056 95 #else
Bosko Lekovic 28:49bafc8bb056 96 #define Stack_Size MBED_BOOT_STACK_SIZE
Bosko Lekovic 28:49bafc8bb056 97 #endif
Bosko Lekovic 28:49bafc8bb056 98
Bosko Lekovic 28:49bafc8bb056 99 LR_IROM1 m_interrupts_start m_text_start+m_text_size-m_interrupts_start { ; load region size_region
Bosko Lekovic 28:49bafc8bb056 100 VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
Bosko Lekovic 28:49bafc8bb056 101 * (RESET,+FIRST)
Bosko Lekovic 28:49bafc8bb056 102 }
Bosko Lekovic 28:49bafc8bb056 103 ER_m_flash_config m_flash_config_start FIXED m_flash_config_size { ; load address = execution address
Bosko Lekovic 28:49bafc8bb056 104 * (FlashConfig)
Bosko Lekovic 28:49bafc8bb056 105 }
Bosko Lekovic 28:49bafc8bb056 106 ER_IROM1 m_text_start m_text_size { ; load address = execution address
Bosko Lekovic 28:49bafc8bb056 107 * (InRoot$$Sections)
Bosko Lekovic 28:49bafc8bb056 108 .ANY (+RO)
Bosko Lekovic 28:49bafc8bb056 109 }
Bosko Lekovic 28:49bafc8bb056 110
Bosko Lekovic 28:49bafc8bb056 111 #if (defined(__ram_vector_table__))
Bosko Lekovic 28:49bafc8bb056 112 VECTOR_RAM m_interrupts_ram_start EMPTY m_interrupts_ram_size {
Bosko Lekovic 28:49bafc8bb056 113 }
Bosko Lekovic 28:49bafc8bb056 114 #else
Bosko Lekovic 28:49bafc8bb056 115 VECTOR_RAM m_interrupts_start EMPTY 0 {
Bosko Lekovic 28:49bafc8bb056 116 }
Bosko Lekovic 28:49bafc8bb056 117 #endif
Bosko Lekovic 28:49bafc8bb056 118 RW_m_crash_data m_crash_report_ram_start EMPTY m_crash_report_ram_size { ; RW data
Bosko Lekovic 28:49bafc8bb056 119 }
Bosko Lekovic 28:49bafc8bb056 120 RW_m_data m_data_start m_data_size { ; RW data
Bosko Lekovic 28:49bafc8bb056 121 .ANY2 (+RW +ZI)
Bosko Lekovic 28:49bafc8bb056 122 }
Bosko Lekovic 28:49bafc8bb056 123 RW_m_data_2 m_data_2_start m_data_2_size { ; RW data
Bosko Lekovic 28:49bafc8bb056 124 .ANY1 (+RW +ZI)
Bosko Lekovic 28:49bafc8bb056 125 }
Bosko Lekovic 28:49bafc8bb056 126 RW_IRAM1 ImageLimit(RW_m_data_2) EMPTY 0 {
Bosko Lekovic 28:49bafc8bb056 127 }
Bosko Lekovic 28:49bafc8bb056 128 ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (m_data_2_start + m_data_2_size - Stack_Size - AlignExpr(ImageLimit(RW_IRAM1), 16)) { ; Heap region growing up
Bosko Lekovic 28:49bafc8bb056 129 }
Bosko Lekovic 28:49bafc8bb056 130 ARM_LIB_STACK m_data_2_start+m_data_2_size EMPTY -Stack_Size { ; Stack region growing down
Bosko Lekovic 28:49bafc8bb056 131 }
Bosko Lekovic 28:49bafc8bb056 132 }