# ZynqTcpQspi_PSCode **Repository Path**: Coder_Zr/ZynqTcpQspi_PSCode ## Basic Information - **Project Name**: ZynqTcpQspi_PSCode - **Description**: PS的代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZYNQ7020 ## ZYNQ7020交叉编译 ### 使用环境区别(在Clion中配置对应的C/C++编译器) #### gcc-arm-linux-gnueabi 所在目录:D:\codeSofts\ZYNQ\Xilinx\Vitis\2020.2\gnu\aarch32\nt\gcc-arm-linux-gnueabi\bin 效果:可以正常的编译,无需加入各种条件,只需要设置交叉编译set(CMAKE_SYSTEM_NAME Generic) ```cmake cmake_minimum_required(VERSION 3.10) # 目标平台系统名称,裸机嵌入式一般就写 Generic set(CMAKE_SYSTEM_NAME Generic) project(MyTest) # 设置C++标准 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 添加可执行文件 add_executable(MyTest main.cpp) ``` ### gcc-arm-none-eabi 所在目录:D:\codeSofts\ZYNQ\Xilinx\Vitis\2020.2\gnu\aarch32\nt\gcc-arm-none-eabi\bin 效果:裸跑的交叉编译程序,需要加入条件限制,否则无法通过CMake,而且最后也无法生成可执行文件,这个只用于编写代码(其实直接执行以下语句也可以编译: ```shell D:/codeSofts/ZYNQ/Xilinx/Vitis/2020.2/gnu/aarch32/nt/gcc-arm-none-eabi/bin/arm-none-eabi-g++.exe -Wall -O0 -g3 -c -fmessage-length=0 -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -o MyTest main.cpp ``` ) ```cmake cmake_minimum_required(VERSION 3.10) # 设置交叉编译工具链 set(CMAKE_SYSTEM_NAME Generic) #set(CMAKE_SYSTEM_PROCESSOR ARM) # 禁用编译器检查 set(CMAKE_C_COMPILER_WORKS TRUE) set(CMAKE_CXX_COMPILER_WORKS TRUE) project(MyTest) # 设置编译选项,-c必须要加,否则点击编译后一堆错误 set(CMAKE_C_FLAGS "-Wall -O0 -g3 -c -fmessage-length=0 -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard") set(CMAKE_CXX_FLAGS "-Wall -O0 -g3 -c -fmessage-length=0 -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard") # 设置C++标准 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 添加可执行文件 add_executable(MyTest main.cpp) ``` ## shell配置 需要在执行程序的lscript.ld文件中加入: .shell_command : { _shell_command_start = .; KEEP (*(shellCommand)) _shell_command_end = .; } > ps7_ddr_0