windows编译支持(需要配合cygwin)
This commit is contained in:
@@ -179,22 +179,21 @@ target_link_libraries(
|
||||
--no-whole-archive
|
||||
${GCC_LIB_PATH}/libgcc.a
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/build/output)
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/build/output/cpio)
|
||||
add_custom_target(
|
||||
bootstrap_dump ALL
|
||||
COMMAND
|
||||
${CMAKE_OBJCOPY} -O binary -S bootstrap.elf bootstrap.bin
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output
|
||||
${CMAKE_COMMAND} -E copy bootstrap.bin ${CMAKE_SOURCE_DIR}/build/output/bootstrap
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
COMMAND
|
||||
cp bootstrap.bin ${CMAKE_SOURCE_DIR}/build/output/bootstrap
|
||||
COMMAND
|
||||
cp bootstrap.elf ${CMAKE_SOURCE_DIR}/build/output/bootstrap.elf
|
||||
${CMAKE_COMMAND} -E copy bootstrap.elf ${CMAKE_SOURCE_DIR}/build/output/bootstrap.elf
|
||||
COMMAND
|
||||
${CMAKE_SIZE} bootstrap.elf
|
||||
)
|
||||
execute_process( COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/build/include)
|
||||
|
||||
add_dependencies(bootstrap_dump bootstrap.elf)
|
||||
add_dependencies(bootstrap.elf boot_bsp)
|
||||
add_dependencies(bootstrap.elf boot_link_file_dump)
|
||||
@@ -6,8 +6,6 @@ math(EXPR KNL_OFFSET "${CONFIG_BOOTSTRAP_TEXT_SIZE} + ${CONFIG_DTBO_TEXT_SIZE}")
|
||||
add_custom_target(
|
||||
mkrtos_img_dump ALL
|
||||
COMMAND
|
||||
cd ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
COMMAND
|
||||
dtc -I dts -O dtb -o ${CMAKE_SOURCE_DIR}/build/output/dtbo ${CMAKE_SOURCE_DIR}/mkrtos_configs/${BOARD}.dts
|
||||
COMMAND
|
||||
ls | cpio -H newc -o > ${CMAKE_SOURCE_DIR}/build/output/rootfs.cpio
|
||||
@@ -18,7 +16,7 @@ add_custom_target(
|
||||
${CMAKE_SOURCE_DIR}/build/output/mkrtos -binary -offset ${KNL_OFFSET}
|
||||
${CMAKE_SOURCE_DIR}/build/output/rootfs.cpio -binary -offset ${BOOTFS_OFFSET}
|
||||
COMMAND
|
||||
cp ${CMAKE_SOURCE_DIR}/build/output/kernel.img ${CMAKE_SOURCE_DIR}/build/output/kernel.bin
|
||||
${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/build/output/kernel.img ${CMAKE_SOURCE_DIR}/build/output/kernel.bin
|
||||
COMMAND
|
||||
${CMAKE_OBJCOPY} -I binary -O elf32-littlearm -B arm ${CMAKE_SOURCE_DIR}/build/output/kernel.img
|
||||
${CMAKE_SOURCE_DIR}/build/output/kernel.img.out --rename-section .data=.text
|
||||
|
||||
@@ -53,19 +53,16 @@ add_custom_target(
|
||||
-E -P -<${CMAKE_CURRENT_LIST_DIR}/arch/${CONFIG_ARCH}/link.lds.S>
|
||||
${CMAKE_CURRENT_LIST_DIR}/arch/${CONFIG_ARCH}/link.lds
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/build/output)
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/build/output/cpio)
|
||||
add_custom_target(
|
||||
mkrtos_dump ALL
|
||||
COMMAND
|
||||
${CMAKE_OBJCOPY} -O binary -S mkrtos.elf mkrtos.bin
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output
|
||||
${CMAKE_COMMAND} -E copy mkrtos.bin ${CMAKE_SOURCE_DIR}/build/output/mkrtos
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
COMMAND
|
||||
cp mkrtos.bin ${CMAKE_SOURCE_DIR}/build/output/mkrtos
|
||||
COMMAND
|
||||
cp mkrtos.elf ${CMAKE_SOURCE_DIR}/build/output/mkrtos.elf
|
||||
${CMAKE_COMMAND} -E copy mkrtos.elf ${CMAKE_SOURCE_DIR}/build/output/mkrtos.elf
|
||||
COMMAND
|
||||
${CMAKE_OBJDUMP} -s -S mkrtos.elf > ${CMAKE_SOURCE_DIR}/build/output/mkrtos.S
|
||||
COMMAND
|
||||
@@ -75,7 +72,7 @@ if ((DEFINED CONFIG_ELF_LAUNCH) AND (CONFIG_ELF_LAUNCH STREQUAL "y"))
|
||||
add_custom_target(
|
||||
mkrtos_dump_elf ALL
|
||||
COMMAND
|
||||
cp mkrtos.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/mkrtos.elf
|
||||
${CMAKE_COMMAND} -E copy mkrtos.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/mkrtos.elf
|
||||
)
|
||||
add_dependencies(mkrtos_dump_elf mkrtos_dump)
|
||||
endif()
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu
|
||||
|
||||
export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7e-m+fp/hard
|
||||
|
||||
export TOOLCHAIN=/d/GNUArmEmbeddedToolchain/102021.10/bin/
|
||||
export TOOLCHAIN_LIB=/d/GNUArmEmbeddedToolchain/102021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
# export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/
|
||||
# export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
export TOOLCHAIN=/d/GNUArmEmbeddedToolchain/102021.10/bin/
|
||||
export TOOLCHAIN_LIB=/d/GNUArmEmbeddedToolchain/102021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp
|
||||
|
||||
# export TOOLCHAIN=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/
|
||||
# export TOOLCHAIN_LIB=/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7-m/
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -56,17 +56,15 @@ add_custom_target(
|
||||
COMMAND
|
||||
${CMAKE_SIZE} cpiofs.elf
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
${CMAKE_COMMAND} -E copy cpiofs.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/cpiofs
|
||||
COMMAND
|
||||
cp cpiofs.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/cpiofs
|
||||
COMMAND
|
||||
cp cpiofs.elf ${CMAKE_SOURCE_DIR}/build/output/cpiofs.elf
|
||||
${CMAKE_COMMAND} -E copy cpiofs.elf ${CMAKE_SOURCE_DIR}/build/output/cpiofs.elf
|
||||
)
|
||||
if ((DEFINED CONFIG_ELF_LAUNCH) AND (CONFIG_ELF_LAUNCH STREQUAL "y"))
|
||||
add_custom_target(
|
||||
cpiofs_dump_elf ALL
|
||||
COMMAND
|
||||
cp cpiofs.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/cpiofs
|
||||
${CMAKE_COMMAND} -E copy cpiofs.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/cpiofs
|
||||
)
|
||||
add_dependencies(cpiofs_dump_elf cpiofs_dump)
|
||||
endif()
|
||||
|
||||
@@ -56,13 +56,11 @@ add_custom_target(
|
||||
COMMAND
|
||||
${CMAKE_SIZE} init.elf
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output
|
||||
${CMAKE_COMMAND} -E copy init.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/init
|
||||
COMMAND
|
||||
cp init.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/init
|
||||
${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/src/init.cfg ${CMAKE_SOURCE_DIR}/build/output/cpio/
|
||||
COMMAND
|
||||
cp ${CMAKE_CURRENT_LIST_DIR}/src/init.cfg ${CMAKE_SOURCE_DIR}/build/output/cpio/
|
||||
COMMAND
|
||||
cp init.elf ${CMAKE_SOURCE_DIR}/build/output/init.elf
|
||||
${CMAKE_COMMAND} -E copy init.elf ${CMAKE_SOURCE_DIR}/build/output/init.elf
|
||||
)
|
||||
if ((DEFINED CONFIG_ELF_LAUNCH) AND (CONFIG_ELF_LAUNCH STREQUAL "y"))
|
||||
add_custom_target(
|
||||
|
||||
@@ -45,17 +45,15 @@ add_custom_target(
|
||||
COMMAND
|
||||
${CMAKE_SIZE} sh.elf
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
${CMAKE_COMMAND} -E copy sh.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/sh
|
||||
COMMAND
|
||||
cp sh.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/sh
|
||||
COMMAND
|
||||
cp sh.elf ${CMAKE_SOURCE_DIR}/build/output/sh.elf
|
||||
${CMAKE_COMMAND} -E copy sh.elf ${CMAKE_SOURCE_DIR}/build/output/sh.elf
|
||||
)
|
||||
if ((DEFINED CONFIG_ELF_LAUNCH) AND (CONFIG_ELF_LAUNCH STREQUAL "y"))
|
||||
add_custom_target(
|
||||
sh_dump_elf ALL
|
||||
COMMAND
|
||||
cp sh.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/sh
|
||||
${CMAKE_COMMAND} -E copy sh.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/sh
|
||||
)
|
||||
add_dependencies(sh_dump_elf shell_dump)
|
||||
endif()
|
||||
|
||||
@@ -74,17 +74,15 @@ add_custom_target(
|
||||
${CMAKE_OBJCOPY} -O binary -S tcc.elf tcc.bin
|
||||
COMMAND
|
||||
${CMAKE_SIZE} tcc.elf
|
||||
COMMAND
|
||||
mkdir -p ${CMAKE_SOURCE_DIR}/build/output/cpio
|
||||
# COMMAND
|
||||
# cp tcc.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/tcc
|
||||
# ${CMAKE_COMMAND} -E copy tcc.bin ${CMAKE_SOURCE_DIR}/build/output/cpio/tcc
|
||||
|
||||
)
|
||||
if ((DEFINED CONFIG_ELF_LAUNCH) AND (CONFIG_ELF_LAUNCH STREQUAL "y"))
|
||||
add_custom_target(
|
||||
tcc_dump_elf ALL
|
||||
COMMAND
|
||||
cp tcc.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/tcc.elf
|
||||
${CMAKE_COMMAND} -E copy tcc.elf ${CMAKE_SOURCE_DIR}/build/output/cpio/tcc.elf
|
||||
)
|
||||
add_dependencies(tcc_dump_elf tcc_dump)
|
||||
endif()
|
||||
|
||||
@@ -3,6 +3,23 @@ set(CROSS_COMPILE ${CMAKE_TOOLCHAIN_PATH}$ENV{CROSS_COMPILE_NAME} CACHE PATH ""
|
||||
set(GCC_LIB_PATH $ENV{TOOLCHAIN_LIB})
|
||||
|
||||
set(CMAKE_INSTALL_PATH "${CMAKE_BINARY_DIR}deploy" CACHE PATH "" FORCE)
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
set(CMAKE_C_COMPILER "${CROSS_COMPILE}gcc.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_ASM_COMPILER "${CROSS_COMPILE}gcc.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_CC_COMPILER "${CROSS_COMPILE}g++.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_CXX_COMPILER "${CROSS_COMPILE}g++.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_CPP_COMPILER "${CROSS_COMPILE}cpp.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_LINKER "${CROSS_COMPILE}ld.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_STRIP "${CROSS_COMPILE}strip.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_OBJCOPY "${CROSS_COMPILE}objcopy.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_OBJDUMP "${CROSS_COMPILE}objdump.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_READELF "${CROSS_COMPILE}readelf.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_SIZE "${CROSS_COMPILE}size.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_NM "${CROSS_COMPILE}nm.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_AR "${CROSS_COMPILE}ar.exe" CACHE PATH "" FORCE)
|
||||
set(CMAKE_SIZE "${CROSS_COMPILE}size.exe" CACHE PATH "" FORCE)
|
||||
else()
|
||||
set(CMAKE_C_COMPILER "${CROSS_COMPILE}gcc" CACHE PATH "" FORCE)
|
||||
set(CMAKE_ASM_COMPILER "${CROSS_COMPILE}gcc" CACHE PATH "" FORCE)
|
||||
set(CMAKE_CC_COMPILER "${CROSS_COMPILE}g++" CACHE PATH "" FORCE)
|
||||
@@ -17,8 +34,9 @@ set(CMAKE_SIZE "${CROSS_COMPILE}size" CACHE PATH "" FORCE)
|
||||
set(CMAKE_NM "${CROSS_COMPILE}nm" CACHE PATH "" FORCE)
|
||||
set(CMAKE_AR "${CROSS_COMPILE}ar" CACHE PATH "" FORCE)
|
||||
set(CMAKE_SIZE "${CROSS_COMPILE}size" CACHE PATH "" FORCE)
|
||||
set(PROJECT_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||
endif()
|
||||
|
||||
set(PROJECT_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||
# set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(BOARD $ENV{BOARD})
|
||||
include(mkrtos_cmake/top.cmake)
|
||||
|
||||
Reference in New Issue
Block a user