FPGA----基于Xilinx SDK实现ZYNQ 7020的APP开发

引言:接上篇,我们已经成功构建了petalinux与Xilinx SDK的通讯,那么我们现在就要在Xilinx SDK开发elf,并在petalinux上执行。

为什么要这么做?如果你是高级工程师,熟悉linux各种操作,你直接在petalinux上开发一点问题没有,但对于新手来讲,能编程成功的才是王道。

1、给Xilinx sdk设置路径

对于cortex A53的用户,是不需要这一步的,但如果是cortex A9的用户,新建的linux程序Xilinx sdk是不会把包导入的!

假设我Xilinx的安装路径为:D:\Xilinx

那么需要将下述这几行加入到路径中

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\arm-linux-gnueabihf\include\c++\8.2.0

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\arm-linux-gnueabihf\include\c++\8.2.0\arm-linux-gnueabihf

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\arm-linux-gnueabihf\include\c++\8.2.0\backward

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\lib\gcc\arm-linux-gnueabihf\8.2.0\include

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\lib\gcc\arm-linux-gnueabihf\8.2.0\include-fixed

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\arm-linux-gnueabihf\include

D:\Xilinx\SDK\2019.1\gnu\aarch32\nt\gcc-arm-linux-gnueabi\arm-linux-gnueabihf\libc\usr\include

添加完后如图所示,点击ok即可。 

2、右键项目,编译后生成elf文件,将elf文件上传至petalinux

3、debug程序,假设我们的程序为 app_arm0.elf

# debug 模式下启动elf
gdb app_arm0.elf

4、在 memory_write_u32 (你的任意函数名称即可)函数入口设置断点:

(gdb) break memory_write_u32

5、运行到断点并检查参数:

(gdb) run

(gdb) info args

6、单步执行命令:

(gdb) step

<think>嗯,用户这次想了解Zynq-7035芯片的具体信息。从查询内容看,ta需要的是技术规格、应用场景和开发指南这类硬核资料,应该是工程师或开发者。这类专业用户通常需要精准的官方文档引用。 注意到用户提到的"ZYNQ-7035"实际是Xilinx(现属AMD)Zynq-7000系列的高端型号,但官方命名应为XC7Z035。这点需要明确提示用户,避免后续开发时选错型号。 根据引用[1][3],Xilinx的文档体系很完善: - 数据手册(DS190)是最核心的电气特性参考 - 技术参考手册(UG585)侧重架构解析 -开发指南(UG821)则是软硬件协同设计的关键 用户没提具体应用领域,但引用[2][4]提到工业/汽车等场景,补充时需强调其视频处理优势——因为Zynq-7035的Artix-7 FPGA7020的Kintex-7更适合实时图像处理。 突然想到个细节问题:用户查询里拼写的是"ZYNQ"全大写,但官方文档常用"Zynq"。在回复里保持用户习惯的拼写更友好,但首次出现时需标注正确命名。</think>以下是关于Xilinx Zynq-7035芯片的完整技术信息: ### 一、核心规格 (XC7Z035型号) 1. **处理系统(PS)**: - 双核ARM Cortex-A9处理器,主频最高$1GHz$ - 32KB指令/32KB数据L1缓存,512KB L2缓存 - DDR3/LPDDR2内存控制器 2. **可编程逻辑(PL)**: - Artix-7架构FPGA - 逻辑单元:$275K$个 - DSP Slice:$900$个 - 18Kb BRAM:$16.3Mb$总量 - 高速收发器:$16$个GTP,支持$6.6Gbps$ 3. **外设接口**: - 千兆以太网x2 - USB 2.0 OTG x2 - SD/SDIO x2 - CAN 2.0B x2 - UART/SPI/I2C x8 ### 二、典型应用场景 1. **工业自动化** 实时运动控制($μs$级响应)[^2] 2. **医疗影像设备** X光/超声的实时图像处理(DSP加速) 3. **专业视频系统** 4K@60fps编解码(H.265/VP9) 4. **车载ADAS** 多传感器融合处理(雷达+视觉) 5. **航天电子** 抗辐射版本用于卫星控制 ### 三、开发资源指南 1. **官方文档**: - [DS190: Zynq-7000 Data Sheet](https://docs.xilinx.com/v/u/en-US/ds190-Zynq-7000-Overview)(电气特性) - [UG585: Technical Reference Manual](https://docs.xilinx.com/v/u/en-US/ug585-Zynq-7000-TRM)(架构详解) - [UG821: Software Developers Guide](https://docs.xilinx.com/v/u/en-US/ug821-zynq-7000-swdev)(SDK配置) 2. **开发工具链**: ```bash # 标准开发流程 Vivado Design Suite (硬件设计) + Vitis Unified IDE (软件开发) + PetaLinux (嵌入式OS构建) ``` 3. **参考设计**: - [XAPP1209: 视频流水线优化](https://docs.xilinx.com/v/u/en-US/xapp1209) - [XAPP1235: 低延迟控制方案](https://docs.xilinx.com/v/u/en-US/xapp1235) > **注**:实际型号应为**XC7Z035**,命名规则为: > $XC7Z\{ab\}$ = 7系列 \| Zynq \| 逻辑规模\{35=275K LUTs\}$[^4] --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发光的沙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值