关于ZYNQ 7000的JTAG
1、有两个jtag口
2、一个叫DAP(PS内部),一个叫TAP(PL内部)
3、DAP允许用户使用第三方调试工具;TAP是标准jtag上添加了支持PL特性的功能(使能了DAP调试ARM的同时用TAP调试PL硬件)
First Stage Boot Loader(FSBL),主要完成以下几项工作:
1. 初始化单板,包括DDR控制器、PLL、时钟、MIO及部分外设的控制器寄存器配置;
2. 将bit文件下载到FPGA内(对PL进行配置);
3. 把u-boot.elf以及cpu1上运行的elf文件拷贝到内存中的指定位置。
实际应用时,FSBL是可以在SDK中直接生成的框架基础上,根据用户需求来做裁剪的
创建的是裸机应用(非操作系统),您将需要三个文件创建引导镜像,具体顺序如下:
第一阶段引导载入程序(FSBL)、FPGA编程bit文件和C应用程序。
开发ZYNQ要首先熟悉其架构,分为PS与PL两部分,PS即ARM,开发起来和普通的ARM开发流程没有区别,也有裸机程序开发和基于Linux的驱动开发两个层次。
PL即FPGA,开发起来和普通FPGA流程类似,需要先设计HDL代码,调用相应的IP,综合,实现,分配管脚,生成bit文件。
PS可以在启动时加载bit文件并配置PL,这样二者就能并行运行了。
其次要熟悉AXI总线,因为这是PS与PL通信的关键。熟悉Memory Map型总线一般就能做出像样的东西了,但如果希望提高传输效率,实现实时处理,这时就需要了解Stream类型总线,可以做axi_vdma视频流处理。
最后是要把你的需求映射到这个芯片上。PS做哪些,PL做哪些,需要合理分工。
一开始可以先在PS上实现,效率可能比较低;
然后将关键部分移植到PL上,可以获得一定加速;
如果可能,将算法的大部分移植到PL上,这样可以加速更多。
如果考虑了AXI的特点,选择DMA方式传输,对性能的提升几乎不可限量。
我们现在要做的就是写程序,板子的裸机程序,功能就是先初始化我们需要的外设(存储器需要?),然后把权限交给图像处理模块,等待,处理完图像后在输出(到串口或者vga)用软件创建ip核,修改,貌似主要是顶层模块的状态问题,以适合我们的应用。
Xilinx Zynq在启动加载方面怎么做的?
正常工作状态下,Zynq的启动是处理器系统先启动(一定要),然后由处理器来配置FPGA (PL),xilinx 提供了一个Bootloader的模板,可以加载FPGA 的配置文件。 在调试阶段,可以使用JTAG分别调试PS 和 PL,正常工作时,是PS 先Boot,然后负责加载、配置FPGA调试阶段,可以用JTAG下载代码、bitstram,量产之后,代码、bitstream可以存放在Boot Memory中,由Bootloader负责加载。
FSBL需要自己写,添加完成?
Fsbl是SDK根据XPS中的配置自动生成的,不需要用户自己编写。客户可以在自动生成的代码基础上进行修改。
FSBL加载就是把fsbl从外部存储器中拷贝到OCM中运行。
详细介绍下FSBL如何烧写以及作用吗?
Xilinx提供了一个FSBL模板,生成.elf文件之后,可以使用SDK 中的Flash Programmer小工具来烧写QSPI、NOR Flash,或者使用SD 读卡器写入SD卡、或使用专门的编程器、u-boot烧到NAND Flash.
怎样在PS和PL之间传输图像?都需要完成什么?
可以通过一个或多个HP口传输图像数据,Xilinx有一个Sobel Filter的Demo,可供参考。
Zynq 中PS 内部个中模块之间的连接一般是AXI或APB,AHB,但对外部逻辑的接口一般都是AXI boot rom 用户无法修改
这个ARM不带LCD controller,不过可以在PL部分利用相关IP可实现同样功能
FPGA部分可以连接PCI总线,但PCI Core不是免费的
CPU 和 DDR 速率不一样事,对PL会有影响么,没有特别的影响,因为AXI Interconnect有FIFO, 允许Master和Slave有不同的时钟频率。
FPGA程序加载后还可以通过独立的JTAG来进行FPGA 的调试
zynq的双核架构:CPU0先启动然后唤醒CPU1运行,后续根据用户的设计来分配双核的工作,芯片本身对双核没有差异处理。
HLS工具,可以实现C to RTL转换
共5条
1/1 1 跳转至页
Zynq的一些简单基础问答
共5条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 | |
【换取逻辑分析仪】RA8使用perfcounter coremark跑分试验被打赏34分 | |
【换取逻辑分析仪】RA8使用perfcount计算freertos任务CPU使用率被打赏38分 | |
【换取逻辑分析仪】RA8使用RA smart 工具配置运行Freertos被打赏27分 | |
【换取逻辑分析仪】RA8 IAR 环境下Debug异常解析被打赏45分 | |
【笔记】visit内存数据异常问题被打赏50分 |