PL端使用过后,来到了ZYNQ核心的部分:PS端,现在用Vivado软件对ZYNQ-7000开发板的PS端进行第一个程序设计:Hello World. 一.新建Vivado工程 1.打开Vivado,新建一个工程,Next 2.设置工程名称和工程所在目录,Next 3.选择第一项:RTL Project,Next 4.添加资源,可以直接Next 5.添加约束,可以直接Next 6.芯片型号选择xc7z020clg400-1,Next 7.总结页面,Finish 8.进入Vivado工程页面,左边…
上篇该系列博文中讲述W5500接收到上位机传输的数据,此后需要将数据缓存起来.当数据量较大或者其他数据带宽较高的情况下,片上缓存(OCM)已无法满足需求,这时需要将大量数据保存在外挂的DDR SDRAM中. 最简单的方式是使用Xilinx的读写地址库函数Xil_In32()和Xil_Out32(),当然不仅支持32bit位宽,还包括8 16和64bit.但这种方式每次读写都要占用CPU,无法在读写的同时接收后续数据或者对之前的数据进一步处理,也就无法形成类似FPGA逻辑设计中的“流水线结构”,此…
ZYNQ 中PS端GPIO EMIO使用 在使用ZYNQ进行开发设计时,往往需要对一些GPIO引脚进行配置,传统的配置方法通常在PL端进行管脚约束之后在Verilog代码中对相应引脚进行配置.这样如果开发过程中一旦有需要对管脚配置进行修改的话,那么就必须重新进行综合.布局布线.生成比特流文件,如果设计工程相对复杂的话,完成整个过程通常需要相当长一段时间.影响开发效率. 此时,如果将配置引脚的逻辑放在PS端进行的话,更改配置的话就无需对整个工程在进行综合.布局布线.生成比特流文件.只需在SDK中直…
一.GPIO原理 1.GPIO介绍 程序员通过软件代码可以独立和动态地对每个 GPIO 进行控制,使其作为输入.输出或中断. (1)通过一个加载指令,软件可以读取一个 GPIO 组内所有 GPIO 的值. (2)通过一个保存指令,将数据写到一个 GPIO 组内的一个或多个 GPIO . (3)在 ZYNQ-7000 SOC 内,GPIO 模块的控制寄存器和状态寄存器采用存储器映射方式,它的基地址为 0xE000_A000. (4)每个GPIO都提供了可编程的中断.通过软件程序代码可以实现:①读原…
分享下PS与PL之间数据传输比较另类的实现方式,实现目标是: 1.传输时数据不能滞留在一端,无论是1个字节还是1K字节都能立即发送: 2.PL端接口为FIFO接口: PS到PL的数据传输流程: PS到PL的数据传输相对简单,使用vivado自带的axi_datamover即可完成,详细如下: A.向PL端查询剩余数据存储长度(以byte为单位): B.通过写寄存器设置PL端DMA数据传输开始地址: C.通过写寄存器设置PL端DMA数据传输长度(以byte为单位): D.通过写寄存器启动PL端DM…
原文:linux内核笔记之高端内存映射 在32位的系统上,内核使用第3GB~第4GB的线性地址空间,共1GB大小.内核将其中的前896MB与物理内存的0~896MB进行直接映射,即线性映射,将剩余的128M线性地址空间作为访问高于896M的内存的一个窗口. 引入高端内存映射这样一个概念的主要原因就是我们所安装的内存大于1G时,内核的1G线性地址空间无法建立一个完全的直接映射来触及整个物理内存空间,而对于80x86开启PAE的情况下,允许的最大物理内存可达到64G,因此内核将自己的最后128M的线…
使用 AXI_Lite 从口实现寄存器列表的读写,并且自己封装为一个自定义 IP,以便以后使用.本次记录的是 M_AXI_GP0 接口,此接口是 ARM 作为主机,FPGA 作为从机,配置 FPGA 的寄存器或者 RAM. 一.ZYNQ AXI 总线拓扑结构图 黄色部分即为 FPGA 部分. 二.新建 AXI_Lite 寄存器列表 1..点击主页上方菜单 Tools --- Create adn psckage IP ,点击Next 2.选择第四项,Next 3.选择 IP 名称和存放的路径,N…
ZYNQ7000系列FPGA的PS自带两个IIC接口,接口PIN IO可扩展为EMIO形式即将IO约束到PL端符合电平标准的IO(BANK12.BANK13.BANK34.BANK35): SDK中需要对IIC接口进行初始化在黑金和米联的例程里为了方便用户使用,对IIC和外设设备分别创建了相应的文件方便用户开发. 特别注意每个外设设备都会有自己的slave address:而xilinx官方给出的IIC驱动中给出的从设备的地址是7bit模式(IIC总线上的器件一般为8位地址位,去掉低位一位广播位…
ZYNQ分为PS和PL,此博客实际上是FPGA中一个完整的FPGA工程的创建. PS:处理系统 (Processing System) 即ARM的Soc部分 PL:可编程逻辑(Programable Logic) 即FPGA部分 一.新建工程 1.打开Vivado,新建一个工程,Next 2.设置工程名称和工程所在目录,Next 3.选择第一项:RTL Project,Next 4.添加资源,可以直接Next 5.添加约束,可以直接Next 6.芯片型号选择xc7z020clg400-1,Nex…
一.ZYNQ中断框图 PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0.从下面的表格中可以看到中断向量的具体值.PL到PS部分一共有20个中断可以使用.其中4个是快速中断.剩余的16个是本章中涉及了,可以任意定义.如下表所示. 二.ZYNQ中断分类 1.软件中断(SGI) ZYNQ 2 个 CPU 都具备各自 16 个软件中断.通过 ICDSGIR 寄存器写入 SGI 中断号,以及指定目标 CPU 来产生一个软件中断.通过 CPU 私有总线实现写操作.CPU 能中断自己或…
尊重原创,转载注明出处,原文地址:http://www.cnblogs.com/cishengchongyan/p/6129971.html  本文将不会对netty中每个点分类讲解,而是一个服务端启动的代码走读,在这个过程中再去了解和学习,这也是博主自己的学习历程.下面开始正文~~~~ 众所周知,在写netty服务端应用的时候一般会有这样的启动代码: (代码一) 1 EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGr…
目录 一:SVN服务器搭建和使用. 1.首先来下载和搭建SVN服务器,地址http://subversion.apache.org/packages.html 2.安装完成后,启动VisualSVN Server Manager,建立一个仓库 3.建立用户和组,并且分配权限 二:客户端SVN安装. 1.首先我们需要下载 "svn小乌龟"(也可以用VisualSVN for Visual Studio)后,进行安装(可以与Server端在不同PC上). 2.svn小乌龟的使用 由于公司使…
之前导出Excel时没发生任何问题, Client端PL/SQL字符集为UTF-8 Oracle JDE E910字符集为UTF-8 解决方式:添加指定用户的字符集(上图即为修改后的用户字符集) 角色人员配置字符集如下图所示(100095为后添加的字符配置): 设置字符集路径如下图: 添加后点击激活指定的用户字符集…
前言: springmvc对注解的支持非常灵活和飘逸, 也得web编程少了以往很大一坨配置项. 另一方面移动互联网的到来, 使得REST API变得流行, 甚至成为主流. 因此我们来关注下springmvc对rest api的支持程度, 以及需要做的工作评估. 样例设计和准备: springmvc学习笔记系列的文章目录: • idea创建springmvc项目 REST API的设计原则遵循之前的博文来实现 • 移动互联网实战--Web Restful API设计和基础架构  初步设计一个查询系…
机器学习策略-端到端学习 End-to-end deeplearning 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 什么是端到端学习-What is End-to-end deeplearning 以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理. 端到端学习就是忽略中间的过程用单个神经网络代替它. Speech recognition example 你的目标是输入X,比如说一段音频,目标是将其映射到Y,就是这段音频的听写文本. 传统阶段上,语音识别需要很多阶段…
一.移动端默认样式 ·IOS和Android下触摸元素时出现半透明灰色遮罩 a,input,button{ -webkit-tap-highlight-color: transparent; } ·IOS按钮圆角的问题  button,input{ border-radius:; -webkit-appearance: none; } ·上下拉动滚动条时卡顿.慢  body { -webkit-overflow-scrolling: touch; overflow-scrolling: touc…
一.viewport视口 1.1什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕尺寸:指屏幕的对角线的长度,单位是英寸,常见的屏幕尺寸有3.5.3.7.4.2.4.7.5.0.5.5.6.0等. 屏幕分辨率:指在横纵向上的像素点数,单位是px,1px=1个像素点.一般以纵向像素*横向像素来表示一个手机的分辨率,如1920*1080.(这里的1像素指的是物理设备的1个像素点) 屏幕像素密度:屏幕上每英寸可以显示的像素点的数量,单位是ppi.屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,…
一.媒体(介)查询 1.1 基本语法 媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒体查询中可用于检测的媒体特性有:width.height和color(等).使用媒体查询可以在不改变页面内容的情况下,为特性的一些输出设备定制显示效果. 使用 @media 查询,你可以针对不同的媒体类型(媒体.媒介)定义不同的样式.@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的. 基本语法: @media 约束词  媒体类型…
canal服务端 canal服务端有两种运行模式,一种单机模式,一种HA运行模式(zk保证) 单机模式:同步的binlog节点信息保存在本地(/conf/{自定义分区文件夹}/),meta.dat HA模式:同步的binlog节点信息在zk上 canal配置文件 canal配置文件分为两类, 一类是全局配置文件(/conf/canal.properties),里面定义了一些公共的全局参数,例如zk信息 一类是启动实例配置文件(/conf/{自定义分区文件夹}/instance.propertie…
微博不给力啊 吞我笔记,还好我有txt... 1.环境准备:安装Android sdk, 配置环境变量:platfrom_tools,tools,aapt;java:2.查询当前apk信息: aapt dump badging XXXX.apk  apk包名:package: name='tv.fuzegame.fuzegameplus' versionCode='12' versionName='1.0.0'  启动界面:launchable-activity: name='tv.fuzega…
PS画虚线步骤: 1)我们打开PS后,随便新建一个文件. 2)大小随意. 2)我们选择画笔工具,快捷键是B. 3)画笔面板的快捷键是F5. 4)点击画笔预设面板,再点击右边右上角的下三角,在弹出的菜单里选择方头画笔. 5)像素设置10,圆度为50%,间距150%. 7) 设置好参数我们就可以画虚线了,如果要画直的虚线,先按住SHIFT键,然后拖动鼠标就画出一条直直的虚线了,调整像素.圆度.间距来画出自己想要的效果.如图.…
1.将图片四角变弧形:菜单-->选择-->平滑-->设置参数: 2.画曲线的方法是: 1)选择钢笔工具, 2)工具属性选择路径:用钢笔点下路径的起点,点下即松开鼠标:在下一个锚点,点下钢笔后不要松开,拉动钢笔,形成曲线,如下图: 3)设置画笔大小及颜色, 4)使用钢笔工具,右键路径--描边路径--选择画笔--确定,如下图: 3.解除图层的锁定:    点击标记处即可. 4.变化画布大小并涂成特定颜色的方法是: 1)菜单-->图像 --> 画布大小--> 修改宽度/高度:…
由于人工智能的热度, python目前已经成为最受欢迎的编程语言,一度已经超越Java . 本文将介绍开源的python 测试工具: locust 使用步骤: 1. 安装python 3.0以上版本 2. 安装Pip 3. 安装locust     pip install locustio  (windows系统下) 4. 阅读或者下载 locust 源码 一.Locust 的基本实现原理 服务端性能测试工具最核心的部分是压力发生器,核心要点有两个,一是真实模拟用户操作,二是模拟有效并发. 在L…
什么是智能对象? 智能对象是包含栅格或矢量图像(如 Photoshop 或 Illustrator 文件)中的图像数据的图层.智能对象将保留图像的源内容及其所有原始特性,从而让您能够对图层执行非破坏性编辑.(——摘自adobe的自述文档) 1.智能对象可以达到无损处理的效果. 这是它最大的好处,也是它的特点,就是智能对象能够对图层执行非破坏性编辑,也就是无损处理,我们在使用PS过程中一定都会遇到这样的情况,当你把某个图层(普通图层)上的图形缩小后再拉大,图象就会变得模糊不清,如果将图层事先转变成…
1.ps 命令,用于查看当前正在运行的进程,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. 语法: ps [options] 示例: ps -ef | grep nginx ps -aux | grep nginx 以上两个命令都表示查看所有进程里nginx的进程信息 -ef   使用标准语法 -aux 使用BSD语法 列信息解释: 列 解释 USER 进程拥有者 PID PID %CPU 占用的CPU使用率 %MEM 占用内存的使…
一.查看进程命令 1.ps命令 Linux中的ps命令是Process Status的缩写. ps命令用来列出系统中当前运行的那些进程. ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令. 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资…
软件的定时中断很难控制精准触发沿的位置,可以通过 PL-PS 的中断完成精准的定时中断.PL 的中断通过 Verilog 代码产生,这样紧密结合 PS-PL 的处理,发挥各自的优势. 一.PL 侧定时中断 1.实际要求 ① 上升沿中断: ② 高电平宽度不小于1us: ③ 中断计数器的时钟为 200Mhz: ④ 有两个中断: 3ms 和 .5ms 2.Verilog中断代码 //************************************************************…
ZYNQ包括一个 FPGA 和两个 ARM,多个 ARM 核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,但是有一个主要核心,用来控制整个系统以及其他从核心的允许.因此我们可以在 CPU0 和 CPU1 中独立跑不同的应用程序,发挥双核的非对称性架构的优势和性能. 从软件的角度来看,多核处理器的运行模式主要有三种: ① AMP(非对称多进程):多个核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,但是有一个主要核心,用来控制整个系统以及其它从核心的运…
ZYNQ的SDK是用C语言进行开发的,C语言可以说是当今理工类大学生的必备技能.我本科学C语言时就是对付考试而已,导致现在学ZYNQ是一脸懵逼.现在特开一帖,整理一下C语言的基础知识. 一.定义 1.关键字 char :定义一个8位的变量,就是一个字节.short int :定义一个16位的变量,就是两个直接 int :定义一个32位(一般情况下)的变量,就是四个字节. float :定义一个精度为6位小数点的浮点型小数,超过精度的数据会有偏差,本身即有符号型. double :定义一个精度为1…
/** * TCP:传输控制协议,采用三方握手的方式,保证准确的连接操作. * UDP:数据报协议,发送数据报,例如:手机短信或者是QQ消息. */ /** * TCP服务器端程序 */ public class Main { public static void main(String[] args) { try { ServerSocket s1 = new ServerSocket(57712); //创建一个服务器端socket System.out.println("服务器已启动,正在…