# ZYNQ_TestCpp **Repository Path**: Coder_Zr/ZYNQ_TestCpp ## Basic Information - **Project Name**: ZYNQ_TestCpp - **Description**: 模拟PS端创建的简单C++工程,需要clion中指定ZYNQ的C、C++ Compiler,例子中也指定了gdb - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-07 - **Last Updated**: 2024-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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) ```