diff options
Diffstat (limited to 'targets/stm32f429i_disc1_stm32cube/BUILD.gn')
-rw-r--r-- | targets/stm32f429i_disc1_stm32cube/BUILD.gn | 67 |
1 files changed, 41 insertions, 26 deletions
diff --git a/targets/stm32f429i_disc1_stm32cube/BUILD.gn b/targets/stm32f429i_disc1_stm32cube/BUILD.gn index 440882816..87a07f88e 100644 --- a/targets/stm32f429i_disc1_stm32cube/BUILD.gn +++ b/targets/stm32f429i_disc1_stm32cube/BUILD.gn @@ -19,6 +19,7 @@ import("$dir_pw_docgen/docs.gni") import("$dir_pw_malloc/backend.gni") import("$dir_pw_system/system_target.gni") import("$dir_pw_third_party/stm32cube/stm32cube.gni") +import("$dir_pw_toolchain/arm_clang/toolchains.gni") import("$dir_pw_toolchain/generate_toolchain.gni") config("pw_malloc_active") { @@ -63,37 +64,51 @@ if (current_toolchain != default_toolchain) { } } +common_link_deps = + [ "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:pre_init" ] + +common_build_args = { + pw_log_BACKEND = dir_pw_log_tokenized + pw_log_tokenized_HANDLER_BACKEND = "$dir_pw_system:log_backend.impl" + pw_third_party_freertos_CONFIG = "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f4xx_freertos_config" + pw_third_party_freertos_PORT = "$dir_pw_third_party/freertos:arm_cm4f" + pw_sys_io_BACKEND = dir_pw_sys_io_stm32cube + dir_pw_third_party_stm32cube = dir_pw_third_party_stm32cube_f4 + pw_third_party_stm32cube_PRODUCT = "STM32F429xx" + pw_third_party_stm32cube_CONFIG = + "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f4xx_hal_config" + pw_third_party_stm32cube_CORE_INIT = "" + pw_boot_cortex_m_LINK_CONFIG_DEFINES = [ + "PW_BOOT_FLASH_BEGIN=0x08000200", + "PW_BOOT_FLASH_SIZE=2048K", + + # TODO: b/235348465 - Currently "pw_tokenizer/detokenize_test" requires at + # least 6K bytes in heap when using pw_malloc_freelist. The heap size + # required for tests should be investigated. + "PW_BOOT_HEAP_SIZE=7K", + "PW_BOOT_MIN_STACK_SIZE=1K", + "PW_BOOT_RAM_BEGIN=0x20000000", + "PW_BOOT_RAM_SIZE=192K", + "PW_BOOT_VECTOR_TABLE_BEGIN=0x08000000", + "PW_BOOT_VECTOR_TABLE_SIZE=512", + ] +} + pw_system_target("stm32f429i_disc1_stm32cube") { cpu = PW_SYSTEM_CPU.CORTEX_M4F scheduler = PW_SYSTEM_SCHEDULER.FREERTOS - link_deps = [ "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:pre_init" ] - build_args = { - pw_log_BACKEND = dir_pw_log_tokenized - pw_log_tokenized_HANDLER_BACKEND = "$dir_pw_system:log_backend.impl" - pw_third_party_freertos_CONFIG = "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f4xx_freertos_config" - pw_third_party_freertos_PORT = "$dir_pw_third_party/freertos:arm_cm4f" - pw_sys_io_BACKEND = dir_pw_sys_io_stm32cube - dir_pw_third_party_stm32cube = dir_pw_third_party_stm32cube_f4 - pw_third_party_stm32cube_PRODUCT = "STM32F429xx" - pw_third_party_stm32cube_CONFIG = - "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f4xx_hal_config" - pw_third_party_stm32cube_CORE_INIT = "" - pw_boot_cortex_m_LINK_CONFIG_DEFINES = [ - "PW_BOOT_FLASH_BEGIN=0x08000200", - "PW_BOOT_FLASH_SIZE=2048K", + link_deps = common_link_deps + build_args = common_build_args +} + +pw_system_target("stm32f429i_disc1_stm32cube_clang") { + cpu = PW_SYSTEM_CPU.CORTEX_M4F + scheduler = PW_SYSTEM_SCHEDULER.FREERTOS + system_toolchain = pw_toolchain_arm_clang - # TODO: b/235348465 - Currently "pw_tokenizer/detokenize_test" requires at - # least 6K bytes in heap when using pw_malloc_freelist. The heap size - # required for tests should be investigated. - "PW_BOOT_HEAP_SIZE=7K", - "PW_BOOT_MIN_STACK_SIZE=1K", - "PW_BOOT_RAM_BEGIN=0x20000000", - "PW_BOOT_RAM_SIZE=192K", - "PW_BOOT_VECTOR_TABLE_BEGIN=0x08000000", - "PW_BOOT_VECTOR_TABLE_SIZE=512", - ] - } + link_deps = common_link_deps + build_args = common_build_args } pw_doc_group("target_docs") { |