From 57c6279b4039b8d770c3f54e7bfeff320f461350 Mon Sep 17 00:00:00 2001 From: evildave666 Date: Mon, 26 Jul 2021 13:59:25 +0900 Subject: [PATCH 1/2] Added new linker file --- ports/stm/boards/STM32F411_nofs.ld | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ports/stm/boards/STM32F411_nofs.ld diff --git a/ports/stm/boards/STM32F411_nofs.ld b/ports/stm/boards/STM32F411_nofs.ld new file mode 100644 index 0000000000..3091a59275 --- /dev/null +++ b/ports/stm/boards/STM32F411_nofs.ld @@ -0,0 +1,26 @@ +/* + GNU linker script for STM32F411 without nvm and an external flash chip. + No space is reserved for a filesystem. +*/ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K /* entire flash */ + FLASH_ISR (rx) : ORIGIN = 0x08000000, LENGTH = 16K /* sector 0 */ + FLASH_FIRMWARE (rx) : ORIGIN = 0x08004000, LENGTH = 496K /* sectors 1,2,3 are 16k, sector 4 is 64K, sectors 5,6,7 are 128K */ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K +} + +/* produce a link error if there is not this amount of RAM for these sections */ +_minimum_stack_size = 24K; +_minimum_heap_size = 16K; + +/* Define the top end of the stack. The stack is full descending so begins just + above last byte of RAM. Note that EABI requires the stack to be 8-byte + aligned for a call. */ +_estack = ORIGIN(RAM) + LENGTH(RAM); + +/* RAM extents for the garbage collector */ +_ram_start = ORIGIN(RAM); +_ram_end = ORIGIN(RAM) + LENGTH(RAM); From f059bab2532a1d0a1addbac5d6878ee71f61e511 Mon Sep 17 00:00:00 2001 From: evildave666 Date: Mon, 26 Jul 2021 14:13:41 +0900 Subject: [PATCH 2/2] Modify mpconfigboard.mk to point to the new linker file and re-include modules --- .../stm32f411ce_blackpill_with_flash/mpconfigboard.mk | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/ports/stm/boards/stm32f411ce_blackpill_with_flash/mpconfigboard.mk b/ports/stm/boards/stm32f411ce_blackpill_with_flash/mpconfigboard.mk index 37dccadb99..7ea5fc4a82 100644 --- a/ports/stm/boards/stm32f411ce_blackpill_with_flash/mpconfigboard.mk +++ b/ports/stm/boards/stm32f411ce_blackpill_with_flash/mpconfigboard.mk @@ -15,11 +15,4 @@ MCU_VARIANT = STM32F411xE MCU_PACKAGE = UFQFPN48 LD_COMMON = boards/common_default.ld -LD_FILE = boards/STM32F411_nvm_nofs.ld - -# Too big for the flash -CIRCUITPY_AUDIOCORE = 0 -CIRCUITPY_AUDIOPWMIO = 0 -CIRCUITPY_SYNTHIO = 0 -CIRCUITPY_BITMAPTOOLS = 0 -CIRCUITPY_VECTORIO = 0 +LD_FILE = boards/STM32F411_nofs.ld