Add eeprom defaults for tinyuf2 bootloader (#18042)
This commit is contained in:
		
							parent
							
								
									1c47bd0ddf
								
							
						
					
					
						commit
						43fd647130
					
				| @ -199,6 +199,7 @@ endif | ||||
| ifeq ($(strip $(BOOTLOADER)), tinyuf2) | ||||
|     OPT_DEFS += -DBOOTLOADER_TINYUF2 | ||||
|     BOOTLOADER_TYPE = tinyuf2 | ||||
|     FIRMWARE_FORMAT = uf2 | ||||
| endif | ||||
| ifeq ($(strip $(BOOTLOADER)), rp2040) | ||||
|     OPT_DEFS += -DBOOTLOADER_RP2040 | ||||
|  | ||||
| @ -348,7 +348,8 @@ ifneq ($(findstring STM32F401, $(MCU)),) | ||||
|   #   or <keyboard_dir>/ld/ | ||||
|   ifeq ($(strip $(BOOTLOADER)), tinyuf2) | ||||
|     MCU_LDSCRIPT ?= STM32F401xC_tinyuf2 | ||||
|     FIRMWARE_FORMAT ?= uf2 | ||||
|     EEPROM_DRIVER ?= wear_leveling | ||||
|     WEAR_LEVELING_DRIVER ?= legacy | ||||
|   else | ||||
|     MCU_LDSCRIPT ?= STM32F401xC | ||||
|   endif | ||||
| @ -464,7 +465,8 @@ ifneq ($(findstring STM32F411, $(MCU)),) | ||||
|   #   or <keyboard_dir>/ld/ | ||||
|   ifeq ($(strip $(BOOTLOADER)), tinyuf2) | ||||
|     MCU_LDSCRIPT ?= STM32F411xE_tinyuf2 | ||||
|     FIRMWARE_FORMAT ?= uf2 | ||||
|     EEPROM_DRIVER ?= wear_leveling | ||||
|     WEAR_LEVELING_DRIVER ?= legacy | ||||
|   else | ||||
|     MCU_LDSCRIPT ?= STM32F411xE | ||||
|   endif | ||||
|  | ||||
| @ -9,14 +9,6 @@ | ||||
| #define MATRIX_ROWS 4 | ||||
| #define MATRIX_COLS 4 | ||||
| 
 | ||||
| #ifdef UF2_BUILD | ||||
| #define EXTERNAL_EEPROM_BYTE_COUNT 2048 | ||||
| #define EXTERNAL_EEPROM_PAGE_SIZE 128 | ||||
| #define EXTERNAL_EEPROM_ADDRESS_SIZE 1 | ||||
| #define EXTERNAL_EEPROM_WRITE_TIME 0 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
| #endif | ||||
| 
 | ||||
| /* Define custom font */ | ||||
| #define OLED_FONT_H "keyboards/mechwild/puckbuddy/glcdfont.c" | ||||
| 
 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -1,7 +0,0 @@ | ||||
| ifeq ($(strip $(BOOTLOADER)), tinyuf2) | ||||
|     ifndef EEPROM_DRIVER | ||||
|         MCU_LDSCRIPT = STM32F401xE | ||||
|         EEPROM_DRIVER = vendor | ||||
|         UF2_BUILD = yes | ||||
|     endif | ||||
| endif | ||||
| @ -51,6 +51,3 @@ | ||||
| #define RGBLIGHT_EFFECT_TWINKLE | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| // you want to comment this if using stm32-dfu as bootloader
 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -4,8 +4,6 @@ BOARD = BLACKPILL_STM32_F401 | ||||
| 
 | ||||
| # Bootloader selection
 | ||||
| BOOTLOADER = tinyuf2 | ||||
| MCU_LDSCRIPT = STM32F401xE | ||||
| EEPROM_DRIVER = vendor | ||||
| #BOOTLOADER = stm32-dfu
 | ||||
| 
 | ||||
| # Build Options
 | ||||
|  | ||||
| @ -51,6 +51,3 @@ | ||||
| #define RGBLIGHT_EFFECT_ALTERNATING | ||||
| #define RGBLIGHT_EFFECT_TWINKLE | ||||
| #endif | ||||
| 
 | ||||
| // you want to comment this if using stm32-dfu as bootloader
 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -5,8 +5,6 @@ BOARD = BLACKPILL_STM32_F401 | ||||
| # Bootloader selection
 | ||||
| BOOTLOADER = tinyuf2 | ||||
| #BOOTLOADER = stm32-dfu
 | ||||
| MCU_LDSCRIPT = STM32F401xE | ||||
| EEPROM_DRIVER = vendor | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change yes to no to disable
 | ||||
|  | ||||
| @ -78,6 +78,3 @@ | ||||
| #define BOOTMAGIC_LITE_ROW_RIGHT 5 | ||||
| #define BOOTMAGIC_LITE_COLUMN_RIGHT 0 | ||||
| #endif | ||||
| 
 | ||||
| // you want to comment this if using stm32-dfu as bootloader
 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -5,8 +5,6 @@ BOARD = BLACKPILL_STM32_F401 | ||||
| # Bootloader selection
 | ||||
| BOOTLOADER = tinyuf2 | ||||
| #BOOTLOADER = stm32-dfu
 | ||||
| MCU_LDSCRIPT = STM32F401xE | ||||
| EEPROM_DRIVER = vendor | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change yes to no to disable
 | ||||
|  | ||||
| @ -55,6 +55,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| #define RGBLIGHT_HUE_STEP 8 | ||||
| #define RGBLIGHT_SAT_STEP 8 | ||||
| #endif | ||||
| 
 | ||||
| // you want to comment this if using stm32-dfu as bootloader
 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -5,8 +5,6 @@ BOARD = BLACKPILL_STM32_F401 | ||||
| # Bootloader selection
 | ||||
| BOOTLOADER = tinyuf2 | ||||
| #BOOTLOADER = stm32-dfu
 | ||||
| MCU_LDSCRIPT = STM32F401xE | ||||
| EEPROM_DRIVER = vendor | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change yes to no to disable
 | ||||
|  | ||||
| @ -64,6 +64,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| #define OLED_BRIGHTNESS 128 | ||||
| #define OLED_FONT_H "keyboards/mlego/m65/lib/glcdfont.c" | ||||
| #endif | ||||
| 
 | ||||
| // you want to comment this if using stm32-dfu as bootloader
 | ||||
| #define FEE_PAGE_BASE_ADDRESS 0x08008000 | ||||
|  | ||||
| @ -1,88 +0,0 @@ | ||||
| /* | ||||
|     ChibiOS - Copyright (C) 2006..2018 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. | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
|  * STM32F401xE memory setup. | ||||
|  */ | ||||
| MEMORY | ||||
| { | ||||
|     flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||||
|     flash1 (rx) : org = 0x08004000, len = 16k | ||||
|     flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */ | ||||
|     flash3 (rx) : org = 0x0800C000, len = 16k | ||||
|     flash4 (rx) : org = 0x08010000, len = 512k - 64k | ||||
|     flash5 (rx) : org = 0x00000000, len = 0 | ||||
|     flash6 (rx) : org = 0x00000000, len = 0 | ||||
|     flash7 (rx) : org = 0x00000000, len = 0 | ||||
|     ram0   (wx) : org = 0x20000000, len = 96k | ||||
|     ram1   (wx) : org = 0x00000000, len = 0 | ||||
|     ram2   (wx) : org = 0x00000000, len = 0 | ||||
|     ram3   (wx) : org = 0x00000000, len = 0 | ||||
|     ram4   (wx) : org = 0x00000000, len = 0 | ||||
|     ram5   (wx) : org = 0x00000000, len = 0 | ||||
|     ram6   (wx) : org = 0x00000000, len = 0 | ||||
|     ram7   (wx) : org = 0x00000000, len = 0 | ||||
| } | ||||
| 
 | ||||
| /* For each data/text section two region are defined, a virtual region | ||||
|    and a load region (_LMA suffix).*/ | ||||
| 
 | ||||
| /* Flash region to be used for exception vectors.*/ | ||||
| REGION_ALIAS("VECTORS_FLASH", flash4); | ||||
| REGION_ALIAS("VECTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for constructors and destructors.*/ | ||||
| REGION_ALIAS("XTORS_FLASH", flash4); | ||||
| REGION_ALIAS("XTORS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for code text.*/ | ||||
| REGION_ALIAS("TEXT_FLASH", flash4); | ||||
| REGION_ALIAS("TEXT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for read only data.*/ | ||||
| REGION_ALIAS("RODATA_FLASH", flash4); | ||||
| REGION_ALIAS("RODATA_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for various.*/ | ||||
| REGION_ALIAS("VARIOUS_FLASH", flash4); | ||||
| REGION_ALIAS("VARIOUS_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* Flash region to be used for RAM(n) initialization data.*/ | ||||
| REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for Main stack. This stack accommodates the processing | ||||
|    of all exceptions and interrupts.*/ | ||||
| REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the process stack. This is the stack used by | ||||
|    the main() function.*/ | ||||
| REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for data segment.*/ | ||||
| REGION_ALIAS("DATA_RAM", ram0); | ||||
| REGION_ALIAS("DATA_RAM_LMA", flash4); | ||||
| 
 | ||||
| /* RAM region to be used for BSS segment.*/ | ||||
| REGION_ALIAS("BSS_RAM", ram0); | ||||
| 
 | ||||
| /* RAM region to be used for the default heap.*/ | ||||
| REGION_ALIAS("HEAP_RAM", ram0); | ||||
| 
 | ||||
| /* Generic rules inclusion.*/ | ||||
| INCLUDE rules.ld | ||||
| 
 | ||||
| /* TinyUF2 bootloader reset support */ | ||||
| _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||||
| @ -5,8 +5,6 @@ BOARD = BLACKPILL_STM32_F401 | ||||
| # Bootloader selection
 | ||||
| BOOTLOADER = tinyuf2 | ||||
| #BOOTLOADER = stm32-dfu
 | ||||
| MCU_LDSCRIPT = STM32F401xE | ||||
| EEPROM_DRIVER = vendor | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change yes to no to disable
 | ||||
|  | ||||
| @ -8,10 +8,6 @@ BOOTLOADER := tinyuf2 | ||||
| SERIAL_DRIVER ?= usart | ||||
| WS2812_DRIVER ?= bitbang | ||||
| 
 | ||||
| EEPROM_DRIVER = wear_leveling | ||||
| WEAR_LEVELING_DRIVER = legacy | ||||
| 
 | ||||
| 
 | ||||
| ifeq ($(strip $(STMC_US)), yes) | ||||
|   OPT_DEFS += -DSTEMCELL_UART_SWAP | ||||
| endif | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user