
ZEDBOARD
mcupro
这个作者很懒,什么都没留下…
展开
-
嵌入式linux 使用mmap函数实现物理地址到虚拟地址的映射。
以下程序段来自我的一个实际项目。将物理地址转换成虚拟地址,之后就可以C语言指针在程序里面操作了。#include<stdio.h>#include<stdlib.h>#include<sys/mman.h>#include<fcntl.h>unsigned int get_mmap_addr_auto( unsigned i...原创 2020-03-11 10:04:01 · 1562 阅读 · 0 评论 -
例说verilog中的generate
贴出我项目代码中一部分的generate代码,跟大家分享一下这种表达方式,期待大家领略其精神实质。 genvar i; generate for(i=0;i<32;i=i+1) begin:down_wreq_gen always @(posedge up_clk )down_wreq[i]<=(up_waddr[13:9]=...原创 2020-03-10 00:12:15 · 593 阅读 · 0 评论 -
一个易用的AXI_LITE转接模块 [视频提纲]
我们在做AXI_LITE外设时候,需要在大量的例子代码里面加入自己的寄存器和逻辑。不但麻烦而且很容易出错。这里给大家推荐一个转接口的模块,将AXI接口转换成非常简单的pcore寄存器读写操作。 up_axi #(.AXI_ADDRESS_WIDTH (C_S00_AXI_ADDR_WIDTH) ) i_up_axi ( .up_rstn ( s00_ax...原创 2020-03-06 21:54:32 · 1513 阅读 · 0 评论 -
AD9361 自检功能所采用的数据
输出TONE数据时候正交的两路如下: 0,-1024,391,-946,724,-725,946,-392,1023,0,946,391,724,724,391,946,0,1023,-392,946,-725,724,-946,391,-1024,0,-946,-392,-725,-725,-392,-946,0,-1024, // 依次循环以上是I...原创 2020-02-10 03:09:02 · 2372 阅读 · 2 评论 -
DEV-CPP 下获取MAC地址的代码
//#include"stdafx.h"#include <WinSock2.h>#include <Iphlpapi.h>#include <iostream>#include "stdio.h"using namespace std;#pragma comment(lib,"Netapi32.lib")///需要Iphlpapi.l...原创 2020-01-12 20:25:20 · 1570 阅读 · 1 评论 -
在ZEDBOARD + PETALINUX环境中使用TFTP传输文件【之三】----用TFTP实现文件互传
上述之一讲了嵌入式LINUX中tftp命令的使用。上述之二讲了WIN下简历TFTP服务器。这个BLOG我们实现一下两者的互联,用嵌入式LINUX 的TFTP客户端连接WIN的服务器端,实现文件的上传和下载。连接好网络,将ZEDBOARD和电脑连在同一个路由器下。首先使用ping 192.168.1.102 来确定网络是否连通。之后将tftp服务器端的image.ub文件下载下来...原创 2019-06-26 00:08:56 · 1160 阅读 · 0 评论 -
在ZEDBOARD + PETALINUX环境中设置QSPI FLASH存放并启动系统
1,BOOT.BIN在哪里运行存储于启动模式,内部的BITSTREAM以及U-BOOT(或者用户APP)都可以存储。2,UBOOT有启动命令脚本(auto booting).这个脚本指示从SD卡某个文件或者QSPI FLASH的某个地址区域取KERNEL和DTB以及ROOTFS,保存在内存的指定区域(这个指定内存区域跟KERNEL编译时候的设置以及其他是对应的)。3,KER...原创 2019-06-28 16:36:34 · 3837 阅读 · 1 评论 -
关于双时钟fifo的延迟问题
这里群讨论里面的记录 414371872 群号先贴在这里。含笶半歩顛(764723019)16:37:32@李工请教一个问题。我用FIFO的IP弄了一个FIFO,发现wr_rst_busy要再wr_clk,和rd_clk都有的时候,经过若干个始终周期后才跳变为0.请问下为什么含笶半歩顛(764723019)16:37:40异步FIFO。太极之...原创 2019-06-28 16:43:48 · 2924 阅读 · 0 评论 -
群里关于一个硬件电路的讨论,纹波大导致烧坏主芯片
来自ZEDBOARD 学习讨论QQ群 414371872的聊天记录梧桐树下(624018797) 11:14:21板子用着用着,不知什么问题,1.8V对地的电阻就变成10欧了李工(715713994) 11:14:45主芯片挂梧桐树下(624018797) 11:14:50这种情况一般是不是只能换fpga了啊李工(715713994) 11:15:27最好排除隐患后再换...原创 2019-06-28 16:52:09 · 2773 阅读 · 0 评论 -
又一个因为时钟精度而导致的问题
来自 ZEDBOARD 学习讨论QQ群414371872 12:55:36 请教各位一个问题啊,a7100TFGG676,之前的2个GTPbank共用一个时钟,现在专门又做了一版PCB,2个GTPBANK,各自独立时钟。但是现在无法实现,每个GTPbank单独设置光模块速率。是不是哪儿设置有问题。 逐 12:57:03 ...原创 2019-06-28 16:55:49 · 488 阅读 · 0 评论 -
Zedboard + AD9361底层接口的分析 之一 system_util_ad9361_dac_upack 对外接口分析
首先我们看BLOCK DESIGN里面实际的接口图:我们看到总体的数据流向是:给模块输入64位数据,之后分成了4组16位的数据数据输出。结合unpack这个模块名,我们都可以想到是64位并列分成4组。主要是是看看控制和标志部分是如何工作的。我们看到dac_valid_[0...3]和dac_enale[0:3]以及4组16位数据总线都接在AXI_9361的接口模块上。我...原创 2019-08-09 11:33:37 · 3511 阅读 · 1 评论 -
Zedboard + AD9361底层接口的分析 之二 ADC 通路的接口分析
所谓ADC通路,就是AD9361接收端数据经由FMC到达ZEDBOARD上XC7Z020芯片的PL引脚后,最后直到DDR3,内部通过的数据路径。如下图:我这里简单说一下图中各个模块:1,AXI_9361,这是跟9361接口的最前沿,无论接收和发送端,都是经由了这个模块。内部有时钟的处理,双边缘采集的处理,双边缘发送的实现。这个由于实现细节太多,需要专门分析。2,wfifo模块,这个...原创 2019-08-10 15:33:46 · 4845 阅读 · 0 评论 -
AD9361 随笔记录 收发器fastlock相关的用户函数
代码取自no_os的ad9361_api.c文件。我们先来看看fastlock中发送部分的相关代码:/** * Store TX fastlock profile. * To create a profile tune the synthesizer (ad9361_set_tx_lo_freq()) and then * call this function specifyi...原创 2019-08-10 18:32:53 · 2729 阅读 · 3 评论 -
在ZEDBOARD + PETALINUX环境中使用TFTP传输文件【之二】----在WIN下安装TFTP服务器
我们用的VMWARE虚拟机方式开发PETALINUX,如果在VMWARE虚拟机里面安装TFTP虚拟机,需要在虚拟机里设置成网桥的模式,这样才能保证虚拟机所在网络和本地局域网是一个网段。这稍稍有些麻烦,并且有时候VMWARE设置会失效。所以我们这里直接在WINDOWS下设置TFTP服务器的形式。从网络上搜索tftpd32这个小软件,可以从我网盘下载:链接:https://pan.baidu....原创 2019-06-25 23:23:13 · 645 阅读 · 0 评论 -
在ZEDBOARD + PETALINUX环境中使用TFTP传输文件【之一】----TFTP客户端的使用方法
硬件:ZEDBOARD 或者兼容板子 (可以从SYSCLK.TAOBAO.COM购买便宜实用的国产板,本人出品技术支持)。嵌入式系统:PETALINUX 2019.1 使用 ZEDBOARD板级支持包编译出来的LINUX内核以及文件系统。PETALINUX 的系统文件里面包含了TFTP客户端。这是一个基于UDP协议的FTP类型的文件传输协议。跟标准的FTP相比,他不不使用复杂的...原创 2019-06-25 22:50:35 · 1980 阅读 · 0 评论 -
PetaLinux 2019.1详细安装步骤以及所需要文件
这里主要根据UG1144文档,这两天成功安装使用了PetaLinux的最新版本2019.1一,在虚拟机里安装Ubuntu16.041,选Ubuntu 操作系统的版本是16.04,我最初尝试过18版本的Ubuntu但是不知道为什么速度特别慢,所以还是回头使用16.04版本。2,使用的vmware虚拟机版本是12.3,在虚拟机里安装Ubuntu16.04,我这里设置了逻辑盘大小是...原创 2019-06-14 15:53:12 · 13645 阅读 · 6 评论 -
PMODAD1 实现模拟数据的采集 时序篇
根据时序图来做构造控制时序。原创 2017-06-30 12:04:45 · 2107 阅读 · 0 评论 -
PMODAD1 实现模拟数据的采集 实现篇1
从硬件篇我们看到一个PMOD模块包含了两路ADC,他们公用SCLK和CSN,只是有两路各自的DATA输出,因此我们将采集模块简单修改一下,能同时采集两路,如下:module ad7476_sample(input clk,rst,input ADC_sdata0, ADC_sdata1,output reg ADC_sclk,ADC_csn,output reg [11:0] adc_原创 2017-06-30 16:13:24 · 1369 阅读 · 1 评论 -
移植OPENCORES上的I2C MASTER到AXI接口处理器层面实现驱动 之一
由于之间就用过OPENCORES上的I2C MASTER,所以对他的接口时序以及处理器方面的驱动非常了解。这里主要做的工作是移植。这个IP核来自www.opencores.org 是经过OPENCORES认证的IP核。这个IP是采用了WISHBONE互联总线标准,是最简单最基本的互联总线,因此很容易移植上AXI_LITE接口。以下代码原创 2017-06-30 20:13:31 · 1604 阅读 · 1 评论 -
ZYNQ系统中实现FAT32文件系统的SD卡读写之三 SDK编程调试
导入到SDK后直接模板生成一个HELLO WORLD项目,之后在XILINX TOOLS-》BOARD SUPPORT PACKAGE SETTING里面设置选择XILFFS。XILFFS各项可以设置参数按照默认,如下图:之后修改main函数所在文件,直接拷贝一下内容覆盖原文件 : #include "platform原创 2017-06-24 19:23:43 · 4117 阅读 · 1 评论 -
ZYNQ系统中实现FAT32文件系统的SD卡读写之四 经验总结
在上述的三篇BLOG里面主要介绍了步骤和设置,这里简答罗列一下此软件硬件环境中进行FAT32读写的经验总结。1,SD卡要格式成FAT32格式。否则写大文件失败,上几M的就写不了了。2,每次建议写256的整数倍字节,否则余数部分就会不能写入,比如f_write函数写参数长度为511字节,实际是写了256字节,写参数是512,513则实际写了长度是512字节。这应该是一个BUG原创 2017-06-24 19:48:17 · 5997 阅读 · 5 评论 -
移植OPENCORES上的I2C MASTER到AXI接口处理器层面实现驱动 之2
IP核已经写好,可以通过AXI_LITE总线连接到PS上,接下来就写C语言驱动。其实硬件底层的I2C驱动很简单,就是以下这四个函数。void I2C_init(unsigned int base,unsigned int clk,unsigned int speed);int I2C_start(unsigned int base, unsigned int add, uns原创 2017-07-04 13:02:13 · 1053 阅读 · 0 评论 -
只有一个元素的异步FIFO
module one_entry_fifo #(parameter dw=16 )( input rd_clk, wr_clk, rd_rst_n,wr_rst_n,we,re, input [dw-1:0] d ,reset_value, output reg [dw-1:0] q , output reg empty...原创 2018-12-01 00:44:35 · 199 阅读 · 0 评论 -
LINUX 控制读写硬件寄存器 QQ群讨论记录
喧(228229542)下午2:21:41 @李工李老师您好,我最近需要把Ubuntu移植到ZYNQ上面(当然Ubuntu是文件系统,现在问题不在那里),PL端有我自己搭建的外设,但是在看了第8节课之后,感觉没有掌握如何创建带有PL端外设的系统,并且现在没有方向,想请教您我看哪一节课能够掌握这个? 李工(715713994)下午2:22:06 ...原创 2019-04-25 23:12:56 · 254 阅读 · 0 评论 -
关于XILINX 中动态配置时钟模块 MMCME2_ADV
kindly(773566320)下午9:20:08@李工李工,你弄过sp6的动态锁相环吗GaN(1009757565)下午9:21:28@kindlyDemo板,我拿来验证寄存器设置。kindly(773566320)下午9:22:10噢,哦李工(715713994)下午9:22:25@kindly没有,只是看过,没实际搞过李...原创 2019-04-25 23:18:44 · 4262 阅读 · 0 评论 -
ZYNQ没有DDR3也能让程序在OCM里面跑。
明(523174158)上午9:22:37 自己的板子上DDR有两个脚封装画反了,用不了 明(523174158)上午9:22:57 炸了炸了 明(523174158)上午9:27:25 只能在OCM上跑程序 就是在FSBL里面写你要跑的内容,就是在OCM里面跑。这点在售后视频转门一集有介绍...原创 2019-04-25 23:27:17 · 3585 阅读 · 4 评论 -
关于HP,HR端口以及工艺和电压的对话
小飞侠各位问一个问题,IObank的类型有HPHRHD三种,一般在哪里可以查到器件的bank类型,今天拿到一个kc705,只能根据经验大致猜一下bank323334是hp,因为不支持3.3v和2.5v。但是总觉得有点没谱。有没有大神能解释一下?ota862019/5/8星期三下午11:19:03作者写书的时候,后续小节的代码没剔除干净,读者自己写的逻辑里没有访存相关时...原创 2019-05-08 23:30:39 · 2327 阅读 · 0 评论 -
基于Zedboard的PetaLinux 2019.1试验
一,安装板级支持包PetaLinux默认支持多个开发板子,在UG1144里面有列出来,如下这些板子直接可以从官方下载到板级支持包,有了板级支持包,我们就可以直接从板级支持包生成PetaLinux项目。https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded...原创 2019-06-18 20:18:00 · 2856 阅读 · 2 评论 -
PMODAD1 实现模拟数据的采集 硬件篇
PMODAD1是一个简单PMOD接口的双路ADC采集模块,可以点此到淘宝网店购买,描述如下产品描述Digilent Pmod AD1是一个12位双信道模拟数字转换器,搭载Analog Devices AD7476A。凭借每秒高达100万个样本的采样率,该Pmod即使面对最苛刻的音频应用都能发挥杰出表现。产品特点:双信道,12位模拟数字转换器原创 2017-06-29 19:51:11 · 2926 阅读 · 1 评论