diff --git a/mkrtos_bootstrap/CMakeLists.txt b/mkrtos_bootstrap/CMakeLists.txt index f7ac640e6..1a2e8ea73 100755 --- a/mkrtos_bootstrap/CMakeLists.txt +++ b/mkrtos_bootstrap/CMakeLists.txt @@ -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) \ No newline at end of file diff --git a/mkrtos_img/CMakeLists.txt b/mkrtos_img/CMakeLists.txt index 8b890a139..2a048e845 100755 --- a/mkrtos_img/CMakeLists.txt +++ b/mkrtos_img/CMakeLists.txt @@ -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 diff --git a/mkrtos_knl/CMakeLists.txt b/mkrtos_knl/CMakeLists.txt index 2f63925a6..39d196780 100755 --- a/mkrtos_knl/CMakeLists.txt +++ b/mkrtos_knl/CMakeLists.txt @@ -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() diff --git a/mkrtos_script/build_at32f437.sh b/mkrtos_script/build_at32f437.sh index 898df0af4..6553bc76a 100755 --- a/mkrtos_script/build_at32f437.sh +++ b/mkrtos_script/build_at32f437.sh @@ -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 diff --git a/mkrtos_script/build_f2.sh b/mkrtos_script/build_f2.sh index 26f9bbac2..55435addd 100755 --- a/mkrtos_script/build_f2.sh +++ b/mkrtos_script/build_f2.sh @@ -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/ diff --git a/mkrtos_tool/kconfig/__pycache__/kconfigfunctions.cpython-312.pyc b/mkrtos_tool/kconfig/__pycache__/kconfigfunctions.cpython-312.pyc index 7179a5ef9..5b6a51494 100644 Binary files a/mkrtos_tool/kconfig/__pycache__/kconfigfunctions.cpython-312.pyc and b/mkrtos_tool/kconfig/__pycache__/kconfigfunctions.cpython-312.pyc differ diff --git a/mkrtos_tool/kconfig/__pycache__/kconfiglib.cpython-312.pyc b/mkrtos_tool/kconfig/__pycache__/kconfiglib.cpython-312.pyc index 2b03fcfe3..dcb9df003 100644 Binary files a/mkrtos_tool/kconfig/__pycache__/kconfiglib.cpython-312.pyc and b/mkrtos_tool/kconfig/__pycache__/kconfiglib.cpython-312.pyc differ diff --git a/mkrtos_user/server/fs/cpiofs/CMakeLists.txt b/mkrtos_user/server/fs/cpiofs/CMakeLists.txt index 5204bae6c..ae75b13c3 100644 --- a/mkrtos_user/server/fs/cpiofs/CMakeLists.txt +++ b/mkrtos_user/server/fs/cpiofs/CMakeLists.txt @@ -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() diff --git a/mkrtos_user/server/init/CMakeLists.txt b/mkrtos_user/server/init/CMakeLists.txt index e1b5b767b..07c26e8ff 100644 --- a/mkrtos_user/server/init/CMakeLists.txt +++ b/mkrtos_user/server/init/CMakeLists.txt @@ -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( diff --git a/mkrtos_user/server/shell/CMakeLists.txt b/mkrtos_user/server/shell/CMakeLists.txt index 171cfa2c4..a9ce330e5 100644 --- a/mkrtos_user/server/shell/CMakeLists.txt +++ b/mkrtos_user/server/shell/CMakeLists.txt @@ -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() diff --git a/mkrtos_user/server/tinycc-arm-thumb/CMakeLists.txt b/mkrtos_user/server/tinycc-arm-thumb/CMakeLists.txt index 60d4e0385..b9edd3e39 100644 --- a/mkrtos_user/server/tinycc-arm-thumb/CMakeLists.txt +++ b/mkrtos_user/server/tinycc-arm-thumb/CMakeLists.txt @@ -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() diff --git a/setting.cmake b/setting.cmake index 2b622d82d..f4709dc5c 100755 --- a/setting.cmake +++ b/setting.cmake @@ -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)