{ "templates": { "build_cmd": "python3 tools/build.py -s cmake -b ${board}", "elf": "cmake-build/cmake-build-${board}/device/${example}/${example}.elf", "setup_cmd": "${toolchain.setup_cmd} && python3 tools/get_deps.py ${get_deps}", "get_deps": "${port}" }, "toolchains": { "arm-none-eabi-gcc-14": { "setup_cmd": "NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-linux.zip && wget -q $NINJA_URL -O ninja-linux.zip && unzip -q ninja-linux.zip -d $HOME/bin && echo \"$HOME/bin\" >> $GITHUB_PATH && TOOLCHAIN_URL=https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v14.2.1-1.1/xpack-arm-none-eabi-gcc-14.2.1-1.1-linux-x64.tar.gz && mkdir -p $HOME/toolchain && wget -q $TOOLCHAIN_URL -O toolchain.tar.gz && tar -C $HOME/toolchain -xf toolchain.tar.gz && echo \"$HOME/toolchain/xpack-arm-none-eabi-gcc-14.2.1-1.1/bin\" >> $GITHUB_PATH" }, "aarch64-none-elf-gcc-10": { "setup_cmd": "NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-linux.zip && wget -q $NINJA_URL -O ninja-linux.zip && unzip -q ninja-linux.zip -d $HOME/bin && echo \"$HOME/bin\" >> $GITHUB_PATH && TOOLCHAIN_URL=https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz && mkdir -p $HOME/toolchain && wget -q $TOOLCHAIN_URL -O toolchain.tar.xz && tar -C $HOME/toolchain -xf toolchain.tar.xz && echo \"$HOME/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin\" >> $GITHUB_PATH" }, "riscv-none-elf-gcc-13": { "setup_cmd": "NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-linux.zip && wget -q $NINJA_URL -O ninja-linux.zip && unzip -q ninja-linux.zip -d $HOME/bin && echo \"$HOME/bin\" >> $GITHUB_PATH && TOOLCHAIN_URL=https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-linux-x64.tar.gz && mkdir -p $HOME/toolchain && wget -q $TOOLCHAIN_URL -O toolchain.tar.gz && tar -C $HOME/toolchain -xf toolchain.tar.gz && echo \"$HOME/toolchain/xpack-riscv-none-elf-gcc-13.2.0-2/bin\" >> $GITHUB_PATH" }, "msp430-gcc-9": { "setup_cmd": "NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-linux.zip && wget -q $NINJA_URL -O ninja-linux.zip && unzip -q ninja-linux.zip -d $HOME/bin && echo \"$HOME/bin\" >> $GITHUB_PATH && TOOLCHAIN_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 && mkdir -p $HOME/toolchain && wget -q $TOOLCHAIN_URL -O toolchain.tar.bz2 && tar -C $HOME/toolchain -xf toolchain.tar.bz2 && echo \"$HOME/toolchain/msp430-gcc-9.2.0.50_linux64/bin\" >> $GITHUB_PATH" } }, "targets": [ { "port": "at32f402_405", "board": "at_start_f402", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f402_405/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F402xC_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f403a_407", "board": "at32f403a_weact_blackpill", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f403a_407/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f413", "board": "at_start_f413", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f413/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f415", "board": "at_start_f415", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f415/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f423", "board": "at_start_f423", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f423/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F423xC_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f425", "board": "at_start_f425", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f425/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F425x8_FLASH.ld", "example": "cdc_msc" }, { "port": "at32f435_437", "board": "at_start_f435", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/artery/at32f435_437/libraries/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld", "example": "cdc_msc" }, { "port": "broadcom_32bit", "board": "raspberrypi_zero", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/broadcom/broadcom/link.ld", "example": "cdc_msc" }, { "port": "broadcom_64bit", "board": "raspberrypi_cm4", "toolchain": "aarch64-none-elf-gcc-10", "ld": "hw/mcu/broadcom/broadcom/link8.ld", "example": "cdc_msc" }, { "port": "ch32v10x", "board": "ch32v103r_r1_1v0", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/bsp/ch32v10x/linker/ch32v10x.ld", "linker_vars": "__FLASH_SIZE=64K __RAM_SIZE=20K", "example": "cdc_msc" }, { "port": "ch32v20x", "board": "ch32v203c_r0_1v0", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/bsp/ch32v20x/linker/ch32v20x.ld", "linker_vars": "__flash_size=64K __ram_size=20K", "example": "cdc_msc" }, { "port": "ch32v30x", "board": "ch32v307v_r1_1v0", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/bsp/ch32v30x/linker/ch32v30x.ld", "linker_vars": "__flash_size=128K __ram_size=32K", "example": "cdc_msc" }, { "port": "da1469x", "board": "da14695_dk_usb", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/da1469x/linker/da1469x.ld", "example": "cdc_msc" }, { "port": "fomu", "board": "fomu", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/bsp/fomu/fomu.ld", "example": "cdc_msc" }, { "port": "gd32vf103", "board": "sipeed_longan_nano", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/mcu/gd/nuclei-sdk/SoC/gd32vf103/Board/gd32vf103c_longan_nano/Source/GCC/gcc_gd32vf103xb_flashxip.ld", "linker_vars": "__ROM_BASE=0x08000000 __ROM_SIZE=0x00020000 __RAM_BASE=0x20000000 __RAM_SIZE=0x00008000", "example": "cdc_msc" }, { "port": "hpmicro", "board": "hpm6750evk2", "toolchain": "riscv-none-elf-gcc-13", "ld": "hw/mcu/hpmicro/hpm_sdk/soc/HPM6700/HPM6750/toolchains/gcc/flash_xip.ld", "linker_vars": "_flash_size=16M _stack_size=16K _heap_size=16K", "example": "cdc_msc" }, { "port": "imxrt", "board": "metro_m7_1011", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/MIMXRT1011/gcc/MIMXRT1011xxxxx_flexspi_nor.ld", "example": "cdc_msc" }, { "port": "kinetis_k", "board": "frdm_k64f", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/MK64F12/gcc/MK64FN1M0xxx12_flash.ld", "get_deps": "kinetis_k kinetis_kl", "example": "cdc_msc" }, { "port": "kinetis_k32l2", "board": "frdm_k32l2a4s", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/K32L2A41A/gcc/K32L2A41xxxxA_flash.ld", "example": "cdc_msc" }, { "port": "kinetis_kl", "board": "frdm_kl25z", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/kinetis_kl/gcc/MKL25Z128xxx4_flash.ld", "example": "cdc_msc" }, { "port": "lpc11", "board": "lpcxpresso11u37", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc11/boards/lpcxpresso11u37/lpc11u37.ld", "example": "cdc_msc" }, { "port": "lpc13", "board": "lpcxpresso1347", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc13/boards/lpcxpresso1347/lpc1347.ld", "example": "cdc_msc" }, { "port": "lpc15", "board": "lpcxpresso1549", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc15/boards/lpcxpresso1549/lpc1549.ld", "example": "cdc_msc" }, { "port": "lpc17", "board": "lpcxpresso1769", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc17/boards/lpcxpresso1769/lpc1769.ld", "example": "cdc_msc" }, { "port": "lpc18", "board": "lpcxpresso18s37", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc18/boards/lpcxpresso18s37/lpc1837.ld", "example": "cdc_msc" }, { "port": "lpc40", "board": "ea4088_quickstart", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc40/boards/ea4088_quickstart/lpc4088.ld", "example": "cdc_msc" }, { "port": "lpc43", "board": "ea4357", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc43/boards/ea4357/lpc4357.ld", "example": "cdc_msc" }, { "port": "lpc51", "board": "lpcxpresso51u68", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/LPC51U68/gcc/LPC51U68_flash.ld", "example": "cdc_msc" }, { "port": "lpc54", "board": "lpcxpresso54114", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/LPC54114/gcc/LPC54114J256_cm4_flash.ld", "example": "cdc_msc" }, { "port": "lpc55", "board": "double_m33_express", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/lpc55/boards/double_m33_express/LPC55S69_cm33_core0_uf2.ld", "example": "cdc_msc" }, { "port": "maxim", "board": "apard32690", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/maxim/linker/max32690.ld", "example": "cdc_msc" }, { "port": "mcx", "board": "frdm_mcxa153", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/MCXA153/gcc/MCXA153_flash.ld", "example": "cdc_msc" }, { "port": "mm32", "board": "mm32f327x_mb39", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/mm32/boards/mm32f327x_mb39/flash.ld", "example": "cdc_msc" }, { "port": "msp430", "board": "msp_exp430f5529lp", "toolchain": "msp430-gcc-9", "ld": "hw/mcu/ti/msp430/msp430-gcc-support-files/include/msp430f5529.ld", "example": "cdc_msc" }, { "port": "msp432e4", "board": "msp_exp432e401y", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/ti/msp432e4/Source/msp432e411y.ld", "example": "cdc_msc" }, { "port": "nrf", "board": "adafruit_clue", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/nrf/linker/nrf52840_xxaa.ld", "example": "cdc_msc" }, { "port": "nuc100_120", "board": "nutiny_sdk_nuc120", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/nuc100_120/boards/nutiny_sdk_nuc120/nuc120_flash.ld", "example": "cdc_msc" }, { "port": "nuc121_125", "board": "nutiny_sdk_nuc121", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/nuc121_125/boards/nutiny_sdk_nuc121/nuc121_flash.ld", "example": "cdc_msc" }, { "port": "nuc126", "board": "nutiny_nuc126v", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/nuc126/boards/nutiny_nuc126v/nuc126_flash.ld", "example": "cdc_msc" }, { "port": "nuc505", "board": "nutiny_sdk_nuc505", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/nuc505/boards/nutiny_sdk_nuc505/nuc505_flashtoram.ld", "example": "cdc_msc" }, { "port": "ra", "board": "portenta_c33", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/ra/boards/portenta_c33/script/memory_regions.ld hw/bsp/ra/boards/portenta_c33/script/fsp.ld", "example": "cdc_msc" }, { "port": "rw61x", "board": "frdm_rw612", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/nxp/mcux-sdk/devices/RW612/gcc/RW612_flash.ld", "example": "cdc_msc" }, { "port": "samd11", "board": "cynthion_d11", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/samd11/boards/cynthion_d11/cynthion_d11.ld", "linker_vars": "BOOTLOADER_SIZE=0x800", "example": "cdc_dual_ports" }, { "port": "samd5x_e5x", "board": "metro_m4_express", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/samd5x_e5x/boards/metro_m4_express/metro_m4_express.ld", "example": "cdc_msc" }, { "port": "samg", "board": "samg55_xplained", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/samg/boards/samg55_xplained/samg55j19_flash.ld", "example": "cdc_msc" }, { "port": "stm32c0", "board": "stm32c071nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32c0/boards/stm32c071nucleo/STM32C071RBTx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32f0", "board": "stm32f070rbnucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f0/boards/stm32f070rbnucleo/stm32F070rbtx_flash.ld", "example": "cdc_msc" }, { "port": "stm32f1", "board": "stm32f103_bluepill", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f1/boards/stm32f103_bluepill/STM32F103X8_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32f2", "board": "stm32f207nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f2/boards/stm32f207nucleo/STM32F207ZGTx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32f3", "board": "stm32f303disco", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f3/boards/stm32f303disco/STM32F303VCTx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32f4", "board": "feather_stm32f405", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f4/boards/feather_stm32f405/STM32F405RGTx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32f7", "board": "stlinkv3mini", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32f7/boards/stlinkv3mini/STM32F723xE_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32g0", "board": "stm32g0b1nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32g0/boards/stm32g0b1nucleo/STM32G0B1RETx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32g4", "board": "b_g474e_dpow1", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32g4/boards/b_g474e_dpow1/STM32G474RETx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32h5", "board": "stm32h503nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32h5/linker/STM32H533xx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32h7", "board": "stm32h743eval", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32h7/linker/stm32h743xx_flash.ld", "example": "cdc_msc" }, { "port": "stm32h7rs", "board": "stm32h7s3nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32h7rs/linker/stm32h7s3xx_flash.ld", "linker_vars": "__FLASH_BEGIN=0x08000000 __FLASH_SIZE=0x00010000 __RAM_BEGIN=0x24000000 __RAM_SIZE=0x4FC00 __RAM_NONCACHEABLEBUFFER_SIZE=0x400", "example": "cdc_msc" }, { "port": "stm32l0", "board": "stm32l052dap52", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32l0/boards/stm32l052dap52/STM32L052K8Ux_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32l4", "board": "stm32l412nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32l4/boards/stm32l412nucleo/STM32L412KBUx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32n6", "board": "stm32n6570dk", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32n6/boards/stm32n6570dk/STM32N657XX_AXISRAM2_fsbl.ld", "example": "cdc_msc" }, { "port": "stm32u0", "board": "stm32u083cdk", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32u0/boards/stm32u083cdk/STM32U083MCTx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32u5", "board": "b_u585i_iot2a", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32u5/linker/STM32U5A9xx_FLASH.ld", "example": "cdc_msc" }, { "port": "stm32wb", "board": "stm32wb55nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32wb/boards/stm32wb55nucleo/stm32wb55xx_flash_cm4.ld", "example": "cdc_msc" }, { "port": "stm32wba", "board": "stm32wba_nucleo", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/stm32wba/linker/STM32WBA65xx_FLASH_ns.ld", "example": "cdc_msc" }, { "port": "tm4c", "board": "ek_tm4c123gxl", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/bsp/tm4c/boards/ek_tm4c123gxl/tm4c123.ld", "example": "cdc_msc" }, { "port": "xmc4000", "board": "xmc4500_relax", "toolchain": "arm-none-eabi-gcc-14", "ld": "hw/mcu/infineon/mtb-xmclib-cat3/CMSIS/Infineon/COMPONENT_XMC4500/Source/TOOLCHAIN_GCC_ARM/XMC4500x1024.ld", "example": "cdc_msc" } ] }