自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 【SDK使用】如何使用tcl脚本

sdk可以直接source tcl脚本来实现一些功能,避免重复敲命令带来的繁琐工作。一个简单的脚本如下(读取寄存器,将寄存器结果写到一个tmp.tx文件中)puts "******************************"puts " *** A simple tcl script ***"puts "******************************"set fo [open ...

2018-06-22 11:16:21 668

原创 【FPGA设计_180110】vdma的使用

参考资料:pg020_axi_vdma.pdfVDMA可以在内存和数据流之间做切换,从而实现一些类似于帧率切换,数据加载等功能,下面简单描述一下vdma的使用,方便后续调试。vdma的配置界面1:其中可以配置地址总线宽度,AXI总线数据总线宽度,读写burst  size,Stream数据总线宽度,以及linebuffer深度(手册描述的是AXI从ddr读数据会

2018-01-10 21:47:39 4412 1

转载 【C语言学习_180105】typedef函数指针用法

1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plain copy print?char (*pFun)(int);   char glFun(int a){ return;}   void main()   {       pFun = glFun;       (*pFun)(2);   }  char (*pFun)(int); char glFun

2018-01-05 12:47:07 446

原创 【FPGA设计_180104】器件bank说明

Fpga器件有很多bank,不同bank有不同的作用,下面随便找了一款器件介绍下bank分类从上图可以看出,这个器件共有625个引脚,总共有11个bank,其中bank26,bank64,bank65,bank66是PL侧bank,其余的都是PS侧bank。bank0:一般用来作为ADC电压输入,温度传感器输入,以及部分配置端口;bank26 : HD bank;b

2018-01-04 18:35:50 5326 1

原创 【FPGA设计_180104】FPGA器件选型相关

FPGA器件选择中,有一个考虑因素是封装大小,封装大小也限制了可用管脚个数以及可用serdes的数目,举例如下:以3CG为例,不同的封装类型,对应器件的HD端口、HP端口以及Serders(GTH, GTY)个数是不一样的,另外可以看到3CG目前是没有Serders端口的。bank一般分为HP,HR,HD,其中HP指的是高性能IO,支持电平从1.0~1.8V,每个bank一般是52pin;HR指的

2018-01-04 17:43:10 1325

原创 <git教程>学习笔记

git教程网站:廖雪峰的官方网站,git教程;1.git 软件安装略。补充:如果要访问远程仓库,则需要产生ssh key,然后将public id_rsa上传到github。产生sshkey的命令:ssh-keygen -t rsa -C "xxx@xxx.com",然后连续三次回车(相当于设置密码全部是空),一般在c:/user/.ssh目录下得到两个文件,一个是

2017-12-28 10:07:53 234

转载 README.md文件使用

最近对它的README.md文件颇为感兴趣。便写下这贴,帮助更多的还不会编写README文件的同学们。README文件后缀名为md。md是markdown的缩写,markdown是一种编辑博客的语言。用惯了可视化的博客编辑器(比如CSDN博客,囧),这种编程式的博客编辑方案着实让人眼前一亮。不过GitHub支持的语法在标准markdown语法的基础上做了修改,称为Github Flavored Ma

2017-12-16 16:48:20 21228

转载 ffplay常用快捷键

ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持。甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面的,必须通过键盘来操作。因此本文介绍一下它的快捷键以及选项。 快捷键 播放视音频文件的时候,可以通过下列按键控制视音频的播放按键作用q, ESC退出f全屏p, 空格暂停w显示音

2017-11-28 20:30:14 1413

转载 MCP,eMMC,eMCP区别和联系

MCP──記憶體整合的濫觴MCP 為 Multi Chip Package 多晶片封裝的簡稱,是將兩種以上的記憶體晶片透過水平放置或堆疊的方式成同一個 BGA 封裝,MCP 合而為一的方式,較以往以主流 TSOP 封裝成單獨兩個晶片,節省 70% 的空間,簡化了 PCB 板的結構,也簡化了系統設計,使得組裝與測試良率得以提高。一般 MCP 組合方式有兩種:一為 NOR Flash

2017-11-28 19:55:16 34771

转载 娓娓道来c指针 (3)指针和数组

(3)指针和数组在c中指针和数组似乎有着千丝万缕的关系。其实它们不是一回事:指针是指针,数组是数组,两者不相同。说它们有关系,不过是因为常见这样的代码:[cpp] view plain copy print?int main()  {      int array[] = {1,2,3,4,5};      int n = sizeof(array) / sizeof(int);      in

2017-11-23 13:21:27 337

转载 娓娓道来c指针 (1)指针就是地址

(1)指针就是地址首先明确一个观点:指针就是地址。这是理解指针的起始一步。直观感受下,变量的地址[cpp] view plain copy print?int main()  {      int foo;      int *foo_p;      foo = 5;      foo_p = &foo;      printf(”   foo…%d\n”, foo);      printf(”*

2017-11-23 13:20:25 265

转载 【git 使用详解(7)】-- 远程仓库的使用

远程仓库的使用要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指 托管在网络上 的项目仓库,可能会有好多个,其中有些你 只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使用。

2017-10-31 21:41:47 253

转载 【git 使用详解(6)】-- 撤消操作

撤消操作接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些操作并不总是可以撤消的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。修改最后一次提交有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用--amend 选项重新提交:$ git commit --amend -m"修改 提交 说明"此命令将使用当前的暂存区域快照提交

2017-10-31 21:36:06 1016

转载 【git 使用详解(4)】-- 初体验

查看已暂存和未暂存的更新实际上 git status的显示比较简单,仅仅是 列出了(修改过的、新创建的、已经暂存但未提交的)文件,如果要查看具体修改了什么地方,可以用git diff 命令。稍后我们会详细介绍git diff,不过现在,它已经能回答我们的两个问题了:当前做的哪些更新还没有暂存?有哪些更新已经暂存起来准备好了下次提交?git diff 会使用文件补丁的格式显示具体添加和删除的

2017-10-31 21:25:54 305

转载 【git 使用详解(3)】-- 初体验

Git 基础本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数据上

2017-10-31 21:23:12 237

转载 【git 使用详解(2)】--安装

安装 Git Git 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源代码安装若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上 或者有 apt-get 的系统上,可以用下面的

2017-10-31 21:03:29 203

转载 【git使用详解(1)】-历史

版本控制系统(VCS)::有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。集中化的版本控制系统如何让在不同系统

2017-10-31 20:59:05 218

转载 【git 使用详解(5)】– get log 查看提交历史

git log  查看 提交历史在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码:git clone git://github.com/schacon/simplegit-progit.git然后在此项目中运行 git log,应该会看到下面的输出:$ git

2017-10-31 20:30:28 678

转载 【git基础】git简易入门

value GitHub 简易入门指南 GitHub 简易入门指南 <!-- END .entry-meta --><!-- BEGIN .entry --><div class="entry"> <div class="textwidget"></div> <div class="copyright-are

2017-10-24 21:55:26 288

转载 【git基础】大白话解释git和github

<h1>大白话解释 Git 和 GitHub</h1> 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念。本文不涉及代码,不用下载啥东西,循序渐进,不关注繁复细节,只有文字和一些不怎么漂亮的手绘涂鸦。写本文的动机学习任何东西都能在网络上找到如此之多的指导教程,这一直令我惊讶不已。Git 和 Github 也不例外,网络上有大量优秀资源,这些资源要么只对其中

2017-10-24 20:35:21 443

原创 【sdk驱动开发4】ps侧dma使用

待完善

2017-10-24 14:58:19 666

原创 【SDK驱动开发3】使用PS侧gpio作为中断输入

网上看到一篇文章(编写你的第一个GPIO中断程序,Run your first gpio-ps interrupt application)

2017-10-20 21:31:15 923

转载 【git相关3】分支管理

1 查看远程分支[plain] view plain copy print? git branch -a  </span></span></li><li class=""><span>* br-2.1.2.2  </span></li><li class="alt"><span>  master&nb

2017-10-19 12:46:21 253

转载 git fetch 和pull区别

原文: http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge    git fetch origin mastergit log -p master..origin/mastergit merge origin/master

2017-10-19 12:43:34 211

原创 【git相关1】一些基本命令

1.git clone ssh://用户名@ip地址:29418/fwclone后面的ssh地址一般如上图所示;2.git clone之后,可以查看当前git目录的branch版本git branch -a : 可以查看当前git的所有branch版本,带*的代表当前git目录所处的分支3.切换分支git checkout xxx(xxx为要切换到的分支版本)

2017-10-16 12:42:56 279 1

原创 【SDK驱动开发2】sdk eclipse快捷键

1.列编辑快捷键:shift+alt+A进入列编辑模式,同样的组合退出列编辑模式

2017-09-27 21:17:13 570

转载 【modelsim使用 1】打开vcd文件

很多时候,需要把VCS仿真的波形导入到Modelsim中进行观察,这个时候无法直接查看,因为Modelsim只支持.wlf波形文件,所以需要做格式转换。 VCS仿真后的波形可保存为VCD(value change dump:值变转储)文件,是ASCII格式,该文件包含设计中指定变量的取值变化信息。包括文件头信息、节点变化、取值变化。那么如何用Modelsim来打开该文件呢?用Modelsim打开V

2017-09-27 10:31:43 5905

原创 【SDK驱动开发1】中断的使用(以一个dma为例)

sdk中hw和bsp建立好后,以一个跑freertos的hello world模块开始开发,以下按照截止到20170922的经验来记录。1.首先要安排好目录结构初步想的话,本次代码大致可分为:1)一些ps侧低速接口(i2c,uart,sd)的驱动;2)交互界面的驱动;3)dma的驱动;所以app/src下,建了三个目录,分别是drivers(用于放ps侧低速接口的驱动),con

2017-09-22 20:17:43 1396

原创 【VIVADO使用2】如何手动修改hdf文件

hdf文件时逻辑工程师交给驱动工程师工作 的最重要的文件,但是有时候我们需要手动修改hdf文件,这样子驱动工程师不用再手动修改内部内容了。首先想到的是hdf文件是一个压缩包,直接解压,然后修改内容,最后再压缩就行了,但是这样子是有问题的,因为sdk读进去hdf文件时会做一个校验,猜测vivado导出的时候,会对hdf文件做一个处理。所以我找了一下hdf文件产生的过程

2017-09-21 17:52:31 10011 1

原创 【SDK使用】sdk print方式

xilinx sdk自带有很多打印函数(xil_printf, printf等),所有的打印函数其实都是调用outbyte函数(xil_printf.c)来打印信息,outbyte函数其实是调用了ps侧的uart send byte函数。如果ps侧有两个uart,outbyte如何进行选择输出呢?这个是在bsp中设置的,双击bsp下面的mss文件,然后选择modify this bsp

2017-09-20 21:30:15 11770 2

原创 待处理

1.工程中shuttermode切换,exp,again,dgain相关是否和手册配置一样。

2017-09-12 19:59:47 298

原创 【VIVADO使用1】设计流程介绍(重点是project mode和non-project mode)

1.vivado介绍vivado用于xilinx fpga的设计和验证,VIVADO除了支持传统的rtl to bitfile的设计流程(即输入是rtl代码,通过集成后,用vivado来产生bitfile),还支持了一种称为系统级集成设计流程(基于IP的设计,即可将打包好的IP(或者称为VIP)在VIVADO的block design中直接进行集成,然后产生bitfile的流程),第二

2017-09-02 11:43:21 9663 2

原创 【verilog语法】二维数组

verilog中二维数组使用有些限制,比如不能作为module的输入输出port(如果确实有需要,只能用将等效为展开的二维数组的一维数组来代替了),另外二维数据初始化时,目前看只能用读入文件的方法,或者用generate的方法对二位数据进行初始化。

2017-08-30 21:47:53 55016

原创 【verilog语法】modelsim编译verilog代码报Error:range must be bounded by constant expressions

写了一段激励代码,用for循环,依次把一个寄存器的bit[32*(i+1) : 32*i]赋值给一个axi数据总线,代码基本结构如下:integer i;initial begin    for(i=0;i        axi_wdata[31:0] @(negedge clk);    endend用modelsim仿真后,报range must

2017-08-30 21:41:11 5803 2

原创 fpga non-project模式下使用

vivado支持脚本模式运行,tcl脚本运行模式更便于自己对vivado运行过程及后续优化有更大掌握,参考了hs的脚本,还是感叹这么小的公司流程做的确实不错,和z,hw这些大公司都有一拼。可参考的文档有ug835(专门讲tcl命令),ug888和ug892(讲流程),以及hs提供的平台。后续需要完善。

2017-08-30 12:08:04 990

转载 从面向过程到面向对象

改变思维 曾经在学校学习数据结构课程时,第一节课上,老师就告诉我们:程序=数据结构+算法。这句话对我后来学习数据结构起了很大的作用,积极的作用。 可是后来学到C++面向对象部分时,这句话让我在有些地方怎么也想不通。想了很久之后,我得出了另一个结论,在面向对象程序中,程序=对象&行为。这里我使用&,是为了说明对象与行为是关系的。行为是对象的行为,对象要对它自己的行为负责。 这种思维上的转换在从P

2017-08-28 21:08:00 763 1

转载 how to share register and bit field definitions between a device driver and the FPGA it controls

https://stackoverflow.com/questions/1585751/how-to-share-register-and-bit-field-definitions-between-a-device-driver-and-the

2017-08-24 09:51:10 351

原创 Idesignspec寄存器提取工具

idesignspec是agnisys公司设计的一个soc自动化工具,idesignspec可以在windows和linux操作系统下使用,windows下面可以做成office(doc,excel等)的插件,通过插件,可以快速生成寄存器文档,以及根据寄存器文档生成想要的文件(例如apb,ahb,axi,avalon总线以及配置寄存器读写 的verilog或vhdl代码,以及仿真验证需要的一些文件

2017-08-23 21:48:22 2172

转载 ral2html-寄存器文档工具

介绍一个比较有用的小工具: ral2html【应用行业】ASIC芯片开发、基于FPGA的产品开发等。 【功能】自动生成CPU寄存器手册文档,文档格式为html,支持左侧书签。工具可将CPU全部地址空间的模块寄存器定义、memory空间定义,全部整合到一个文档中,方便开发过程中检索查找。而且源输入格式为纯文本,方便版本管理工具对比版本差异每

2017-08-22 22:17:12 1392

原创 idesignSpec和IsequenceSpec工具相关

和我们国外同事交流中,感觉国外同事(至少是我目前接触到的)在工具自动化方面做得比较好,一个例子如下:1.逻辑开发和驱动开发同事之间寄存器的交互其实公司其他比较专业的部门也用到了一些自动化工具来提取rtl代码中的寄存器信息(挂在apb,ahb,axi总线上),据其中一个同事介绍,比较流行的一个工具是agnisys公司推出的idesignspec,据说可以用这个工具提取出代码中的寄存器信息以及

2017-08-22 21:21:44 1176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除