summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt3
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr.ld4
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr_bin.ld63
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram.ld4
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram_bin.ld63
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld4
-rw-r--r--platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm_bin.ld63
7 files changed, 197 insertions, 7 deletions
diff --git a/examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt b/examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt
index 287e9f8..3942552 100644
--- a/examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt
+++ b/examples/imx7_colibri_m4/demo_apps/hello_world/armgcc/CMakeLists.txt
@@ -144,4 +144,5 @@ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Xlinker -Map=${ProjectNa
# BIN AND HEX
ADD_CUSTOM_COMMAND(TARGET ${ProjectName} POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Oihex ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.elf ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.hex)
-ADD_CUSTOM_COMMAND(TARGET ${ProjectName} POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.elf ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.bin)
+# bin does not support sparse memory area, which our default linker file uses...
+#ADD_CUSTOM_COMMAND(TARGET ${ProjectName} POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.elf ${EXECUTABLE_OUTPUT_PATH}/${ProjectName}.bin)
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr.ld
index 2c3baf8..0b6b26e 100644
--- a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr.ld
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr.ld
@@ -55,8 +55,8 @@ STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
/* Specify the memory areas */
MEMORY
{
- m_interrupts (RX) : ORIGIN = 0x1ff00000, LENGTH = 0x00000240
- m_text (RX) : ORIGIN = 0x1ff00240, LENGTH = 0x0007FDC0
+ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x1ff00000, LENGTH = 0x00080000
m_data (RW) : ORIGIN = 0x8ff80000, LENGTH = 0x00070000
}
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr_bin.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr_bin.ld
new file mode 100644
index 0000000..2c3baf8
--- /dev/null
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ddr_bin.ld
@@ -0,0 +1,63 @@
+/*
+** ###################################################################
+** Processors: MCIMX7D7DVK10SA
+** MCIMX7D7DVM10SA
+** MCIMX7D3DVK10SA
+** MCIMX7D3EVM10SA
+**
+** Compiler: GNU C Compiler
+** Reference manual: IMX7DRM, Rev.A, February 2015
+** Version: rev. 1.0, 2015-05-19
+**
+** Abstract:
+** Linker file for the GNU C Compiler
+**
+** Copyright (c) 2015 Freescale Semiconductor, Inc.
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** o Redistributions of source code must retain the above copyright notice, this list
+** of conditions and the following disclaimer.
+**
+** o 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.
+**
+** o Neither the name of Freescale Semiconductor, Inc. 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 HOLDER 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.
+**
+** http: www.freescale.com
+** mail: support@freescale.com
+**
+** ###################################################################
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
+STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
+
+/* Specify the memory areas */
+MEMORY
+{
+ m_interrupts (RX) : ORIGIN = 0x1ff00000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x1ff00240, LENGTH = 0x0007FDC0
+ m_data (RW) : ORIGIN = 0x8ff80000, LENGTH = 0x00070000
+}
+
+INCLUDE "MCIMX7D_M4.ld"
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram.ld
index c78f035..c38b4d8 100644
--- a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram.ld
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram.ld
@@ -55,8 +55,8 @@ STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
/* Specify the memory areas */
MEMORY
{
- m_interrupts (RX) : ORIGIN = 0x00910000, LENGTH = 0x00000240
- m_text (RX) : ORIGIN = 0x00910240, LENGTH = 0x0000fdc0
+ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x00910000, LENGTH = 0x00010000
m_data (RW) : ORIGIN = 0x20220000, LENGTH = 0x00020000 /* EPDC */
}
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram_bin.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram_bin.ld
new file mode 100644
index 0000000..c78f035
--- /dev/null
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_ocram_bin.ld
@@ -0,0 +1,63 @@
+/*
+** ###################################################################
+** Processors: MCIMX7D7DVK10SA
+** MCIMX7D7DVM10SA
+** MCIMX7D3DVK10SA
+** MCIMX7D3EVM10SA
+**
+** Compiler: GNU C Compiler
+** Reference manual: IMX7DRM, Rev.A, February 2015
+** Version: rev. 1.0, 2015-05-19
+**
+** Abstract:
+** Linker file for the GNU C Compiler
+**
+** Copyright (c) 2015 Freescale Semiconductor, Inc.
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** o Redistributions of source code must retain the above copyright notice, this list
+** of conditions and the following disclaimer.
+**
+** o 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.
+**
+** o Neither the name of Freescale Semiconductor, Inc. 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 HOLDER 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.
+**
+** http: www.freescale.com
+** mail: support@freescale.com
+**
+** ###################################################################
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
+STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
+
+/* Specify the memory areas */
+MEMORY
+{
+ m_interrupts (RX) : ORIGIN = 0x00910000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x00910240, LENGTH = 0x0000fdc0
+ m_data (RW) : ORIGIN = 0x20220000, LENGTH = 0x00020000 /* EPDC */
+}
+
+INCLUDE "MCIMX7D_M4.ld"
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld
index 9feff17..220e9da 100644
--- a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld
@@ -55,8 +55,8 @@ STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
/* Specify the memory areas */
MEMORY
{
- m_interrupts (RX) : ORIGIN = 0x1FFF8000, LENGTH = 0x00000240
- m_text (RX) : ORIGIN = 0x1FFF8240, LENGTH = 0x00007DC0
+ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00008000
}
diff --git a/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm_bin.ld b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm_bin.ld
new file mode 100644
index 0000000..9feff17
--- /dev/null
+++ b/platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm_bin.ld
@@ -0,0 +1,63 @@
+/*
+** ###################################################################
+** Processors: MCIMX7D7DVK10SA
+** MCIMX7D7DVM10SA
+** MCIMX7D3DVK10SA
+** MCIMX7D3EVM10SA
+**
+** Compiler: GNU C Compiler
+** Reference manual: IMX7DRM, Rev.A, February 2015
+** Version: rev. 1.0, 2015-05-19
+**
+** Abstract:
+** Linker file for the GNU C Compiler
+**
+** Copyright (c) 2015 Freescale Semiconductor, Inc.
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** o Redistributions of source code must retain the above copyright notice, this list
+** of conditions and the following disclaimer.
+**
+** o 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.
+**
+** o Neither the name of Freescale Semiconductor, Inc. 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 HOLDER 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.
+**
+** http: www.freescale.com
+** mail: support@freescale.com
+**
+** ###################################################################
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
+STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
+
+/* Specify the memory areas */
+MEMORY
+{
+ m_interrupts (RX) : ORIGIN = 0x1FFF8000, LENGTH = 0x00000240
+ m_text (RX) : ORIGIN = 0x1FFF8240, LENGTH = 0x00007DC0
+ m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00008000
+}
+
+INCLUDE "MCIMX7D_M4.ld"