ZYNQ笔记(1):PL端——led灯】的更多相关文章

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…
一.GPIO原理 1.GPIO介绍 程序员通过软件代码可以独立和动态地对每个 GPIO 进行控制,使其作为输入.输出或中断. (1)通过一个加载指令,软件可以读取一个 GPIO 组内所有 GPIO 的值. (2)通过一个保存指令,将数据写到一个 GPIO 组内的一个或多个 GPIO . (3)在 ZYNQ-7000 SOC 内,GPIO 模块的控制寄存器和状态寄存器采用存储器映射方式,它的基地址为 0xE000_A000. (4)每个GPIO都提供了可编程的中断.通过软件程序代码可以实现:①读原…
在ZYNQ-7000平台上利用PS点亮PL上的LED灯 1.实验方案 图1    实验方案系统框图 2.具体步骤 2.1.vivado工程建立 ①打开vivado集成开发环境,点击“Create Project”,如下图所示. ②点击“Next”,如下图所示. ③在“Project name”中输入工程名:在“Project location”中选择保存路径:勾选“Create project subdirectory”,最后点击“Next”,如下图所示,注意均不要出现中文. ④选择“RTL P…
关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储空间的大小,2*4K=8K 40:晶振最高频率40MHZ,单片机工作的速度 C(commercial):商业级.(还有I(industry):工业级)区别在于温度可用范围,商业级:0~85℃,工业级:-40~125℃,还有军品级:-55~160℃(这个不确定). PDIP:封装形式,双列直插式 07…
1      前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有STM和Nuvoton这类通用芯片,也有Nordic-52832,Nordic-52810,易兆微这种专用的蓝牙芯片,还包含用于WIFI设备的ESP32芯片,以及专业的指纹/二维码安全芯片,当然也参与过基于ARM9内核的Linux的嵌入式服务器开发和维护,更详细的参与了异步双核MCU的验证工作和库开…
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工程页面,左边…
一.ZYNQ中断框图 PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0.从下面的表格中可以看到中断向量的具体值.PL到PS部分一共有20个中断可以使用.其中4个是快速中断.剩余的16个是本章中涉及了,可以任意定义.如下表所示. 二.ZYNQ中断分类 1.软件中断(SGI) ZYNQ 2 个 CPU 都具备各自 16 个软件中断.通过 ICDSGIR 寄存器写入 SGI 中断号,以及指定目标 CPU 来产生一个软件中断.通过 CPU 私有总线实现写操作.CPU 能中断自己或…
前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM32系列GPIO驱动LED灯   先来笔者根据自己使用的开发板的电路来使用GPIO进行LED操作,下图是笔者使用的开发板LED灯的电路图:    引脚PD6接LED1,PD12接LED2,PD13接LED3,电阻是限流电阻(计算方式高电平减去LED1的压降,然后除以LED能流过的电流).  复制模版…
本文是对韦东山嵌入式第一期学习的记录之一,如有您需要查找的信息,可以继续往下阅读. 想要用按键点亮LED灯,就需要知道按键和LED灯的相关信息,这样才可以进行之后的操作.阅读JZ2440的原理图,可以得到以下信息(见下方图片) JZ2440开发板用到了S2,S3,S4三个按键,nLED1,nLED2,nLED4三盏LED灯,它们对应的寄存器位分别是: 按键:S2(EINT0)——GPF0 S3(EINT2)——GPF2 S4(EINT11)——GPG3 LED:  nLED1——GPF4 nLE…
前面已经详细介绍了从PL端如何用AXI总线去控制DDR的读写,并且从AXI_BRESP的返回值来看,我们也是成功写入了的.但是没有通过别的方式来验证写入的数据的话,总是感觉差了点什么. 今天试了一把从PS端直接读取DDR里面的数据,刚好跟PL端写入的一样,这下可以放心的认为我们写入成功了. 还是跟前面说的一样,在SDK里面使用hello world的模版就可以了. 准备工作:(这部分参考了[ZYNQ-7000开发之六]使用PS控制DDR3的读写) 1.DDR3的地址 在mem_demo_bsp-…
有了前面的一堆铺垫.现在终于开始正式准备读写DDR了,开发环境:VIVADO2014.2 + SDK. 一.首先要想在PL端通过AXI去控制DDR,我们必须要有一个AXI master,由于是测试,就不自己写了,直接用package IP生成,方法如下: 1.选择package IP工具 2.创建新的AXI外设 3.接口类型选择Full,模式选择master,如果你不关心里面的详细实现过程,那么直接finish就好了.(后面我们会继续分析里面的过程) 二.创建好了IP,自然要加入到IP库里,如图…
第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx 中文参考手册>.<STM32F429规格书>. 学习本章时,配合<STM32F4xx 中文参考手册>"通用I/O(GPIO)"章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分.关于建立工程时使用KEIL5…
在几个月前看2440视频的时候,发现太多知识欠缺,购买开发板期间补习makefile,linux,arm汇编和arm构架之后,现在重新开始学习. 先看板子LED硬件连接图: 可以看到LED 1,2,4连接GPF4,5,6.故,查看芯片手册GPF IO口: 有寄存器地址,有对应位的功能,剩下的就是我们的编程了. 写在前面:基本汇编拾遗 Load/Store 内存访问指令: LDR:字 数据读取指令 LDRB:字节读取指令 LDR R0,[R1];把内存单元R1中的数据读取到R0寄存器中 ...LD…
第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx 中文参考手册>.<STM32F429规格书>. 学习本章时,配合<STM32F4xx 中文参考手册>"通用I/O(GPIO)"章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分.关于建立工程时使用KEIL5…
参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先 准备一个 安装好 Linux 的 开发板 使用  xshell 工具 连接 开发板  ,winscp 工具 连接 开发板  ,  准备 一个 Ubuntu  32位 ,装上 交叉编译链.. 使用下面 代码 和 Makefile 文件 进行编译  ,生成的  执行 文件  利用 winscp 软件复制到 Linux开发板上 ,利用 xshell 运行 这个可执行文件. 下面    代码的  功能  是   新建 一个 TCP 客户…
根据  字符型设备驱动程序-first-printf以及点亮LED灯(二) 学习 修改函数 中的printf 为 printk. #include <linux/module.h> /* Needed by all modules */ #include <linux/kernel.h> /* Needed for KERN_DEBUG */ #include <linux/init.h> /* Needed for __init */ #include <lin…
通过採用C#语言实现的上位机控制单片机的步进电机模块.LED灯和蜂鸣器模块,使步进电机进行正.反转和停止并控制转速:LED灯模块进行有选择的呼吸式表达:蜂鸣器模块的開始和终止. 上位机通过串口和自己定义的通信协议(8字节)控制单片机的步进电机.LED灯和蜂鸣器模块. 当中在控制步进电机的过程中,为了使操作可以及时响应,使用了INT0中断来进行及时性速度响应.LED灯使用位运算控制灯的闪烁位置.合理利用了单片机的模块和操作. 注意:因为定时器个数的限制.没能控制很多其它的模块. #include<…
使用 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…
  本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示. 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用. 本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性. 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍. 本文所使用…
  本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示. 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用. 本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性. 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍. 本文所使用…
之前一直在玩树莓派,最近实验室买了些NodeMCU就想着玩一玩,没想到挺有意思的.其实树莓派能实现的功能,它大部分也可以,价格比派也便宜不少,舍不得买派的同学可以先买这个开发板玩一玩. 本文主要介绍了一下如何配置NodeMCU的开发环境,开发环境只需配置一次.配置完成后,使用代码实现NodeMCU上自带LED的闪烁.过程很简单,初学者可以通过这几个简单步骤,先了解一下NodeMCU的基本操作. 本文主要包括以下三个模块: 一.NodeMCU介绍及所需设备 二.配置NodeMCU的开发环境 三.点…
最近由于项目要求,需要开发物联网云平台,而本人对硬件和通信技术一窍不通,故而选择arduino这一简单单片机来实现学习掌握基础的硬件和通信技术. 下面就是本人通过查阅大佬资料做的一个整合版本的通过手机APP来控制LED开关的实验: 第一步:连线使用软串口方式,利用arduino来对ESP8266进行AT命令操作. 连线参考图如下: 连线完后,利用串口调试工具和Arduino IDE 软件进行编程,实现对ESP8266的软串口指令下达: #include <SoftwareSerial.h> S…
目录 开发板上LED灯相关的电路图 点灯 LED闪烁 LED流水灯 其他效果 灯光二进制计数器 进阶版流水灯 开发板上LED灯相关的电路图 这是P2相关7个引脚的电路图,在默认情况下它是直接接着VCC的,即默认为高电平. 可以看到,8个LED灯分别是和单片机上P20~P27这8个引脚联系起来的,即一端是VCC,另一端是单片机上的端口,这样我们只需要将引脚端电平置为低电平即可将对应的LED点亮. 点灯 这里我们尝试先点亮从左到右数第一个LED灯,从电路图上看我们只需要将P20引脚的输出置为0(即设…
记录自己linux学习过程,让自己能够一直坚持下去 1.原理图分析: nLED_1, nLED_2, nLED_4, 给低电平则对应LED灯亮,高电平则对应LED灯灭, S3C2440芯片GPF4-GPF6对应nLED_1, nLED_2, nLED_4, 所以代码里面操作GPF4-GPF6就可以控制LED灯亮灭. 2.写代码前了解事项 第一步:将GPF0-GPF4配置为输出功能 第二步:控制GPF0-GPF4输出低电平 3.编写代码 .text .global _start _start: l…
第一个FPGA工程----点亮开发板上的3个LED灯 1.新建FPGA工程 开启Quartus2的画面 File--New Project Wizard..指定工程的路径与工程名 指定所使用的FPGA设备型号 2.添加设计文件 本设计采用Verilog HDL硬件描述语言建模 3.建模 本设计有三个输出量,没有输入量,这三个输出量对应FPGA芯片的三个管脚,同时被置高电平,用来驱动LED灯. 4.编译工程 Processing--Start compilation 并生成编译报告 5.引脚分配…
原文地址 - https://www.arduino.cc/en/Tutorial/Blink 闪烁 这个例子展示了你能拿 Arduino / Genuino 板子来干的最简单的事:使开发板上的 LED 灯闪烁. 硬件需求 Arduino 开发板 LED (非必要) 220欧电阻(非必要) 电路 这例程使用了大部分 Arduino / Genuino 开发板上都有的 LED 指示灯.这 LED 灯是连接到数字引脚的,而它在不同型号的开发板上的引脚号都不一样.为了方便大家,我们已经每种开发板的描述…
定时器的应用---中断方式---让8个LED灯,左右各4个来回亮 /*************************** 中断方式 是主程序专注于其他的事情, 待定时器中断时才执行中断子程序. *****************************/ #include<reg51.h> #define LED P1 #define count 50000 // 50000 * 1us = 0.05s 机器周期1us 12MH晶振 #define TH_M1 (65536-count)/2…
定时器的应用,查询方式.让8个LED灯,左右各4个来回亮 代码: /********************** 查询方式是主程序不断的查询是否中断,而不需要准备子程序 ***********************/ #include<reg51.h> #define LED P1 #define COUNT 50000 // 50000 * 1us = 0.05s 50000计数次 #define TH_M1 (65536-COUNT)%256 //MODE 1 余数赋值给高4位 #dee…
PS-PL之间的AXI 接口分为三种:• 通用 AXI(General Purpose AXI) — 一条 32 位数据总线,适合 PL 和 PS 之间的中低速通信.接口是透传的不带缓冲.总共有四个通用接口:两个 PS 做主机,另两个 PL 做主机.• 加速器一致性端口(Accelerator Coherency Port) — 在 PL 和 APU 内的 SCU之间的单个异步连接,总线宽度为 64 位.这个端口用来实现 APU cache 和 PL的单元之间的一致性.PL 是做主机的.• 高性…
/********************************* 代码功能:点亮一个led灯 使用函数: pinMode(引脚号,模式); digitalWrite(引脚号,电平状态); //默认低电平(或浮空) 创作时间:2016*10*07 作者邮箱:jikexianfeng@outlook.com ********************************/ ; //led 引脚设定 void setup() //初始化部分(单次执行) { pinMode(led,OUTPUT)…