package platform.stm32.f4.nucleo_f411re

@BuildArtifactPath(cppflags="-DSTM32F411xE -DUSE_STM32F4XX_NUCLEO")
static module nucleo_f411re_conf extends third_party.bsp.stmf4cube.stm32f4_conf {
	@IncludeExport(path="")
	source "stm32f4xx_hal_conf.h"
}

@Build(stage=1)
@BuildDepends(nucleo_f411re_conf)
@BuildDepends(third_party.bsp.stmf4cube.cube)
@BuildArtifactPath(cppflags="-I$(EXTERNAL_BUILD_DIR)/third_party/bsp/stmf4cube/cube/STM32CubeF4-1.27.1/Drivers/BSP/STM32F4xx-Nucleo")
static module bsp extends third_party.bsp.st_bsp_api {
	source "clock_config.c"

	@AddPrefix("^BUILD/extbld/third_party/bsp/stmf4cube/cube/STM32CubeF4-1.27.1/")
	source "Projects/STM32F411RE-Nucleo/Templates/Src/system_stm32f4xx.c"

	@AddPrefix("^BUILD/extbld/third_party/bsp/stmf4cube/cube/STM32CubeF4-1.27.1/")
	source "Drivers/BSP/STM32F4xx-Nucleo/stm32f4xx_nucleo.c"

	@NoRuntime depends third_party.bsp.stmf4cube.cube
	@NoRuntime depends nucleo_f411re_conf
	@NoRuntime depends platform.stm32.stm32cube_compat
}
