<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[long_fly的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/long_fly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; long_fly]]></copyright><item><title><![CDATA[ZYNQ跑系统 系列（四） AXI-DMA的linux下运行]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/80482248</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/80482248</guid><author>long_fly</author><pubDate>Wed, 30 May 2018 10:47:42 +0800</pubDate><description><![CDATA[AXI-DMA的linux驱动

一、搭建硬件环境

vivado版本2017.4，芯片为7010，不过不管什么版本和芯片大致步骤是一样的 
硬件平台PL的搭建同ZYNQ基础系列（六） DMA基本用法，在这个工程的基础上添加SD卡（根据自己的开发板硬件选择相应的引脚） 
 
然后直接生成bit文件，然后记得要导出硬件（包含bit文件）进SDK

二、生成设备树

1.解压设备树工具文件夹到一个地方...]]></description><category></category></item><item><title><![CDATA[FPGA设计重要基础]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/80033178</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/80033178</guid><author>long_fly</author><pubDate>Mon, 23 Apr 2018 14:59:43 +0800</pubDate><description><![CDATA[FPGA设计的重要基础

速度&amp;amp;amp;面积 
当一个工程的时序裕量很充足，可达速度完全高于所需速度时，可以牺牲速度优势换取面积的节约（消耗时序裕量省资源）；当一个工程的时序裕量要求很高，很难到达所需速度时，可以牺牲面积资源来换取速度（耗资源保证时序裕量），下面介绍具体互换的方法：

1&amp;amp;gt;乒乓操作（面积换速度） 
 
假如上图A的输入速率是100Mbps，分流之后，B1和B2的速度都分别为5...]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（七） LWIP数据通路 -- PL数据->PS->PC机（TCP）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79760956</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79760956</guid><author>long_fly</author><pubDate>Tue, 10 Apr 2018 16:56:35 +0800</pubDate><description><![CDATA[LWIP数据通路



实验准备：

基础概念 
以太网MAC是一个基础模块，它使得我们可以实现一个TCP/IP协议栈，协议使得应用可以基于网络来通信。如果想要解析一个TCP/IP协议栈，需要了解以下层次： 
•   第一层——物理层：（描述物理连接）主要由外部物理层芯片实现 
•   第二层——数据链路层：（描述物理层上数据传输的途径）可以由PS的MAC实现 
•   第三层——网络层：（描述不...]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（六） DMA基本用法]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79702222</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79702222</guid><author>long_fly</author><pubDate>Fri, 30 Mar 2018 11:00:42 +0800</pubDate><description><![CDATA[DMA 环路测试

涉及到高速数据传输时，DMA就显得非常重要了，本文的DMA主要是对PL侧的AXI DMA核进行介绍（不涉及PS侧的DMA控制器）。AXI DMA的用法基本是：PS通过AXI-lite向AXI DMA发送指令，AXI DMA通过HP通路和DDR交换数据，PL通过AXI-S读写DMA的数据。

实验思路

首先设计一个最基本的DMA环路 
 
实验思路是：首先PS通过AXI-lit...]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（五） AMP模式 双裸核CPU同时运行]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79335025</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79335025</guid><author>long_fly</author><pubDate>Sun, 18 Feb 2018 18:41:54 +0800</pubDate><description><![CDATA[AMP模式 双核CPU同时运行



从软件的角度来看，多核处理器的运行模式有三种： 
AMP（非对称多进程）：多个核心相对独立的运行不同的任务，每个核心可能运行不同的操作系统或裸机程序，但是有一个主要核心，用来控制整个系统以及其它从核心 
SMP（对称多进程）：一个操作系统同等的管理各个内核，例如PC机 
BMP（受约束多进程）：与SMP类似，但开发者可以指定将某个任务仅在某个指定内核上执行 
...]]></description><category></category></item><item><title><![CDATA[ZYNQ 高速接口系列（一） PCIe接口]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79150820</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79150820</guid><author>long_fly</author><pubDate>Thu, 25 Jan 2018 10:08:39 +0800</pubDate><description><![CDATA[PCIe 学习笔记



一、PCIe概况

随着现代处理器技术的发展，使用高速差分总线替代并行总线已是大势所趋。与单端并行信号相比，高速差分信号可以使用更高的时钟频率，从而可以使用更少的信号线达到更高的通讯速度。PCIe总线解决了PCI总线的不足，它的发展将取代PCI成为新型的数据总线，其提供了更加完善的性能，更多的功能，更强的可扩展性和更低的成本 
在PCIE中有两种数据传输方式： 
1&amp;gt...]]></description><category></category></item><item><title><![CDATA[ZYNQ HLS工具系列（基础知识篇） HLS从入门到上天（未完）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79134013</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79134013</guid><author>long_fly</author><pubDate>Mon, 22 Jan 2018 22:05:48 +0800</pubDate><description><![CDATA[HLS学习笔记

在ZYNQ HLS工具系列（一）中，体会到了HLS的强大，本篇将持续积累对HLS的学习，加固HLS的基础



一、HLS工作过程

 
如图，HLS的C到硬件，有几个重要步骤： 
调度： 用来确定操作发生于哪几个时钟周期（以及是否并行），调度要考虑到控制逻辑提取（可能生成状态机）以及用户的指令 
绑定： 用于确定每个操作所使用的硬件单元，绑定要考虑到元件的延时以及用户的指令]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（四）VTC+VDMA+Vid_Out核 开始构建一个简单的显示通路]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/79066302</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/79066302</guid><author>long_fly</author><pubDate>Mon, 15 Jan 2018 16:49:42 +0800</pubDate><description><![CDATA[ZYNQ7010把SD卡的图片显示到HDMI

在ZYNQ基础系列（三）中有相关IP核的初步介绍，在已有的基础上可以搭建一个基础的显示通路了 
实验目的：在Mi701N开发板的基础上，驱动800*600的显示屏输出图片（图片文件[.bin文件]存放SD卡中）

一、PL部分实现

大体框图： 



AXI接口连接模块和复位模块是通过自动生成的
rgb2dvi模块：用于IO口输出HDMI信号 [在]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（三）VTC+VDMA+Vid_Out核 构建一个简单的显示通路的准备工作]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78968043</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78968043</guid><author>long_fly</author><pubDate>Thu, 04 Jan 2018 10:19:13 +0800</pubDate><description><![CDATA[构建一个简单的显示通路的部件

在上一篇ZYNQ基础系列（二） IO口模拟HDMI中，介绍了VGA到HDMI输出的IP核的使用方法，本文将先介绍三个VIVADO自带的视频输出通路相关的重要IP核，搭建一个比较简单的视频通路，为不久之后的摄像头到显示屏通路打下基础：



1> Video Timing Controller
2> AXI4-Stream to Video Out
3> Video]]></description><category></category></item><item><title><![CDATA[VIVADO 之 TCL脚本工具 [上] （基本语法）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78897158</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78897158</guid><author>long_fly</author><pubDate>Mon, 25 Dec 2017 21:32:41 +0800</pubDate><description><![CDATA[TCL脚本语言

注：TCL在VIVADO中的具体使用将写在VIVADO 之 TCL脚本工具 [下]中，本文只有TCL语法



Tcl（Tool Command Language）是一种很通用的脚本语言，它几乎在所有的平台上都可以解释运行，而且VIVADO也提供了TCL命令行。最近发现TCL脚本貌似比GUI下操作VIVADO效率高一些，方便一些。而且最近跟着官网文档做SDSOC的flatform]]></description><category></category></item><item><title><![CDATA[ZYNQ HLS工具系列（一） HLS图像处理入门]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78839543</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78839543</guid><author>long_fly</author><pubDate>Tue, 19 Dec 2017 21:33:17 +0800</pubDate><description><![CDATA[HLS高层次综合，通过它可以用C/C++、SystemC及OPENCL编写FPGA程序，实现相应功能，大大加快开发速度；OPENCV是开源计算机视觉库，支持C/C++、PYTHON等多种语言，OPENCV的设计可以直接运行在ZYNQ的PS上，但是用ARM处理高清视频处理的时候，可能就会处理不过来，于是会使用HLS OPENCV进行硬件加速，本文主要是针对HLS的入门操作]]></description><category></category></item><item><title><![CDATA[ZYNQ跑系统 系列（三） SDsoc方式移植linux]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78815047</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78815047</guid><author>long_fly</author><pubDate>Fri, 15 Dec 2017 23:44:40 +0800</pubDate><description><![CDATA[移植linux之SDsoc

想让ZYNQ上跑个linux系统，除了之前的两篇文章中的传统方式和petalinux方式外，还有一种更简单快捷的SDsoc，xilinx的SDx系列开发工具主要是面向软件开发人员和系统工程师，加快应用的开发，让软件开发者加入到项目中，SDsoc侧重的是对软件算法进行加速，本文仅仅是使用该工具生成一个linux环境下的helloworld应用

SDsoc可以直接运行在]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（二） IO口模拟HDMI]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78773800</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78773800</guid><author>long_fly</author><pubDate>Tue, 12 Dec 2017 15:48:01 +0800</pubDate><description><![CDATA[IO口直接驱动HDMI接口

HDMI主要用于给高清显示设备传输视频和音频数据，除了使用专门的HDMI芯片外，当然还可以用ZYNQ的PL部分产生相应的时序，本文就是用FPGA的IO口与HDMI显示设备直接进行通信 
本文的工程和rgb2dvi的IP核都上传到了这里

一、原理图

本文采用的是米联客的Mi701开发板，可以看到IO口是直接连到接口上的，只加了一些简单的上拉增加一下驱动能力，IIC也...]]></description><category></category></item><item><title><![CDATA[ZYNQ跑系统 系列（二） petalinux方式移植linux]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78727813</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78727813</guid><author>long_fly</author><pubDate>Wed, 06 Dec 2017 22:22:15 +0800</pubDate><description><![CDATA[移植linux之petalinux之前一篇博文中，提到了一种通用的传统移植方式，将linux移植到ZYNQ中的ARM芯片中。本文将针对xilinx的专用开发环境petalinux，进行安装、入门和开发]]></description><category></category></item><item><title><![CDATA[PYTHON入门（三）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78701024</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78701024</guid><author>long_fly</author><pubDate>Mon, 04 Dec 2017 17:01:40 +0800</pubDate><description><![CDATA[在前两篇中主要是针对面向过程的编程，这一篇作为python入门的终结篇，主要讨论一下面向对象的编程以及文件IO和异常处理]]></description><category></category></item><item><title><![CDATA[PYTHON入门（二）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78688012</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78688012</guid><author>long_fly</author><pubDate>Sat, 02 Dec 2017 11:02:23 +0800</pubDate><description><![CDATA[这篇是python入门（一）的续篇，在稍微高一点的层次上，对学习python进行快速的入门]]></description><category></category></item><item><title><![CDATA[PYTHON入门（一）]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78673113</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78673113</guid><author>long_fly</author><pubDate>Thu, 30 Nov 2017 20:04:14 +0800</pubDate><description><![CDATA[Python语言是一种即简单又强大的编程语言。它不仅适合于初学者，也适合于专业人员使用，用Python编程是一种愉快的事，而不要看做是一种负担。]]></description><category></category></item><item><title><![CDATA[ZYNQ跑系统 系列（一） 传统方式移植linux]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78643258</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78643258</guid><author>long_fly</author><pubDate>Tue, 28 Nov 2017 20:18:40 +0800</pubDate><description><![CDATA[移植linux之传统方式在ZYNQ开发时，有些情况下，为了降低开发的复杂性，或是提升系统运行的性能，在ARM上跑一个linux系统往往是一个不错的选择，而且linux系统一般集成了一些常用的成熟驱动，可以减少开发周期。本章将通过传统u-boot、kernel方式，完成移植。该方式虽然繁琐复杂，但是毕竟是一种通用的移植方式。]]></description><category></category></item><item><title><![CDATA[ZYNQ基础系列（一） AXI总线通信]]></title><link>https://blog.youkuaiyun.com/long_fly/article/details/78619451</link><guid>https://blog.youkuaiyun.com/long_fly/article/details/78619451</guid><author>long_fly</author><pubDate>Fri, 24 Nov 2017 10:22:06 +0800</pubDate><description><![CDATA[PS-PL通信之AXI总线在ZYNQ开发过程中，PS与PL之间的通信是不可避免的，除了MIO与EMIO通信外，还有一种更高速的接口与ARM核通信。本章将创建并测试一个基于高速AXI总线的IP核，以及调用并测试vivado自带的IP核。]]></description><category></category></item></channel></rss>