Browse Source

Add alternate ldscript for STM32duino (F103xB) (#12914)

* Add alternate ldscript for STM32duino (F103xB)

* Refactor out common ldscript stuff

* Move ldscripts into stm32duino board dir, add search path to ldflags
Ryan 3 years ago
parent
commit
37496f4b60

+ 22 - 0
platforms/chibios/STM32_F103_STM32DUINO/ld/STM32F103x8_stm32duino_bootloader.ld

@@ -0,0 +1,22 @@
+/*
+    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+*/
+
+/*
+ * STM32F103x8 memory setup for use with the STM32Duino bootloader.
+ */
+f103_flash_size = 64k;
+
+INCLUDE stm32duino_bootloader_common.ld

+ 22 - 0
platforms/chibios/STM32_F103_STM32DUINO/ld/STM32F103xB_stm32duino_bootloader.ld

@@ -0,0 +1,22 @@
+/*
+    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+*/
+
+/*
+ * STM32F103xB memory setup for use with the STM32Duino bootloader.
+ */
+f103_flash_size = 128k;
+
+INCLUDE stm32duino_bootloader_common.ld

+ 2 - 2
platforms/chibios/common/ld/STM32F103x8_stm32duino_bootloader.ld → platforms/chibios/STM32_F103_STM32DUINO/ld/stm32duino_bootloader_common.ld

@@ -15,11 +15,11 @@
 */
 
 /*
- * ST32F103xB memory setup for use with the maplemini bootloader.
+ * STM32Duino bootloader common memory setup.
  */
 MEMORY
 {
-    flash0  : org = 0x08002000, len = 64k - 0x2000
+    flash0  : org = 0x08002000, len = f103_flash_size - 0x2000
     flash1  : org = 0x00000000, len = 0
     flash2  : org = 0x00000000, len = 0
     flash3  : org = 0x00000000, len = 0

+ 1 - 0
tmk_core/chibios.mk

@@ -191,6 +191,7 @@ else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/ld/$(MCU_LDSCRIPT).ld)","")
 else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld)","")
     LDSCRIPT = $(KEYBOARD_PATH_1)/ld/$(MCU_LDSCRIPT).ld
 else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/$(BOARD)/ld/$(MCU_LDSCRIPT).ld)","")
+    LDFLAGS += -L$(TOP_DIR)/platforms/chibios/$(BOARD)/ld
     LDSCRIPT = $(TOP_DIR)/platforms/chibios/$(BOARD)/ld/$(MCU_LDSCRIPT).ld
 else ifneq ("$(wildcard $(TOP_DIR)/platforms/chibios/common/ld/$(MCU_LDSCRIPT).ld)","")
     LDSCRIPT = $(TOP_DIR)/platforms/chibios/common/ld/$(MCU_LDSCRIPT).ld