diff options
Diffstat (limited to 'target')
31 files changed, 1151 insertions, 5 deletions
diff --git a/target/Makefile b/target/Makefile index 2b6498011..47626deaa 100644 --- a/target/Makefile +++ b/target/Makefile @@ -31,6 +31,7 @@ ADK_PACKAGE_CRYPTINIT_ROOT:=$(strip $(subst ",, $(ADK_PACKAGE_CRYPTINIT_ROOT))) ADK_PACKAGE_CRYPTINIT_SWAP:=$(strip $(subst ",, $(ADK_PACKAGE_CRYPTINIT_SWAP))) ADK_PACKAGE_CMDLINE:=root=$(ADK_PACKAGE_CRYPTINIT_ROOT) swap=$(ADK_PACKAGE_CRYPTINIT_SWAP) resume=/dev/mapper/swapcrypt +ifeq ($(ADK_TARGET_OS_LINUX),y) ifeq ($(ADK_TARGET_KERNEL_USE_MINICONFIG),y) ifeq ($(ADK_TARGET_KERNEL_CUSTOMISING),y) config-prepare: $(ADK_TOPDIR)/.config @@ -129,13 +130,29 @@ else config-prepare: $(ADK_TOPDIR)/.config @true endif +endif + +ifeq ($(ADK_TARGET_OS_FROSTED),y) +config-prepare: $(ADK_TOPDIR)/.config + @PATH='$(HOST_PATH)' sed -n '/^FROSTED_/s///p' $(ADK_TOPDIR)/.config \ + >$(BUILD_DIR)/.frosted +endif +ifeq ($(ADK_TARGET_OS_FROSTED),y) +prepare: frosted-prepare +compile: frosted-compile +install: frosted-install +endif + + +ifeq ($(ADK_TARGET_OS_LINUX),y) prepare: $(ADK_TARGET_ARCH)-prepare compile: $(ADK_TARGET_ARCH)-compile image: $(ADK_TARGET_ARCH)-imageclean $(ADK_TARGET_ARCH)-imageinstall targethelp: $(ADK_TARGET_ARCH)-targethelp install: $(ADK_TARGET_ARCH)-imageclean $(ADK_TARGET_ARCH)-install $(ADK_TARGET_ARCH)-imageinstall clean: $(ADK_TARGET_ARCH)-clean $(ADK_TARGET_ARCH)-imageclean +endif %-clean: $(START_TRACE) "target/$(patsubst %-clean,%,$@)-clean.. " diff --git a/target/arm/systems/banana-pro b/target/arm/systems/banana-pro index e5bcc2b1c..7a30cb1ed 100644 --- a/target/arm/systems/banana-pro +++ b/target/arm/systems/banana-pro @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_BANANA_PRO bool "Banana Pro" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A7 select ADK_TARGET_CPU_WITH_NEON diff --git a/target/arm/systems/beaglebone-black b/target/arm/systems/beaglebone-black index d14e6da19..9874d04c7 100644 --- a/target/arm/systems/beaglebone-black +++ b/target/arm/systems/beaglebone-black @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK bool "BeagleBone Black" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A8 select ADK_TARGET_CPU_WITH_NEON diff --git a/target/arm/systems/kinetis-k70 b/target/arm/systems/kinetis-k70 index 82f757bb1..b9373dc1f 100644 --- a/target/arm/systems/kinetis-k70 +++ b/target/arm/systems/kinetis-k70 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_KINETIS_K70 bool "Kinetis K70" + depends on ADK_TARGET_OS_LINUX depends on ADK_EXPERIMENTAL depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M3 diff --git a/target/arm/systems/linksys-nslu2 b/target/arm/systems/linksys-nslu2 index 180d6d974..c53bd2799 100644 --- a/target/arm/systems/linksys-nslu2 +++ b/target/arm/systems/linksys-nslu2 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_LINKSYS_NSLU2 bool "Linksys NSLU2" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_BIG_ENDIAN select ADK_TARGET_CPU_ARM_XSCALE select ADK_TARGET_WITH_USB diff --git a/target/arm/systems/orange-pi0 b/target/arm/systems/orange-pi0 index 9abc2100d..b1414dcfa 100644 --- a/target/arm/systems/orange-pi0 +++ b/target/arm/systems/orange-pi0 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_ORANGE_PI0 bool "Orange PI Zero" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A7 select ADK_TARGET_CPU_WITH_NEON diff --git a/target/arm/systems/qemu-arm-lm3s6965evb b/target/arm/systems/qemu-arm-lm3s6965evb new file mode 100644 index 000000000..e82cc04f3 --- /dev/null +++ b/target/arm/systems/qemu-arm-lm3s6965evb @@ -0,0 +1,10 @@ +config ADK_TARGET_SYSTEM_QEMU_ARM_LM3S6965EVB + bool "Qemu Emulator (lm3s6965evb) no MMU" + depends on ADK_TARGET_OS_FROSTED + depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_CPU_ARM_CORTEX_M3 + select ADK_TARGET_ARCH_ARM_WITH_THUMB + select ADK_TARGET_QEMU + help + Qemu Emulator for ARM architecture (lm3s6965evb) without MMU. + diff --git a/target/arm/systems/qemu-arm-realview-eb-mpcore b/target/arm/systems/qemu-arm-realview-eb-mpcore index 5a65aca72..e4d60e760 100644 --- a/target/arm/systems/qemu-arm-realview-eb-mpcore +++ b/target/arm/systems/qemu-arm-realview-eb-mpcore @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE bool "Qemu Emulator (Realview/EB-Mpcore)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM11MPCORE select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-spitz b/target/arm/systems/qemu-arm-spitz index a695065e6..f3d70314d 100644 --- a/target/arm/systems/qemu-arm-spitz +++ b/target/arm/systems/qemu-arm-spitz @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ bool "Qemu Emulator (Spitz PDA)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_XSCALE select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-terrier b/target/arm/systems/qemu-arm-terrier index f6dbd6b6b..66bed2723 100644 --- a/target/arm/systems/qemu-arm-terrier +++ b/target/arm/systems/qemu-arm-terrier @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER bool "Qemu Emulator (Terrier PDA)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_XSCALE select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-versatilepb b/target/arm/systems/qemu-arm-versatilepb index 2ab7f712f..ab100fc2c 100644 --- a/target/arm/systems/qemu-arm-versatilepb +++ b/target/arm/systems/qemu-arm-versatilepb @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB bool "Qemu Emulator (Versatile/PB)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM926EJ_S select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-versatilepb-nommu b/target/arm/systems/qemu-arm-versatilepb-nommu index a1aef83db..599b1e7b3 100644 --- a/target/arm/systems/qemu-arm-versatilepb-nommu +++ b/target/arm/systems/qemu-arm-versatilepb-nommu @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU bool "Qemu Emulator (Versatile/PB) no MMU" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM926EJ_S_NOMMU select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-vexpress-a9 b/target/arm/systems/qemu-arm-vexpress-a9 index faff5f31b..b69ff7d59 100644 --- a/target/arm/systems/qemu-arm-vexpress-a9 +++ b/target/arm/systems/qemu-arm-vexpress-a9 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 bool "Qemu Emulator (Vexpress A9)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A9 select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-xilinx-zynq b/target/arm/systems/qemu-arm-xilinx-zynq index fa6641d10..c00543509 100644 --- a/target/arm/systems/qemu-arm-xilinx-zynq +++ b/target/arm/systems/qemu-arm-xilinx-zynq @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ bool "Qemu Emulator (Xilinx Zynq)" + depends on ADK_TARGET_OS_LINUX select ADK_TARGET_CPU_ARM_CORTEX_A9 select ADK_TARGET_QEMU select ADK_TARGET_KERNEL_ZIMAGE diff --git a/target/arm/systems/raspberry-pi b/target/arm/systems/raspberry-pi index 2dd918c9d..4768f8978 100644 --- a/target/arm/systems/raspberry-pi +++ b/target/arm/systems/raspberry-pi @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI bool "Raspberry PI" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM1176JZF_S select ADK_TARGET_BOARD_BCM28XX diff --git a/target/arm/systems/raspberry-pi0 b/target/arm/systems/raspberry-pi0 index 9072c2818..0c5d79a5a 100644 --- a/target/arm/systems/raspberry-pi0 +++ b/target/arm/systems/raspberry-pi0 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI0 bool "Raspberry PI Zero W" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM1176JZF_S select ADK_TARGET_BOARD_BCM28XX diff --git a/target/arm/systems/raspberry-pi2 b/target/arm/systems/raspberry-pi2 index 76abde793..7c782d2e2 100644 --- a/target/arm/systems/raspberry-pi2 +++ b/target/arm/systems/raspberry-pi2 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI2 bool "Raspberry PI 2" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A7 select ADK_TARGET_BOARD_BCM28XX diff --git a/target/arm/systems/raspberry-pi3 b/target/arm/systems/raspberry-pi3 index 61f4100d8..4c955d202 100644 --- a/target/arm/systems/raspberry-pi3 +++ b/target/arm/systems/raspberry-pi3 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI3 bool "Raspberry PI 3" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A53 select ADK_TARGET_BOARD_BCM28XX diff --git a/target/arm/systems/sharp-zaurus b/target/arm/systems/sharp-zaurus index f30c4922f..d2e9ea139 100644 --- a/target/arm/systems/sharp-zaurus +++ b/target/arm/systems/sharp-zaurus @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_SHARP_ZAURUS bool "Sharp Zaurus CL3200 (Terrier)" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_XSCALE select ADK_TARGET_CPU_WITH_IWMMXT diff --git a/target/arm/systems/solidrun-clearfog b/target/arm/systems/solidrun-clearfog index a0f61e091..d912c6c22 100644 --- a/target/arm/systems/solidrun-clearfog +++ b/target/arm/systems/solidrun-clearfog @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG bool "Solidrun Clearfog Embedded Systems" + depends on ADK_TARGET_OS_LINUX depends on ADK_EXPERIMENTAL depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A9 diff --git a/target/arm/systems/solidrun-imx6 b/target/arm/systems/solidrun-imx6 index 604a0b042..089161913 100644 --- a/target/arm/systems/solidrun-imx6 +++ b/target/arm/systems/solidrun-imx6 @@ -1,5 +1,6 @@ config ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 bool "Solidrun IMX6 Embedded Systems" + depends on ADK_TARGET_OS_LINUX depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A9 select ADK_TARGET_WITH_VGA diff --git a/target/arm/systems/st-stm32f429 b/target/arm/systems/st-stm32f429 index 1190fddbf..7a9e0f1b6 100644 --- a/target/arm/systems/st-stm32f429 +++ b/target/arm/systems/st-stm32f429 @@ -1,6 +1,5 @@ config ADK_TARGET_SYSTEM_ST_STM32F429 bool "STMicroelectronics STM32F429" - depends on ADK_EXPERIMENTAL depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M4 select ADK_TARGET_ARCH_ARM_WITH_THUMB diff --git a/target/arm/systems/st-stm32f769 b/target/arm/systems/st-stm32f769 index 2227e16db..4f6571851 100644 --- a/target/arm/systems/st-stm32f769 +++ b/target/arm/systems/st-stm32f769 @@ -1,6 +1,5 @@ config ADK_TARGET_SYSTEM_ST_STM32F769 bool "STMicroelectronics STM32F769" - depends on ADK_EXPERIMENTAL depends on ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M7 select ADK_TARGET_HARD_FLOAT_DP diff --git a/target/baremetal/arch.lst b/target/baremetal/arch.lst new file mode 100644 index 000000000..b54278d62 --- /dev/null +++ b/target/baremetal/arch.lst @@ -0,0 +1,38 @@ +aarch64 +arc +arm +avr32 +bfin +c6x +cr16 +cris +csky +epiphany +frv +h8300 +hppa +ia64 +lm32 +m32c +m32r +m68k +metag +microblaze +mips +mn10300 +moxie +msp430 +nds32 +nios2 +or1k +ppc +riscv32 +riscv64 +rx +sparc +sparc64 +sh +v850 +x86 +x86_64 +xtensa diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt index 7567b07bc..9257fe69d 100644 --- a/target/config/Config.in.binfmt +++ b/target/config/Config.in.binfmt @@ -26,6 +26,11 @@ config ADK_TARGET_BINFMT_DSBT endchoice +config ADK_TARGET_BINFMT_FLAT + bool + depends on ADK_TARGET_OS_FROSTED + default y + # Set up flat binary type choice prompt "FLAT Binary type" diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc index 07c643606..1989e1c00 100644 --- a/target/config/Config.in.libc +++ b/target/config/Config.in.libc @@ -125,7 +125,8 @@ config ADK_TARGET_LIB_NEWLIB ADK_TARGET_ARCH_V850 || \ ADK_TARGET_ARCH_X86 || \ ADK_TARGET_ARCH_X86_64 || \ - ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_BAREMETAL + ADK_TARGET_ARCH_XTENSA) && \ + (ADK_TARGET_OS_BAREMETAL || ADK_TARGET_OS_FROSTED) help https://sourceware.org/newlib/ @@ -164,15 +165,19 @@ config ADK_TARGET_LIB_MUSL_GIT config ADK_TARGET_LIB_NEWLIB_2_5_0 bool "2.5.0" - depends on ADK_TARGET_LIB_NEWLIB && !ADK_TARGET_ARCH_RISCV + depends on ADK_TARGET_LIB_NEWLIB && !ADK_TARGET_ARCH_RISCV && !ADK_TARGET_OS_FROSTED config ADK_TARGET_LIB_NEWLIB_RISCV bool "2.4.0-riscv" depends on ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_RISCV +config ADK_TARGET_LIB_NEWLIB_FROSTED + bool "frosted-git" + depends on ADK_TARGET_LIB_NEWLIB && ADK_TARGET_OS_FROSTED + config ADK_TARGET_LIB_NEWLIB_GIT bool "git" - depends on ADK_TARGET_LIB_NEWLIB && !ADK_TARGET_ARCH_RISCV + depends on ADK_TARGET_LIB_NEWLIB && !ADK_TARGET_ARCH_RISCV && !ADK_TARGET_OS_FROSTED endchoice diff --git a/target/config/Config.in.os b/target/config/Config.in.os index 1d21d09e8..2eb420e14 100644 --- a/target/config/Config.in.os +++ b/target/config/Config.in.os @@ -9,6 +9,11 @@ config ADK_TARGET_OS_LINUX help Create a Linux system or toolchain. +config ADK_TARGET_OS_FROSTED + bool "Frosted" + help + Create a frosted appliance or toolchain. + config ADK_TARGET_OS_BAREMETAL bool "Bare metal" help diff --git a/target/frosted/Config.in b/target/frosted/Config.in new file mode 100644 index 000000000..3ed716f71 --- /dev/null +++ b/target/frosted/Config.in @@ -0,0 +1,988 @@ +menu "Compiler options" + config FROSTED_GDB_CFLAG + bool "Keep debugging symbols" + default y + + choice + prompt "Compiler optimization" + config FROSTED_OPTIMIZE_NONE + bool "No optimization" + + config FROSTED_OPTIMIZE_SIZE + bool "Optimize for size" + + config FROSTED_OPTIMIZE_PERF + bool "Optimize for performance" + endchoice + + +endmenu + + +menu "Platform Selection" + + choice FROSTED_ARCH + prompt "Architecture" + default FROSTED_ARCH_LM3S + + config FROSTED_ARCH_LM3S + bool "LM3S" + help + Enable support for Stellaris LM3S systems + + config FROSTED_ARCH_LPC17XX + bool "LPC17XX" + help + Enable support for NXP LPC17xx systems + + config FROSTED_ARCH_STM32F4 + bool "STM32F4" + help + Enable support for ST STM32F4 systems + + config FROSTED_ARCH_STM32F7 + bool "STM32F7" + help + Enable support for ST STM32F7 systems + endchoice + +if FROSTED_ARCH_STM32F7 + +choice + prompt "MCU" + default FROSTED_ARCH_STM32F746_NG + +config FROSTED_ARCH_STM32F746_NG + bool "STM32F746NG 1MB" + select FROSTED_FLASH_SIZE_1MB + select FROSTED_RAM_SIZE_320KB + select FROSTED_ARCH_STM32F746 + +config FROSTED_ARCH_STM32F769_NI + bool "STM32F769NI 2MB" + select FROSTED_FLASH_SIZE_2MB + select FROSTED_RAM_SIZE_368KB + select FROSTED_ARCH_STM32F769 + +endchoice + +endif + +if FROSTED_ARCH_STM32F4 + +choice + prompt "MCU" + default FROSTED_ARCH_STM32F407_XG + +config FROSTED_ARCH_STM32F401_XB + bool "STM32F401xB 128KB" + select FROSTED_FLASH_SIZE_128KB + select FROSTED_RAM_SIZE_64KB + select FROSTED_ARCH_STM32F401 +config FROSTED_ARCH_STM32F401_XC + bool "STM32F401xC 256KB" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_64KB + select FROSTED_ARCH_STM32F401 +config FROSTED_ARCH_STM32F401_XD + bool "STM32F401xD 384KB" + select FROSTED_FLASH_SIZE_384KB + select FROSTED_RAM_SIZE_96KB + select FROSTED_ARCH_STM32F401 +config FROSTED_ARCH_STM32F401_XE + bool "STM32F401xE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_96KB + select FROSTED_ARCH_STM32F401 + +config FROSTED_ARCH_STM32F405_XG + bool "STM32F405xG 1MB" + select FROSTED_FLASH_SIZE_1MB + select FROSTED_RAM_SIZE_192KB + select FROSTED_ARCH_STM32F405 +config FROSTED_ARCH_STM32F405_XE + bool "STM32F407xE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_192KB + select FROSTED_ARCH_STM32F405 + +config FROSTED_ARCH_STM32F407_XG + bool "STM32F407xG 1MB" + select FROSTED_FLASH_SIZE_1MB + select FROSTED_RAM_SIZE_192KB + select FROSTED_ARCH_STM32F407 +config FROSTED_ARCH_STM32F407_XE + bool "STM32F407xE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_192KB + select FROSTED_ARCH_STM32F407 + +config FROSTED_ARCH_STM32F411_XE + bool "STM32F411xE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_128KB + select FROSTED_ARCH_STM32F411 +config FROSTED_ARCH_STM32F411_XC + bool "STM32F411xC 256KB" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_128KB + select FROSTED_ARCH_STM32F411 + +config FROSTED_ARCH_STM32F429_XE + bool "STM32F429xE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_256KB + select FROSTED_ARCH_STM32F429 +config FROSTED_ARCH_STM32F429_XG + bool "STM32F429xG 1MB" + select FROSTED_FLASH_SIZE_1MB + select FROSTED_RAM_SIZE_256KB + select FROSTED_ARCH_STM32F429 +config FROSTED_ARCH_STM32F429_XI + bool "STM32F429xI 2MB" + select FROSTED_FLASH_SIZE_2MB + select FROSTED_RAM_SIZE_256KB + select FROSTED_ARCH_STM32F429 +config FROSTED_ARCH_STM32F446_ZE + bool "STM32F446ZE 512KB" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_128KB + select FROSTED_ARCH_STM32F446 +endchoice + +endif + +if FROSTED_ARCH_LPC17XX + +choice + prompt "MCU" + default FROSTED_ARCH_LPC1768 +config FROSTED_ARCH_LPC1763 + bool "LPC1763" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_32KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1764 + bool "LPC1764" + select FROSTED_FLASH_SIZE_128KB + select FROSTED_RAM_SIZE_16KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1765 + bool "LPC1765" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_32KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1766 + bool "LPC1766" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_32KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1767 + bool "LPC1767" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_32KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1768 + bool "LPC1768" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_32KB + select FROSTED_CLK_100MHZ +config FROSTED_ARCH_LPC1769 + bool "LPC1769" + select FROSTED_FLASH_SIZE_512KB + select FROSTED_RAM_SIZE_32KB +endchoice + +endif + +if FROSTED_ARCH_LM3S + +choice + prompt "MCU" + default FROSTED_LM3S6965 +config FROSTED_ARCH_LM3S6965 + bool "LM3S6965" + select FROSTED_FLASH_SIZE_256KB + select FROSTED_RAM_SIZE_64KB +config FROSTED_ARCH_LM3SVIRT + bool "LM3S-VIRTUAL" + select FROSTED_FLASH_SIZE_1MB + select FROSTED_RAM_SIZE_256KB +endchoice + +endif + + config FROSTED_FLASH_SIZE_2MB + bool + config FROSTED_FLASH_SIZE_1MB + bool + config FROSTED_FLASH_SIZE_512KB + bool + config FROSTED_FLASH_SIZE_384KB + bool + config FROSTED_FLASH_SIZE_256KB + bool + config FROSTED_FLASH_SIZE_128KB + bool + + config FROSTED_RAM_SIZE_368KB + bool + config FROSTED_RAM_SIZE_320KB + bool + config FROSTED_RAM_SIZE_256KB + bool + config FROSTED_RAM_SIZE_192KB + bool + config FROSTED_RAM_SIZE_128KB + bool + config FROSTED_RAM_SIZE_96KB + bool + config FROSTED_RAM_SIZE_64KB + bool + config FROSTED_RAM_SIZE_32KB + bool + config FROSTED_RAM_SIZE_16KB + bool + + config FROSTED_ARCH_STM32F401 + bool + config FROSTED_ARCH_STM32F405 + bool + config FROSTED_ARCH_STM32F407 + bool + config FROSTED_ARCH_STM32F411 + bool + config FROSTED_ARCH_STM32F429 + bool + config FROSTED_ARCH_STM32F446 + bool + config FROSTED_ARCH_STM32F746 + bool + config FROSTED_ARCH_STM32F769 + bool + + config FROSTED_DEVSTM32DMA + bool + + #Temp hack to allow '407 & '411 clock setups to coexist + choice + prompt "Clock Speed" + config FROSTED_CLK_48MHZ + bool "48MHz" + depends on (FROSTED_ARCH_STM32F401 || FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F429) + config FROSTED_CLK_84MHZ + bool "84MHz" + depends on (FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411 || FROSTED_ARCH_STM32F429) + config FROSTED_CLK_100MHZ + bool "100MHz" + depends on FROSTED_ARCH_LPC17XX + config FROSTED_CLK_120MHZ + bool "120MHz" + depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_LPC1769) + config FROSTED_CLK_168MHZ + bool "168MHz" + depends on (FROSTED_ARCH_STM32F407 || FROSTED_ARCH_STM32F405 || FROSTED_ARCH_STM32F429) + config FROSTED_CLK_180MHZ + bool "180MHz" + depends on (FROSTED_ARCH_STM32F446) + config FROSTED_CLK_216MHZ + bool "216MHZ" + depends on (FROSTED_ARCH_STM32F746 || FROSTED_ARCH_STM32F769) + endchoice + + choice + prompt "Board" + default FROSTED_MACH_STM32F407Discovery + config FROSTED_MACH_STM32F746Discovery + bool "STM32F746 Discovery" + depends on (FROSTED_ARCH_STM32F746) + default y + config FROSTED_MACH_STM32F769Discovery + bool "STM32F769 Discovery" + depends on (FROSTED_ARCH_STM32F769) + default y + config FROSTED_MACH_STM32F746Nucleo144 + bool "STM32F746 Nucleo-144" + depends on (FROSTED_ARCH_STM32F746) + default y + config FROSTED_MACH_STM32F407Discovery + bool "STM32F407Discovery" + depends on (FROSTED_ARCH_STM32F407) + default y + config FROSTED_MACH_STM32F405Pyboard + bool "STM32F405 PyBoard (micropython)" + depends on (FROSTED_ARCH_STM32F405) + default y + config FROSTED_MACH_STM32F4x1Discovery + bool "STM32F4x1Discovery" + depends on ( FROSTED_ARCH_STM32F401 ||FROSTED_ARCH_STM32F411) + default y + config FROSTED_MACH_STM32F429Discovery + bool "STM32F429Discovery" + depends on (FROSTED_ARCH_STM32F429) + default y + config FROSTED_MACH_STM32F446Nucleo + bool "STM32F446 Nucleo" + depends on (FROSTED_ARCH_STM32F446) + default y + + config FROSTED_MACH_LPC1768MBED + bool "LPC1768MBED" + depends on FROSTED_ARCH_LPC1768 + config FROSTED_MACH_SEEEDPRO + bool "SEEEDPRO" + depends on FROSTED_ARCH_LPC1768 + default y + config FROSTED_MACH_LPC1679XPRESSO + bool "LPC1679XPRESSO" + depends on FROSTED_ARCH_LPC1769 + default y + config FROSTED_MACH_LM3S6965EVB + bool "lm3s6965evb" + depends on FROSTED_ARCH_LM3S6965 + default y + config FROSTED_MACH_LM3SVIRT + bool "lm3s-qemu" + depends on FROSTED_ARCH_LM3SVIRT + default y + + endchoice + + config FROSTED_STM32F7_SDRAM + depends on FROSTED_ARCH_STM32F7 + bool "Enable external SDRAM" + default y + + config FROSTED_STM32F4_SDRAM + depends on FROSTED_ARCH_STM32F4 + bool "Enable external SDRAM" + default n + +endmenu + + +menu "Kernel Configuration" + +config FROSTED_KFLASHMEM_SIZE + int "Kernel Flash size (KB)" + default 64 + +config FROSTED_KRAMMEM_SIZE + int "Kernel RAM size (KB)" + default 64 + +choice +prompt "Tasks Stack Size" +default FROSTED_TASK_STACK_SIZE_2K + + config FROSTED_TASK_STACK_SIZE_1K + bool "Tiny stack (1024 Bytes)" + + config FROSTED_TASK_STACK_SIZE_2K + bool "Small stack (2048 Bytes)" + + config FROSTED_TASK_STACK_SIZE_4K + bool "Big stack (4096 Bytes)" + + config FROSTED_TASK_STACK_SIZE_8K + bool "Huge stack (8192 Bytes)" +endchoice + +config FROSTED_MPU +bool "Run-time Memory Protection" +default y + +config FROSTED_PTHREADS +bool "POSIX Threads (pthreads)" +default y + +config FROSTED_SIGNALS +bool "Process Signals" +default y + +config FROSTED_PIPE +bool "Pipe" +default y + +config FROSTED_SOCK_UNIX +bool "UNIX Sockets for IPC" +default n + + +endmenu + + + +menu "Debugging options" + +config FROSTED_KLOG |