From db306559830ebd7734d30efb840d500d004e1d3f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 8 Oct 2017 11:48:35 +0200 Subject: frosted: add support for stm32f429-discovery --- mk/build.mk | 2 +- target/Makefile | 8 +++++++- target/arm/systems/qemu-arm-lm3s6965evb | 2 +- target/arm/systems/st-stm32f429 | 1 + target/arm/systems/st-stm32f429-discovery | 22 ++++++++++++++++++++++ target/arm/systems/st-stm32f769 | 1 + target/config/Config.in.binutils | 6 +++--- target/frosted/Makefile | 18 ++++++++++-------- 8 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 target/arm/systems/st-stm32f429-discovery diff --git a/mk/build.mk b/mk/build.mk index 14f63d20b..4840ab66d 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -175,7 +175,7 @@ ifeq ($(ADK_TARGET_OS_BAREMETAL),y) $(MAKE) -f mk/build.mk package/hostcompile toolchain/final endif ifeq ($(ADK_TARGET_OS_FROSTED),y) - $(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile target/install + $(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile target/install target/targethelp endif ifeq ($(ADK_TARGET_OS_LINUX),y) $(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile package_clean package/compile root_clean package/install target/install package_index diff --git a/target/Makefile b/target/Makefile index a67fb62b7..99e0fff14 100644 --- a/target/Makefile +++ b/target/Makefile @@ -144,9 +144,9 @@ ifeq ($(ADK_TARGET_OS_FROSTED),y) prepare: frosted-prepare compile: frosted-compile install: frosted-install +targethelp: frosted-targethelp endif - ifeq ($(ADK_TARGET_OS_LINUX),y) prepare: $(ADK_TARGET_ARCH)-prepare compile: $(ADK_TARGET_ARCH)-compile @@ -193,10 +193,16 @@ endif $(END_TRACE) %-compile: %-prepare + $(START_TRACE) "target/$(patsubst %-compile,%,$@)-compile.. " $(MAKE) -C $(patsubst %-compile,%,$@) compile + $(CMD_TRACE) " done" + $(END_TRACE) %-install: + $(START_TRACE) "target/$(patsubst %-install,%,$@)-install.. " $(MAKE) -C $(patsubst %-install,%,$@) install + $(CMD_TRACE) " done" + $(END_TRACE) %-targethelp: $(MAKE) -C $(patsubst %-targethelp,%,$@) targethelp diff --git a/target/arm/systems/qemu-arm-lm3s6965evb b/target/arm/systems/qemu-arm-lm3s6965evb index 801793ffa..c204006b5 100644 --- a/target/arm/systems/qemu-arm-lm3s6965evb +++ b/target/arm/systems/qemu-arm-lm3s6965evb @@ -1,5 +1,5 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_LM3S6965EVB - bool "Qemu Emulator (lm3s6965evb) no MMU" + bool "Qemu Emulator (lm3s6965evb)" depends on ADK_TARGET_OS_FROSTED depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M3 diff --git a/target/arm/systems/st-stm32f429 b/target/arm/systems/st-stm32f429 index 7a9e0f1b6..320e4e579 100644 --- a/target/arm/systems/st-stm32f429 +++ b/target/arm/systems/st-stm32f429 @@ -1,6 +1,7 @@ config ADK_TARGET_SYSTEM_ST_STM32F429 bool "STMicroelectronics STM32F429" depends on ADK_TARGET_LITTLE_ENDIAN + depends on ADK_TARGET_OS_LINUX select ADK_TARGET_CPU_ARM_CORTEX_M4 select ADK_TARGET_ARCH_ARM_WITH_THUMB select ADK_TARGET_WITH_SERIAL diff --git a/target/arm/systems/st-stm32f429-discovery b/target/arm/systems/st-stm32f429-discovery new file mode 100644 index 000000000..6a8a7a225 --- /dev/null +++ b/target/arm/systems/st-stm32f429-discovery @@ -0,0 +1,22 @@ +config ADK_TARGET_SYSTEM_ST_STM32F429_DISCOVERY + bool "STMicroelectronics STM32F429 Discovery" + depends on ADK_TARGET_OS_FROSTED + depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_CPU_ARM_CORTEX_M4 + select ADK_TARGET_ARCH_ARM_WITH_THUMB + select ADK_TARGET_WITH_SERIAL + select ADK_HOST_BUILD_STLINK + select ADK_FROSTED_ARCH_STM32F4 + select ADK_FROSTED_ARCH_STM32F429_XI + select ADK_FROSTED_FLASH_SIZE_2MB + select ADK_FROSTED_RAM_SIZE_256KB + select ADK_FORSTED_ARCH_STM32F429 + select ADK_FROSTED_USART_1 + select ADK_FROSTED_KFLASHMEM_SIZE 128 + select ADK_FROSTED_KRAMMEM_SIZE 64 + select ADK_FROSTED_TASK_STACK_SIZE_2K + select ADK_FROSTED_CLK_168MHZ + select ADK_FROSTED_MPU + help + STMicroelectronics STM32F429 Discovery + diff --git a/target/arm/systems/st-stm32f769 b/target/arm/systems/st-stm32f769 index 4f6571851..a67b09c9d 100644 --- a/target/arm/systems/st-stm32f769 +++ b/target/arm/systems/st-stm32f769 @@ -1,6 +1,7 @@ config ADK_TARGET_SYSTEM_ST_STM32F769 bool "STMicroelectronics STM32F769" depends on ADK_TARGET_LITTLE_ENDIAN + depends on ADK_TARGET_OS_LINUX select ADK_TARGET_CPU_ARM_CORTEX_M7 select ADK_TARGET_HARD_FLOAT_DP select ADK_TARGET_ARCH_ARM_WITH_THUMB diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils index a23f80f19..56f4514c3 100644 --- a/target/config/Config.in.binutils +++ b/target/config/Config.in.binutils @@ -7,7 +7,7 @@ default ADK_TOOLCHAIN_BINUTILS_ARC if ADK_TARGET_ARCH_ARC default ADK_TOOLCHAIN_BINUTILS_CSKY if ADK_TARGET_ARCH_CSKY default ADK_TOOLCHAIN_BINUTILS_NDS32 if ADK_TARGET_ARCH_NDS32 default ADK_TOOLCHAIN_BINUTILS_2_20_1 if ADK_TARGET_ARCH_AVR32 -default ADK_TOOLCHAIN_BINUTILS_2_28 if ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL +default ADK_TOOLCHAIN_BINUTILS_2_28 if ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL && ADK_TARGET_OS_LINUX default ADK_TOOLCHAIN_BINUTILS_2_28 if ADK_TARGET_CPU_SH_J2 default ADK_TOOLCHAIN_BINUTILS_2_29 @@ -22,13 +22,13 @@ config ADK_TOOLCHAIN_BINUTILS_2_29 depends on !ADK_TARGET_ARCH_AVR32 depends on !ADK_TARGET_ARCH_CSKY depends on !ADK_TARGET_ARCH_NDS32 - depends on !(ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL) + depends on !(ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL && ADK_TARGET_OS_LINUX) depends on !ADK_TARGET_CPU_SH_J2 config ADK_TOOLCHAIN_BINUTILS_2_28 bool "2.28" depends on ADK_TARGET_CPU_SH_J2 \ - || (ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL) + || (ADK_TARGET_ARCH_ARM && ADK_KERNEL_THUMB2_KERNEL && ADK_TARGET_OS_LINUX) config ADK_TOOLCHAIN_BINUTILS_NDS32 bool "2.24-nds32" diff --git a/target/frosted/Makefile b/target/frosted/Makefile index 12b2970fb..4845ddab5 100644 --- a/target/frosted/Makefile +++ b/target/frosted/Makefile @@ -4,7 +4,6 @@ include $(ADK_TOPDIR)/rules.mk prepare: - @echo preparing frosted if [ ! -d $(BUILD_DIR)/frosted ]; then \ cd $(BUILD_DIR) ;\ git clone https://github.com/insane-adding-machines/frosted.git ;\ @@ -15,12 +14,15 @@ prepare: cp $(BUILD_DIR)/.frostedapps $(BUILD_DIR)/frosted/frosted-userland/kconfig/.config compile: - PATH='$(HOST_PATH)' $(MAKE) V=1 -C $(BUILD_DIR)/frosted clean - @echo compiling frosted userland - PATH='$(HOST_PATH)' $(MAKE) V=1 -C $(BUILD_DIR)/frosted/frosted-userland - @echo compiling frosted kernel - PATH='$(HOST_PATH)' $(MAKE) V=1 -C $(BUILD_DIR)/frosted + PATH='$(HOST_PATH)' $(MAKE) V=1 -C $(BUILD_DIR)/frosted/frosted-userland $(MAKE_TRACE) + PATH='$(HOST_PATH)' $(MAKE) V=1 -C $(BUILD_DIR)/frosted $(MAKE_TRACE) install: - @echo installing frosted - cp $(BUILD_DIR)/frosted/image.bin $(FW_DIR) + @cp $(BUILD_DIR)/frosted/image.bin $(FW_DIR) + +targethelp: + @echo "Use following command to flash:" + @echo "$(STAGING_HOST_DIR)/usr/bin/st-flash write $(FW_DIR)/image.bin 0x08000000" + +clean: + @PATH='$(HOST_PATH)' $(MAKE) -C $(BUILD_DIR)/frosted clean -- cgit v1.2.3