diff options
author | Karel Gardas <karel@functional.vision> | 2022-05-16 13:28:57 +0200 |
---|---|---|
committer | Karel Gardas <karel@functional.vision> | 2022-05-27 20:17:32 +0200 |
commit | 42ed4a6338054f53a9e00c09a120439d60aadf2f (patch) | |
tree | b23f015041983fedb804ed41e6b0bfae2bee122a /spec/build/bsps/arm | |
parent | bsps/stm32h7: add and enable test set exclusion for stm32h757i-eval BSP (diff) | |
download | rtems-42ed4a6338054f53a9e00c09a120439d60aadf2f.tar.bz2 |
bsps/stm32h7: provide linkcmds for SRAM, FLASH_SDRAM and SRAM_SDRAM linking
Sponsored-By: Precidata
Diffstat (limited to 'spec/build/bsps/arm')
-rw-r--r-- | spec/build/bsps/arm/stm32h7/grp.yml | 6 | ||||
-rw-r--r-- | spec/build/bsps/arm/stm32h7/linkcmdsflashsdram.yml | 49 | ||||
-rw-r--r-- | spec/build/bsps/arm/stm32h7/linkcmdssram.yml | 49 | ||||
-rw-r--r-- | spec/build/bsps/arm/stm32h7/linkcmdssramsdram.yml | 49 | ||||
-rw-r--r-- | spec/build/bsps/arm/stm32h7/optlinkcmds.yml | 5 |
5 files changed, 156 insertions, 2 deletions
diff --git a/spec/build/bsps/arm/stm32h7/grp.yml b/spec/build/bsps/arm/stm32h7/grp.yml index 401b8b415a..6e7036b6aa 100644 --- a/spec/build/bsps/arm/stm32h7/grp.yml +++ b/spec/build/bsps/arm/stm32h7/grp.yml @@ -118,6 +118,12 @@ links: - role: build-dependency uid: linkcmdssdram - role: build-dependency + uid: linkcmdssram +- role: build-dependency + uid: linkcmdssramsdram +- role: build-dependency + uid: linkcmdsflashsdram +- role: build-dependency uid: ../../bspopts type: build use-after: [] diff --git a/spec/build/bsps/arm/stm32h7/linkcmdsflashsdram.yml b/spec/build/bsps/arm/stm32h7/linkcmdsflashsdram.yml new file mode 100644 index 0000000000..58f0701f8a --- /dev/null +++ b/spec/build/bsps/arm/stm32h7/linkcmdsflashsdram.yml @@ -0,0 +1,49 @@ +build-type: script +do-build: | + bld.install_as("${BSP_LIBDIR}/linkcmds.flash_sdram", "linkcmds.flash_sdram") +do-configure: | + content = """INCLUDE linkcmds.memory + + REGION_ALIAS ("REGION_START", FLASH); + REGION_ALIAS ("REGION_VECTOR", FLASH); + REGION_ALIAS ("REGION_TEXT", FLASH); + REGION_ALIAS ("REGION_TEXT_LOAD", FLASH); + REGION_ALIAS ("REGION_RODATA", FLASH); + REGION_ALIAS ("REGION_RODATA_LOAD", FLASH); + REGION_ALIAS ("REGION_DATA", SRAM_AXI); + REGION_ALIAS ("REGION_DATA_LOAD", FLASH); + REGION_ALIAS ("REGION_FAST_TEXT", ITCM); + REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ITCM); + REGION_ALIAS ("REGION_FAST_DATA", DTCM); + REGION_ALIAS ("REGION_FAST_DATA_LOAD", DTCM); + REGION_ALIAS ("REGION_BSS", SRAM_AXI); + REGION_ALIAS ("REGION_WORK", SDRAM_2); + REGION_ALIAS ("REGION_STACK", SRAM_AXI); + REGION_ALIAS ("REGION_NOCACHE", SRAM_1); + REGION_ALIAS ("REGION_NOCACHE_LOAD", FLASH); + + bsp_vector_table_in_start_section = 1; + """ + + if conf.env.STM32H7_ENABLE_MPU_ALIGNMENT: + content += """ + bsp_align_text_and_rodata_end_to_power_of_2 = 1; + """ + + content += """ + INCLUDE linkcmds.armv7m + """ + f = conf.bldnode.make_node( + conf.env.VARIANT + "/linkcmds.flash_sdram" + ) + f.parent.mkdir() + f.write(content) + conf.env.append_value("cfg_files", f.abspath()) +enabled-by: true +links: [] +prepare-build: null +prepare-configure: null +type: build +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) diff --git a/spec/build/bsps/arm/stm32h7/linkcmdssram.yml b/spec/build/bsps/arm/stm32h7/linkcmdssram.yml new file mode 100644 index 0000000000..808bff3627 --- /dev/null +++ b/spec/build/bsps/arm/stm32h7/linkcmdssram.yml @@ -0,0 +1,49 @@ +build-type: script +do-build: | + bld.install_as("${BSP_LIBDIR}/linkcmds.sram", "linkcmds.sram") +do-configure: | + content = """INCLUDE linkcmds.memory + + REGION_ALIAS ("REGION_START", SRAM_AXI); + REGION_ALIAS ("REGION_VECTOR", SRAM_AXI); + REGION_ALIAS ("REGION_TEXT", SRAM_AXI); + REGION_ALIAS ("REGION_TEXT_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_RODATA", SRAM_AXI); + REGION_ALIAS ("REGION_RODATA_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_DATA", SRAM_AXI); + REGION_ALIAS ("REGION_DATA_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_FAST_TEXT", ITCM); + REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ITCM); + REGION_ALIAS ("REGION_FAST_DATA", DTCM); + REGION_ALIAS ("REGION_FAST_DATA_LOAD", DTCM); + REGION_ALIAS ("REGION_BSS", SRAM_AXI); + REGION_ALIAS ("REGION_WORK", SRAM_AXI); + REGION_ALIAS ("REGION_STACK", SRAM_AXI); + REGION_ALIAS ("REGION_NOCACHE", SRAM_1); + REGION_ALIAS ("REGION_NOCACHE_LOAD", SRAM_AXI); + + bsp_vector_table_in_start_section = 1; + """ + + if conf.env.STM32H7_ENABLE_MPU_ALIGNMENT: + content += """ + bsp_align_text_and_rodata_end_to_power_of_2 = 1; + """ + + content += """ + INCLUDE linkcmds.armv7m + """ + f = conf.bldnode.make_node( + conf.env.VARIANT + "/linkcmds.sram" + ) + f.parent.mkdir() + f.write(content) + conf.env.append_value("cfg_files", f.abspath()) +enabled-by: true +links: [] +prepare-build: null +prepare-configure: null +type: build +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) diff --git a/spec/build/bsps/arm/stm32h7/linkcmdssramsdram.yml b/spec/build/bsps/arm/stm32h7/linkcmdssramsdram.yml new file mode 100644 index 0000000000..9ed23d1544 --- /dev/null +++ b/spec/build/bsps/arm/stm32h7/linkcmdssramsdram.yml @@ -0,0 +1,49 @@ +build-type: script +do-build: | + bld.install_as("${BSP_LIBDIR}/linkcmds.sram_sdram", "linkcmds.sram_sdram") +do-configure: | + content = """INCLUDE linkcmds.memory + + REGION_ALIAS ("REGION_START", SRAM_AXI); + REGION_ALIAS ("REGION_VECTOR", SRAM_AXI); + REGION_ALIAS ("REGION_TEXT", SRAM_AXI); + REGION_ALIAS ("REGION_TEXT_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_RODATA", SRAM_AXI); + REGION_ALIAS ("REGION_RODATA_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_DATA", SRAM_AXI); + REGION_ALIAS ("REGION_DATA_LOAD", SRAM_AXI); + REGION_ALIAS ("REGION_FAST_TEXT", ITCM); + REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ITCM); + REGION_ALIAS ("REGION_FAST_DATA", DTCM); + REGION_ALIAS ("REGION_FAST_DATA_LOAD", DTCM); + REGION_ALIAS ("REGION_BSS", SRAM_AXI); + REGION_ALIAS ("REGION_WORK", SDRAM_2); + REGION_ALIAS ("REGION_STACK", SRAM_AXI); + REGION_ALIAS ("REGION_NOCACHE", SRAM_1); + REGION_ALIAS ("REGION_NOCACHE_LOAD", SRAM_AXI); + + bsp_vector_table_in_start_section = 1; + """ + + if conf.env.STM32H7_ENABLE_MPU_ALIGNMENT: + content += """ + bsp_align_text_and_rodata_end_to_power_of_2 = 1; + """ + + content += """ + INCLUDE linkcmds.armv7m + """ + f = conf.bldnode.make_node( + conf.env.VARIANT + "/linkcmds.sram_sdram" + ) + f.parent.mkdir() + f.write(content) + conf.env.append_value("cfg_files", f.abspath()) +enabled-by: true +links: [] +prepare-build: null +prepare-configure: null +type: build +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) diff --git a/spec/build/bsps/arm/stm32h7/optlinkcmds.yml b/spec/build/bsps/arm/stm32h7/optlinkcmds.yml index a7281addd8..43af9c8613 100644 --- a/spec/build/bsps/arm/stm32h7/optlinkcmds.yml +++ b/spec/build/bsps/arm/stm32h7/optlinkcmds.yml @@ -13,8 +13,9 @@ format: '{}' links: [] name: STM32H7_DEFAULT_LINKCMDS description: | - The default linker command file. Must be either linkcmds.flash or - linkcmds.sdram. + The default linker command file. Must be either linkcmds.flash, + linkcmds.sdram, linkcmds.sram, linkcmds.sram_sdram + or linkcmds.flash_sdram type: build SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: |