initial commit

This commit is contained in:
shell committed 2026-10-11 21:48:59 +08:00
commit b44ce7bd77
2716 files changed
+559005

No files matched your search

@@ -0,0 +1,21 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "aarch64-none-elf-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "aarch64-none-elf-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE aarch64-none-elf-size)
find_program(CMAKE_OBJCOPY aarch64-none-elf-objcopy)
find_program(CMAKE_OBJDUMP aarch64-none-elf-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
@@ -0,0 +1,22 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "clang")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "clang++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE llvm-size)
find_program(CMAKE_OBJCOPY llvm-objcopy)
find_program(CMAKE_OBJDUMP llvm-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
@@ -0,0 +1,25 @@
if (RTOS STREQUAL zephyr)
return()
endif ()
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE arm-none-eabi-size)
find_program(CMAKE_OBJCOPY arm-none-eabi-objcopy)
find_program(CMAKE_OBJDUMP arm-none-eabi-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
@@ -0,0 +1,32 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "iccarm")
endif()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "iccarm")
endif()
if (NOT DEFINED CMAKE_ASM_COMPILER)
set(CMAKE_ASM_COMPILER "iasmarm")
endif()
find_program(CMAKE_SIZE size)
find_program(CMAKE_OBJCOPY ielftool)
find_program(CMAKE_OBJDUMP iefdumparm)
find_program(CMAKE_IAR_CSTAT icstat)
find_program(CMAKE_IAR_CHECKS ichecks)
find_program(CMAKE_IAR_REPORT ireport)
if (IAR_CSTAT)
cmake_minimum_required(VERSION 4.1)
set(CMAKE_C_ICSTAT ${CMAKE_IAR_CSTAT}
--checks=${CMAKE_CURRENT_LIST_DIR}/cstat_sel_checks.txt
--db=${CMAKE_BINARY_DIR}/cstat.db
--sarif_dir=${CMAKE_BINARY_DIR}/cstat_sarif
--exclude=${TOP}/hw/mcu
--exclude=${TOP}/lib
)
endif ()
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
@@ -0,0 +1,51 @@
include(CMakePrintHelpers)
# ----------------------------------------------------------------------------
# Common
# ----------------------------------------------------------------------------
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_CPU})
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
# Look for includes and libraries only in the target system prefix.
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# pass TOOLCHAIN_CPU to
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_CPU)
include(${CMAKE_CURRENT_LIST_DIR}/../cpu/${CMAKE_SYSTEM_CPU}.cmake)
# ----------------------------------------------------------------------------
# Compile flags
# ----------------------------------------------------------------------------
set(TOOLCHAIN_C_FLAGS)
set(TOOLCHAIN_ASM_FLAGS)
set(TOOLCHAIN_EXE_LINKER_FLAGS)
if (TOOLCHAIN STREQUAL "gcc" OR TOOLCHAIN STREQUAL "clang")
list(APPEND TOOLCHAIN_COMMON_FLAGS
-fdata-sections
-ffunction-sections
# -fsingle-precision-constant # not supported by clang
-fno-strict-aliasing
-g # include debug info for bloaty
)
set(TOOLCHAIN_EXE_LINKER_FLAGS "-Wl,--print-memory-usage -Wl,--gc-sections -Wl,--cref")
if (TOOLCHAIN STREQUAL clang)
set(TOOLCHAIN_ASM_FLAGS "-x assembler-with-cpp")
endif ()
elseif (TOOLCHAIN STREQUAL "iar")
set(TOOLCHAIN_C_FLAGS --debug)
set(TOOLCHAIN_EXE_LINKER_FLAGS --diag_suppress=Li065)
endif ()
# join the toolchain flags into a single string
list(JOIN TOOLCHAIN_COMMON_FLAGS " " TOOLCHAIN_COMMON_FLAGS)
set(CMAKE_C_FLAGS_INIT "${TOOLCHAIN_COMMON_FLAGS} ${TOOLCHAIN_C_FLAGS}")
set(CMAKE_CXX_FLAGS_INIT "${TOOLCHAIN_COMMON_FLAGS} ${TOOLCHAIN_C_FLAGS}")
set(CMAKE_ASM_FLAGS_INIT "${TOOLCHAIN_COMMON_FLAGS} ${TOOLCHAIN_ASM_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS_INIT ${TOOLCHAIN_EXE_LINKER_FLAGS})
@@ -0,0 +1,247 @@
# IAR C-STAT Checks Manifest Handler V2.7.5.562
#
MISRAC2012-Dir-4.3
MISRAC2012-Dir-4.7_c
MISRAC2012-Dir-4.10
MISRAC2012-Dir-4.11_a
MISRAC2012-Dir-4.11_b
MISRAC2012-Dir-4.11_c
MISRAC2012-Dir-4.11_d
MISRAC2012-Dir-4.11_e
MISRAC2012-Dir-4.11_f
MISRAC2012-Dir-4.11_g
MISRAC2012-Dir-4.11_h
MISRAC2012-Dir-4.11_i
MISRAC2012-Dir-4.12
MISRAC2012-Dir-4.14_a
MISRAC2012-Dir-4.14_b
MISRAC2012-Dir-4.14_c
MISRAC2012-Dir-4.14_d
MISRAC2012-Dir-4.14_e
MISRAC2012-Dir-4.14_f
MISRAC2012-Dir-4.14_g
MISRAC2012-Dir-4.14_h
MISRAC2012-Dir-4.14_i
MISRAC2012-Dir-4.14_j
MISRAC2012-Dir-4.14_l
MISRAC2012-Dir-4.14_m
MISRAC2012-Dir-4.15
MISRAC2012-Rule-1.3_a
MISRAC2012-Rule-1.3_b
MISRAC2012-Rule-1.3_c
MISRAC2012-Rule-1.3_d
MISRAC2012-Rule-1.3_e
MISRAC2012-Rule-1.3_f
MISRAC2012-Rule-1.3_g
MISRAC2012-Rule-1.3_h
MISRAC2012-Rule-1.3_i
MISRAC2012-Rule-1.3_j
MISRAC2012-Rule-1.3_k
MISRAC2012-Rule-1.3_l
MISRAC2012-Rule-1.3_m
MISRAC2012-Rule-1.3_n
MISRAC2012-Rule-1.3_o
MISRAC2012-Rule-1.3_p
MISRAC2012-Rule-1.3_q
MISRAC2012-Rule-1.3_r
MISRAC2012-Rule-1.3_s
MISRAC2012-Rule-1.3_t
MISRAC2012-Rule-1.3_u
MISRAC2012-Rule-1.3_v
MISRAC2012-Rule-1.4
MISRAC2012-Rule-1.5_b
MISRAC2012-Rule-1.5_c
MISRAC2012-Rule-1.5_d
MISRAC2012-Rule-1.5_e
MISRAC2012-Rule-1.5_f
MISRAC2012-Rule-1.5_g
MISRAC2012-Rule-2.1_a
MISRAC2012-Rule-2.1_b
MISRAC2012-Rule-2.2_a
MISRAC2012-Rule-2.2_b
MISRAC2012-Rule-2.2_c
MISRAC2012-Rule-3.1
MISRAC2012-Rule-3.2
MISRAC2012-Rule-5.1
MISRAC2012-Rule-5.2_c89
MISRAC2012-Rule-5.2_c99
MISRAC2012-Rule-5.3_c89
MISRAC2012-Rule-5.3_c99
MISRAC2012-Rule-5.4_c89
MISRAC2012-Rule-5.4_c99
MISRAC2012-Rule-5.5_c89
MISRAC2012-Rule-5.5_c99
MISRAC2012-Rule-5.6
MISRAC2012-Rule-5.7
MISRAC2012-Rule-5.8
MISRAC2012-Rule-6.1
MISRAC2012-Rule-6.2
MISRAC2012-Rule-6.3
MISRAC2012-Rule-7.1
MISRAC2012-Rule-7.2
MISRAC2012-Rule-7.3
MISRAC2012-Rule-7.4_a
MISRAC2012-Rule-7.4_b
MISRAC2012-Rule-7.5
MISRAC2012-Rule-7.6
MISRAC2012-Rule-8.1
MISRAC2012-Rule-8.2_a
MISRAC2012-Rule-8.2_b
MISRAC2012-Rule-8.3
MISRAC2012-Rule-8.4
MISRAC2012-Rule-8.5_a
MISRAC2012-Rule-8.5_b
MISRAC2012-Rule-8.10
MISRAC2012-Rule-8.12
MISRAC2012-Rule-8.14
MISRAC2012-Rule-8.15
MISRAC2012-Rule-9.1_a
MISRAC2012-Rule-9.1_b
MISRAC2012-Rule-9.1_d
MISRAC2012-Rule-9.1_e
MISRAC2012-Rule-9.2
MISRAC2012-Rule-9.3
MISRAC2012-Rule-9.4
MISRAC2012-Rule-9.5_a
MISRAC2012-Rule-9.5_b
MISRAC2012-Rule-9.6
MISRAC2012-Rule-9.7
MISRAC2012-Rule-10.1_R2
MISRAC2012-Rule-10.1_R3
MISRAC2012-Rule-10.1_R4
MISRAC2012-Rule-10.1_R5
MISRAC2012-Rule-10.1_R6
MISRAC2012-Rule-10.1_R7
MISRAC2012-Rule-10.1_R8
MISRAC2012-Rule-10.1_R10
MISRAC2012-Rule-10.2
MISRAC2012-Rule-10.3
MISRAC2012-Rule-10.4_a
MISRAC2012-Rule-10.4_b
MISRAC2012-Rule-10.6
MISRAC2012-Rule-10.7
MISRAC2012-Rule-10.8
MISRAC2012-Rule-11.1
MISRAC2012-Rule-11.2
MISRAC2012-Rule-11.3
MISRAC2012-Rule-11.6
MISRAC2012-Rule-11.7
MISRAC2012-Rule-11.8
MISRAC2012-Rule-11.9
MISRAC2012-Rule-11.10
MISRAC2012-Rule-12.2
MISRAC2012-Rule-12.5
MISRAC2012-Rule-12.6
MISRAC2012-Rule-13.1
MISRAC2012-Rule-13.2_a
MISRAC2012-Rule-13.2_b
MISRAC2012-Rule-13.2_c
MISRAC2012-Rule-13.5
MISRAC2012-Rule-13.6
MISRAC2012-Rule-14.1_a
MISRAC2012-Rule-14.1_b
MISRAC2012-Rule-14.2
MISRAC2012-Rule-14.3_a
MISRAC2012-Rule-14.3_b
MISRAC2012-Rule-14.4_a
MISRAC2012-Rule-14.4_b
MISRAC2012-Rule-14.4_c
MISRAC2012-Rule-14.4_d
MISRAC2012-Rule-15.2
MISRAC2012-Rule-15.3
MISRAC2012-Rule-15.6_a
MISRAC2012-Rule-15.6_b
MISRAC2012-Rule-15.6_c
MISRAC2012-Rule-15.6_d
MISRAC2012-Rule-15.6_e
MISRAC2012-Rule-15.7
MISRAC2012-Rule-16.1
MISRAC2012-Rule-16.2
MISRAC2012-Rule-16.3
MISRAC2012-Rule-16.4
MISRAC2012-Rule-16.5
MISRAC2012-Rule-16.6
MISRAC2012-Rule-16.7
MISRAC2012-Rule-17.1
MISRAC2012-Rule-17.2_a
MISRAC2012-Rule-17.2_b
MISRAC2012-Rule-17.3
MISRAC2012-Rule-17.4
MISRAC2012-Rule-17.5
MISRAC2012-Rule-17.6
MISRAC2012-Rule-17.7
MISRAC2012-Rule-17.13
MISRAC2012-Rule-18.1_a
MISRAC2012-Rule-18.1_b
MISRAC2012-Rule-18.1_c
MISRAC2012-Rule-18.1_d
MISRAC2012-Rule-18.2
MISRAC2012-Rule-18.3
MISRAC2012-Rule-18.4
MISRAC2012-Rule-18.6_a
MISRAC2012-Rule-18.6_b
MISRAC2012-Rule-18.6_c
MISRAC2012-Rule-18.6_d
MISRAC2012-Rule-18.7
MISRAC2012-Rule-18.8
MISRAC2012-Rule-18.9
MISRAC2012-Rule-18.10
MISRAC2012-Rule-19.1
MISRAC2012-Rule-20.2
MISRAC2012-Rule-20.4_c89
MISRAC2012-Rule-20.4_c99
MISRAC2012-Rule-20.6_a
MISRAC2012-Rule-20.6_b
MISRAC2012-Rule-20.7
MISRAC2012-Rule-21.1
MISRAC2012-Rule-21.2
MISRAC2012-Rule-21.3
MISRAC2012-Rule-21.4
MISRAC2012-Rule-21.5
MISRAC2012-Rule-21.6
MISRAC2012-Rule-21.7
MISRAC2012-Rule-21.8
MISRAC2012-Rule-21.9
MISRAC2012-Rule-21.10
MISRAC2012-Rule-21.12_a
MISRAC2012-Rule-21.12_b
MISRAC2012-Rule-21.12_c
MISRAC2012-Rule-21.13
MISRAC2012-Rule-21.14
MISRAC2012-Rule-21.15
MISRAC2012-Rule-21.16
MISRAC2012-Rule-21.17_a
MISRAC2012-Rule-21.17_b
MISRAC2012-Rule-21.17_c
MISRAC2012-Rule-21.17_d
MISRAC2012-Rule-21.17_e
MISRAC2012-Rule-21.17_f
MISRAC2012-Rule-21.18_a
MISRAC2012-Rule-21.18_b
MISRAC2012-Rule-21.19_a
MISRAC2012-Rule-21.19_b
MISRAC2012-Rule-21.20
MISRAC2012-Rule-21.21
MISRAC2012-Rule-21.22
MISRAC2012-Rule-21.23
MISRAC2012-Rule-21.24
MISRAC2012-Rule-21.25
MISRAC2012-Rule-22.1_a
MISRAC2012-Rule-22.1_b
MISRAC2012-Rule-22.2_a
MISRAC2012-Rule-22.2_b
MISRAC2012-Rule-22.2_c
MISRAC2012-Rule-22.3
MISRAC2012-Rule-22.4
MISRAC2012-Rule-22.5_a
MISRAC2012-Rule-22.5_b
MISRAC2012-Rule-22.6
MISRAC2012-Rule-22.7_a
MISRAC2012-Rule-22.7_b
MISRAC2012-Rule-22.8
MISRAC2012-Rule-22.9
MISRAC2012-Rule-22.10
MISRAC2012-Rule-23.2
MISRAC2012-Rule-23.4
MISRAC2012-Rule-23.6
MISRAC2012-Rule-23.8
@@ -0,0 +1,22 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "ft32-elf-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "ft32-elf-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE ft32-elf-size)
find_program(CMAKE_OBJCOPY ft32-elf-objcopy)
find_program(CMAKE_OBJDUMP ft32-elf-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
@@ -0,0 +1,15 @@
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER "msp430-elf-gcc")
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER "msp430-elf-g++")
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE msp430-elf-size)
find_program(CMAKE_OBJCOPY msp430-elf-objcopy)
find_program(CMAKE_OBJDUMP msp430-elf-objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
@@ -0,0 +1,30 @@
# default Toolchain from https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack
if (NOT DEFINED CROSS_COMPILE)
set(CROSS_COMPILE "riscv-none-elf-")
endif ()
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc)
endif ()
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc)
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER ${CROSS_COMPILE}g++)
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE ${CROSS_COMPILE}size)
find_program(CMAKE_OBJCOPY ${CROSS_COMPILE}objcopy)
find_program(CMAKE_OBJDUMP ${CROSS_COMPILE}objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
@@ -0,0 +1,26 @@
# Cross Compiler for RX
if (NOT DEFINED CROSS_COMPILE)
set(CROSS_COMPILE "rx-elf-")
endif ()
if (NOT DEFINED CMAKE_C_COMPILER)
set(CMAKE_C_COMPILER ${CROSS_COMPILE}gcc)
endif ()
if (NOT DEFINED CMAKE_CXX_COMPILER)
set(CMAKE_CXX_COMPILER ${CROSS_COMPILE}g++)
endif ()
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
find_program(CMAKE_SIZE ${CROSS_COMPILE}size)
find_program(CMAKE_OBJCOPY ${CROSS_COMPILE}objcopy)
find_program(CMAKE_OBJDUMP ${CROSS_COMPILE}objdump)
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
if (IS_IN_TRY_COMPILE)
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()