154568cb3Sopenharmony_ci################交叉编译##################### 254568cb3Sopenharmony_ci#cross-compilation config 354568cb3Sopenharmony_ciset(CMAKE_SYSTEM_NAME Linux) 454568cb3Sopenharmony_ciset(CMAKE_SYSTEM_PROCESSOR arm) 554568cb3Sopenharmony_ci 654568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 754568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 854568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 954568cb3Sopenharmony_ciset(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) 1054568cb3Sopenharmony_ci 1154568cb3Sopenharmony_ci 1254568cb3Sopenharmony_ciset(CPU_TYPE "$ENV{CPU_TYPE}" ) 1354568cb3Sopenharmony_ciset(PLAM_TYPE "$ENV{PLAM_TYPE}" ) 1454568cb3Sopenharmony_ciset(LIB_TYPE "$ENV{LIB_TYPE}" ) 1554568cb3Sopenharmony_ciset(SYSTEM "$ENV{SYSTEM}" ) 1654568cb3Sopenharmony_ciset(CORE "$ENV{CORE}" ) 1754568cb3Sopenharmony_ciset(LIB_RUN_TYPE "$ENV{LIB_RUN_TYPE}" ) 1854568cb3Sopenharmony_ciset(BUILD_DIR "$ENV{BUILD_TMP_DIR}" ) #version id 1954568cb3Sopenharmony_ciset(OBJCOPY_PATH "$ENV{OBJCOPY_PATH}" ) #OBJCOPY_PATH 2054568cb3Sopenharmony_ciset(COMPILE_MODE "$ENV{COMPILE_MODE}" ) 2154568cb3Sopenharmony_ciset(CC_TYPE "$ENV{CC_TYPE}" ) 2254568cb3Sopenharmony_ciset(TOOLCHAIN_DIR "$ENV{HCC_PATH}") #该路径应该是外部传入,指向编译工具路径 2354568cb3Sopenharmony_ci 2454568cb3Sopenharmony_ci##compiler specified in /etc/profile 2554568cb3Sopenharmony_ciset(CMAKE_C_COMPILER "${TOOLCHAIN_DIR}/arm-none-eabi-gcc" CACHE PATH "arm-gcc C compiler" FORCE) 2654568cb3Sopenharmony_ciset(CMAKE_ASM_COMPILER "${TOOLCHAIN_DIR}/arm-none-eabi-gcc" CACHE PATH "arm-gcc ASM compiler" FORCE) 2754568cb3Sopenharmony_ci 2854568cb3Sopenharmony_ciif(${CPU_TYPE} STREQUAL "m4") 2954568cb3Sopenharmony_ci set(CMAKE_ASM_FLAGS "--specs=nosys.specs") 3054568cb3Sopenharmony_ci set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -O2 -pipe ${STRONG_COMPILE_WARING_FLAG} ${COMPILE_WARING_FLAG} -std=gnu11 -fno-common -fomit-frame-pointer -mthumb -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -Wa,-mimplicit-it=thumb -fstack-protector-strong -funsigned-char <FLAGS> <INCLUDES> -c <SOURCE> -o <OBJECT>") 3154568cb3Sopenharmony_ci set(CMAKE_C_FLAGS "--specs=nosys.specs") #原ID形式\"888888\" 3254568cb3Sopenharmony_ci set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> -O2 -pipe ${STRONG_COMPILE_WARING_FLAG} ${COMPILE_WARING_FLAG} -std=gnu11 -fno-common -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -fstack-protector-strong -fdata-sections -ffunction-sections -fshort-enums -funsigned-char -DSECUREC_BUFFER_SIZE=32 <FLAGS> <INCLUDES> -c <SOURCE> -o <OBJECT>") 3354568cb3Sopenharmony_ciendif() 3454568cb3Sopenharmony_ci 3554568cb3Sopenharmony_ci 3654568cb3Sopenharmony_ciset(CMAKE_LINKER "${TOOLCHAIN_DIR}/arm-none-eabi-ld" CACHE STRING "" FORCE) 3754568cb3Sopenharmony_ciset(CMAKE_AR "${TOOLCHAIN_DIR}/arm-none-eabi-ar" CACHE STRING "" FORCE) 3854568cb3Sopenharmony_ciset(CMAKE_C_LINK_FLAGS "-r ") 3954568cb3Sopenharmony_ciset(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -r <TARGET> <OBJECTS>") 40