diff --git a/Platform/Raspi4B/.gitignore b/Platform/Raspi4B/.gitignore new file mode 100644 index 0000000..c8729b1 --- /dev/null +++ b/Platform/Raspi4B/.gitignore @@ -0,0 +1,2 @@ + +GCC/ diff --git a/Platform/Raspi4B/Raspi-Toolchain.cmake b/Platform/Raspi4B/Raspi-Toolchain.cmake new file mode 100644 index 0000000..c9a30f7 --- /dev/null +++ b/Platform/Raspi4B/Raspi-Toolchain.cmake @@ -0,0 +1,37 @@ +get_filename_component(CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} DIRECTORY) + +# 定义目标目录和压缩文件 +set(GCC_VERSION "gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf") +set(GCC_DIRECTORY "${CURRENT_LIST_DIR}/GCC") +set(ARCHIVE_FILE "${CURRENT_LIST_DIR}/${GCC_VERSION}.tar") + +# 检查目录是否存在 +execute_process( + COMMAND test -d "${GCC_DIRECTORY}" + RESULT_VARIABLE DIRECTORY_EXISTS +) + +# 如果目录不存在,则解压 +if(NOT DIRECTORY_EXISTS EQUAL 0) + execute_process( + COMMAND mkdir -p "${GCC_DIRECTORY}" + COMMAND tar xf "${ARCHIVE_FILE}" -C "${GCC_DIRECTORY}" --strip-components=1 + RESULT_VARIABLE TAR_RESULT + ) + if(TAR_RESULT) + message(FATAL_ERROR "Failed to extract archive file.") + endif() +endif() + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm) + +set(CMAKE_C_COMPILER ${GCC_DIRECTORY}/bin/arm-linux-gnueabihf-gcc) +set(CMAKE_CXX_COMPILER ${GCC_DIRECTORY}/bin/arm-linux-gnueabihf-g++) +set(CMAKE_SYSROOT ${GCC_DIRECTORY}/bin/../arm-linux-gnueabihf/libc) +#set(CMAKE_STAGING_PREFIX ${HOME}/recycle/stage) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) diff --git a/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar b/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar new file mode 100755 index 0000000..2431363 Binary files /dev/null and b/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar differ diff --git a/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar b/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar new file mode 100755 index 0000000..132b7dc Binary files /dev/null and b/Platform/Raspi4B/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar differ diff --git a/ReadMe.md b/ReadMe.md index 6b18104..6d68be0 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -26,7 +26,7 @@ make all ``` -## 项目示例 +## 项目示例 ### F5Plus + PN5180 @@ -34,8 +34,15 @@ make all cmake -DBUS_SPIUserMode=ON -DFRONTEND_PN5180=ON -DFRONTEND_PN5190=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=True --toolchain ../Platform/F5Plus/F5Plus-Toolchain.cmake ../ ``` -### Raspi4B + PN5180 +### Raspi4B + PN5180 ```shell -cmake -DBUS_SPIUserMode=ON -DFRONTEND_PN5180=ON -DFRONTEND_PN5190=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=True --toolchain ../Platform/Raspi4B/F5Plus-Toolchain.cmake ../ +mkdir -p output && cd output/ + +cmake -DBUS_SPIUserMode=ON -DFRONTEND_PN5180=ON -DFRONTEND_PN5190=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=True --toolchain ../Platform/Raspi4B/Raspi-Toolchain.cmake ../ ``` +#### 工具链 + +- 用户程序,32位:[gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz](https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz); +- 内核编译,64位:[gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz](https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz) +