M board/rt1051/CMakeLists.txt => board/rt1051/CMakeLists.txt +8 -0
@@ 1,3 1,11 @@
+add_subdirectory(${BOARD})
+
+if (${MEMORY_LINKER_FILE_PATH} STREQUAL "")
+ message(FATAL_ERROR "Linker RAM layout not provided")
+endif()
+
+set (CMAKE_EXE_LINKER_FLAGS "-nostdlib -Xlinker --gc-sections -Xlinker --sort-section=alignment -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Xlinker -print-memory-usage -T ${LDSCRIPTSDIR}/libs.ld -T ${MEMORY_LINKER_FILE_PATH} -T ${LDSCRIPTSDIR}/sections.ld -nostartfiles" CACHE INTERNAL "")
+
target_sources(board
PRIVATE
_exit.c
A board/rt1051/bellpx/CMakeLists.txt => board/rt1051/bellpx/CMakeLists.txt +8 -0
@@ 0,0 1,8 @@
+target_compile_definitions(
+ board
+ PUBLIC
+ PROJECT_CONFIG_USER_DYNMEM_SIZE=9*1024*1024
+ HW_SDRAM_64_MB=0
+)
+
+set (MEMORY_LINKER_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}/memory_bell_P1.ld" CACHE INTERNAL "")
A board/rt1051/bellpx/memory_bell_P1.ld => board/rt1051/bellpx/memory_bell_P1.ld +25 -0
@@ 0,0 1,25 @@
+/*
+ * (c) Code Red Technologies Ltd, 2008-2013
+ * (c) NXP Semiconductors 2013-2018
+ * Generated linker script file for MIMXRT1052xxxxB
+ * Created from memory.ldt by FMCreateLinkMemory
+ * Using Freemarker v2.3.23
+ * MCUXpresso IDE v10.2.0 [Build 759] [2018-05-15] on 2018-07-30 10:43:20
+ *
+ * Modified by Mudita
+ */
+MEMORY
+{
+ /******************************** WARNING *******************************/
+ /* */
+ /* must be kept in sync with 'board/rt1051/crashdump/crashcatcher_impl.cpp' */
+ /* */
+ /****************************************************************************/
+
+ /* Define each memory region */
+ SRAM_OC (rwx) : ORIGIN = 0x20200000, LENGTH = 0x10000 /* 64K bytes (alias RAM) */
+ /*SRAM_ITC (rwx) : ORIGIN = 0x0, LENGTH = 0x0*/ /* 0K bytes (alias RAM2) */
+ SRAM_DTC (rwx) : ORIGIN = 0x20000000, LENGTH = 0x70000 /* 448K bytes (alias RAM3) */
+ BOARD_SDRAM_TEXT (rx) : ORIGIN = 0x80000000, LENGTH = 0x0620000 /* 5.something M bytes for application code */
+ BOARD_SDRAM_HEAP (rwx) : ORIGIN = 0x80620000, LENGTH = 0x9e0000 /* 9.something M bytes for heap (alias RAM4) */
+}
M board/rt1051/crashdump/crashcatcher_impl.cpp => board/rt1051/crashdump/crashcatcher_impl.cpp +1 -1
@@ 20,7 20,7 @@ const CrashCatcherMemoryRegion *CrashCatcher_GetMemoryRegions(void)
{0x20000000, 0x20070000, CRASH_CATCHER_BYTE},
// intentionally skip text section
// BOARD_SDRAM_HEAP
-#if defined(PURE_SDRAM_64_MB) && (PURE_SDRAM_64_MB == 1)
+#if defined(HW_SDRAM_64_MB) && (HW_SDRAM_64_MB == 1)
{0x80620000, 0x84000000, CRASH_CATCHER_BYTE},
#else
{0x80620000, 0x81000000, CRASH_CATCHER_BYTE},
A board/rt1051/puretx/CMakeLists.txt => board/rt1051/puretx/CMakeLists.txt +19 -0
@@ 0,0 1,19 @@
+if (${BOARD_REVISION} EQUAL 7)
+ set (MEMORY_LINKER_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}/memory_pure_T7.ld" CACHE INTERNAL "")
+ target_compile_definitions(
+ board
+ PUBLIC
+ PROJECT_CONFIG_USER_DYNMEM_SIZE=28*1024*1024
+ HW_SDRAM_64_MB=1
+ )
+elseif (${BOARD_REVISION} EQUAL 6)
+ set (MEMORY_LINKER_FILE_PATH "${CMAKE_CURRENT_LIST_DIR}/memory_pure_T6.ld" CACHE INTERNAL "")
+ target_compile_definitions(
+ board
+ PUBLIC
+ PROJECT_CONFIG_USER_DYNMEM_SIZE=9*1024*1024
+ HW_SDRAM_64_MB=0
+ )
+else ()
+ message (FATAL_ERROR "Unsupported board revision selected!")
+endif ()
R board/rt1051/ldscripts/memory_T6.ld => board/rt1051/puretx/memory_pure_T6.ld +0 -0
R board/rt1051/ldscripts/memory_T7.ld => board/rt1051/puretx/memory_pure_T7.ld +0 -0
M cmake/modules/Board.cmake => cmake/modules/Board.cmake +5 -2
@@ 12,12 12,15 @@ function(add_board_subdirectory)
if(NOT DEFINED BOARD)
message(FATAL_ERROR "Board is not defined")
endif()
-
+
if (${BOARD} STREQUAL "bellpx" OR ${BOARD} STREQUAL "puretx")
add_subdirectory_if_exists(${ROOT_DIR}/rt1051)
+ elseif (${BOARD} STREQUAL "linux")
+ add_subdirectory_if_exists(${ROOT_DIR}/${BOARD})
+ else ()
+ message(FATAL_ERROR "Board unsupported")
endif ()
- add_subdirectory_if_exists(${ROOT_DIR}/${BOARD})
endfunction()
macro(select_board)
M cmake/modules/ProjectConfig.cmake => cmake/modules/ProjectConfig.cmake +0 -17
@@ 49,17 49,6 @@ else()
set (USB_DEVICE_PRODUCT_ID 0x0622 CACHE INTERNAL "Sets USB_DEVICE_PRODUCT_ID to Windows MTP Simulator Product ID")
endif()
-if(${BOARD} STREQUAL "puretx" AND ${BOARD_REVISION} EQUAL 7)
- message("Building for T7 - 64MB SDRAM")
- set (MEMORY_LINKER_FILE "memory_T7.ld")
- set (PROJECT_CONFIG_USER_DYNMEM_SIZE 28*1024*1024 CACHE INTERNAL "")
- set (PURE_SDRAM_64_MB 1 CACHE INTERNAL "")
-else()
- set (MEMORY_LINKER_FILE "memory_T6.ld")
- set (PROJECT_CONFIG_USER_DYNMEM_SIZE 9*1024*1024 CACHE INTERNAL "")
- set (PURE_SDRAM_64_MB 0 CACHE INTERNAL "")
-endif()
-
#Config options described in README.md
set(PROJECT_CONFIG_DEFINITIONS
LOG_USE_COLOR=${LOG_USE_COLOR}
@@ 68,8 57,6 @@ set(PROJECT_CONFIG_DEFINITIONS
SYSTEM_VIEW_ENABLED=${SYSTEM_VIEW_ENABLED}
USBCDC_ECHO_ENABLED=${USBCDC_ECHO_ENABLED}
LOG_LUART_ENABLED=${LOG_LUART_ENABLED}
- PROJECT_CONFIG_USER_DYNMEM_SIZE=${PROJECT_CONFIG_USER_DYNMEM_SIZE}
- PURE_SDRAM_64_MB=${PURE_SDRAM_64_MB}
USB_DEVICE_VENDOR_ID=${USB_DEVICE_VENDOR_ID}
USB_DEVICE_PRODUCT_ID=${USB_DEVICE_PRODUCT_ID}
MAGIC_ENUM_RANGE_MAX=256
@@ 78,7 65,3 @@ set(PROJECT_CONFIG_DEFINITIONS
message(STATUS "BlueKitchen selected")
set(BT_STACK "BlueKitchen")
-
-if(${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
-set(CMAKE_EXE_LINKER_FLAGS "-nostdlib -Xlinker --gc-sections -Xlinker --sort-section=alignment -mcpu=cortex-m7 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Xlinker -print-memory-usage -T ${LDSCRIPTSDIR}/libs.ld -T ${LDSCRIPTSDIR}/${MEMORY_LINKER_FILE} -T ${LDSCRIPTSDIR}/sections.ld -nostartfiles" CACHE INTERNAL "")
-endif()
M module-bsp/board/rt1051/common/board.cpp => module-bsp/board/rt1051/common/board.cpp +3 -3
@@ 155,7 155,7 @@ namespace bsp
* BOARD_SDRAM_TEXT
*/
MPU->RBAR = ARM_MPU_RBAR(7, 0x80000000U);
-#if defined(PURE_SDRAM_64_MB) && (PURE_SDRAM_64_MB == 1)
+#if defined(HW_SDRAM_64_MB) && (HW_SDRAM_64_MB == 1)
MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_RO, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB);
#else
MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_RO, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_16MB);
@@ 173,11 173,11 @@ namespace bsp
* BOARD_SDRAM_HEAP
*/
MPU->RBAR = ARM_MPU_RBAR(9, reinterpret_cast<std::uintptr_t>(__sdram_cached_start));
-#if defined(PURE_SDRAM_64_MB) && (PURE_SDRAM_64_MB == 1)
+#if defined(HW_SDRAM_64_MB) && (HW_SDRAM_64_MB == 1)
MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB);
#else
MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_16MB);
-#endif // PURE_SDRAM_64_MB
+#endif // HW_SDRAM_64_MB
#endif // SDRAM_IS_SHAREABLE
/* Enable MPU */