自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 比赛资料——时序约束

文章目录一、什么是时序约束二、为什么需要做时序约束三、建立时间tsu四、保持时间th五、时钟偏斜slew五、时钟抖动jitter一、什么是时序约束时序约束和时序分析,在FPGA设计当中,是相当重要的基本功。时序是指时间的先后顺序。在绝大多数的数字电路当中,都是依靠时钟来驱动各种电路工作的。时钟就像个领导一样,告诉各种电路,在什么时刻做什么事情。做的事情也是有先后顺序的,如果你不按常规出牌的话,就会出错,然后被领导骂了。校规就是一种约束,叫你不要逃课,你就不要逃。告诉各种电路,要按照我安排的先后顺

2022-01-05 14:50:30 576

原创 数据结构——堆排序

文章目录一、什么是堆排序二、堆排序的基本思想1.将无序序列构建成一个大顶堆。三、堆排序的代码实现一、什么是堆排序堆是一种数据结构,一种叫做完全二叉树的数据结构。这里我们用到两种堆,其实也算是一种。大顶堆:每个节点的值都大于或者等于它的左右子节点的值。小顶堆:每个节点的值都小于或者等于它的左右子节点的值。如上所示,就是两种堆。二、堆排序的基本思想堆排序的基本思想是:1、将带排序的序列构造成一个大顶堆,根据大顶堆的性质,当前堆的根节点(堆顶)就是序列中最大的元素;2、将堆顶元素和最后一个元.

2022-01-05 14:40:49 530 1

原创 数据结构——哈希表

文章目录一、哈希表是什么?二、特点三、应用四、时间复杂度五、查找步骤六、优缺点一、哈希表是什么?哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。记录的存储位置=f(关键字)这里的对应关系f称为散列函数,又称为哈希(Hash函数),采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表(Ha.

2021-12-29 22:49:20 425

原创 实验笔记——Vivado仿真模拟

文章目录前言一、Vivado Simulato介绍二、功能仿真需要的文件三、具体步骤文章目录前言一、Vivado Simulato介绍二、功能仿真需要的文件三、具体步骤前言本章关于vivado仿真软件的使用介绍提示:以下是本篇文章正文内容,下面案例可供参考一、Vivado Simulato介绍Vivado Simulato是我们的仿真模拟器,用于硬件调试和判断代码正确性。Vivado 设计套件内部集成了仿真器Vivado Simulator,能够在设计流程的不同阶段运行设计的功能仿真和时

2021-12-29 22:35:42 27111 1

原创 数据结构——平衡二叉树

文章目录一、平衡二叉树定义二、平衡二叉树作用三、算法1、红黑树2、AVL3、Treap4、伸展树5、SBT一、平衡二叉树定义平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点总数的公式如下 F(n)=F(n-1)+F(n-2)+.

2021-12-20 00:00:38 342

原创 比赛笔记——硬件调试

文章目录一、硬件调试1.硬件调试的简介2.硬件调试方法简介3.逻辑分析仪二、ILA的使用1.生成ILA核2.信号调试一、硬件调试1.硬件调试的简介在FPGA开发当中,程序会遇到很多的问题,这不仅会影响到初学者学习的动力,而且如果没有一个合适的调试方法则会造成大量的时间浪费。在整个FPGA设计中,硬件调试与验证会花费超过40%的时间,有的时候远远不止40%,除此之外,低效率的调试策略可能会导致产品的发布延迟。2.硬件调试方法简介第一步:先设计程序第二步:涉及探针,探针会将我们的信号接出去,以至.

2021-12-19 23:08:04 1137

原创 Vivado使用

文章目录前言一、Vivado简介二、Vivado开发流程一、打开软件二、新建工程三、设计输入![请添加图片描述](https://img-blog.csdnimg.cn/0c84b706d62e42459c7c13fe7ef12a5c.jpg?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-c5piv5Y6f572q77yM5oiR5pyJ572q,size_20,color_FFFFFF,t_70,g.

2021-12-13 23:17:23 2041

原创 数据结构——二叉排序树

文章目录一、问题需求二、二叉排序树的定义二、二叉排序树的性质三、二叉排序树的查找四、二叉排序树的插入五、二叉排序树的删除一、问题需求当表插入、删除操作频繁时,为维护表的有序性,需要移动表中的很多记录。这时需要改用动态查找表,表的结构在查找过程中动态生成,对于给定的key值如果表中存在,则返回成功,否则插入关键字等于key的记录二、二叉排序树的定义二叉排序树又称二叉搜索树,二叉查找树,二叉排序树或是空树,或是满足如下性质的二叉树:(1)若其左子树非空,则左子树上所有的结点的值均小于根结点的值。(

2021-11-29 21:55:13 647

原创 比赛学习笔记

文章目录一、ZYNQ1.ZYNQ简介2.SOC二、PL1.PL介绍2.常用的可编程逻辑器件3.FPGA上的模块三、PS1.PS介绍2.APU3.处理器中除APU以外部分4.AXI一、ZYNQ1.ZYNQ简介Zyng-7000 All Programmable SocZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性ZYNQ旨在为视频监控,汽车驾驶员辅助以及工厂自动化等高嵌人式应用.

2021-11-29 21:06:23 3057

原创 Linux复习内容——U-boot

文章目录一、U-Boot命令行模式二、启动log分析三、使用步骤1.引入库2.读入数据四、U-Boot命令行模式1.查询命令help( ? )2.获取板子信息bdinfo3.打印字符串echo4.获取版本信息version5、md命令6、nm命令7、mm命令8、mw命令9、cp命令10、cmp命令提示:以下是本篇文章正文内容,下面案例可供参考一、U-Boot命令行模式U-Boot启动过程中会打印出“Hit any key to stop autoboot: n”,表示U-Boot正在执行倒计时,n.

2021-11-21 20:20:57 224

原创 数据结构——图的应用

文章目录一、最小生成树1.定义2.典型用途3.构造最小生成树二、最短路径1.典型用途2.解法三、拓扑排序1.有向无环图2.AOV网3.AOE网4.定义5.方法一、最小生成树1.定义给定一个无向网络,在该网络中所有生成树中,是的各边权值之和最小的那颗生成树称为该网的最小生成树,也叫最小代价生成树2.典型用途(1)欲在n个城市中建立通信网络,则n个城市应铺n-1条线路,每条路有相应的经济成本,如何选择道路,使总费用最低。3.构造最小生成树(1)Prim算法:设N=(V,E)是连通图,TE是..

2021-11-21 19:50:18 713

原创 Linux复习内容——c编程

Linux复习——c编程文章目录Linux复习——c编程一、vim编辑器1.vim介绍2.vim使用3.vim设置二、C代码编写1.创建文件2.编译代码三、Makefile1.Makefile介绍2.Makefile使用一、vim编辑器1.vim介绍vim是Linux系统自带的编辑器,它属于vi编辑器的升级版,更便于我们使用。安装命令:sudo apt-get install vim2.vim使用vi+文件名:使用vi编辑器打开文件。1、一般模式(指令模式)默认模式:用vi打开一个文件以后

2021-11-14 20:17:10 295

原创 数据结构——图的遍历

文章目录一、遍历的定义二、图的特点二、图常用的遍历三、深度优先搜索1.方法2.代码3.效率分析四、广度优先搜索1.方法2.代码3.效率分析一、遍历的定义从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每一个顶点仅被访问一次,就叫做图的遍历,它是图的基本运算二、图的特点图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点二、图常用的遍历(1)深度优先搜索(DFS)(2)广度优先搜素(BFS)三、深度优先搜索1..

2021-11-14 19:16:35 656

原创 图的存储结构

文章目录一、图的定义二、图的基本术语三、图的类型定义四、图的存储结构1、数组(链接矩阵)表示法2、链接表表示法一、图的定义在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。二、图的基本术语无向图:每条边都是无方向的有向图:每条边都是有方向的完全图:任意两个点都有一条边相邻稀疏图:有很少边或弧的图稠密图:有较多边或弧的图网:边、弧带权的图邻接:有边、弧相邻的两个顶点之间的关系关联:边、弧与顶..

2021-11-07 19:07:27 336

原创 数据结构——哈夫曼树及其应用

文章目录前言一、哈夫曼树的基本概念1.路径2.结点的路径长度3.树的路径长度4.权5.结点的带权路径长度6.哈夫曼树二、哈夫曼树的构造1.算法思想1.算法实现三、哈夫曼编码1.哈夫曼编码1.哈夫曼编码的实现四、文件的编码和解码1.编码2.解码前言哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1L1+W2L2+W3L3+…+Wn..

2021-10-31 21:34:02 1062

原创 数据结构——树形结构

本篇关于数据结构中树形结构的相关介绍文章目录前言一、树的定义二、树的基本术语1.结点2.根结点3.结点的度4.树的度5.分支结点6.内部节点7.叶子8.子结点9.父结点10.祖先结点11.树的深度12.有序树13.无序树14.森林三、二叉树的定义1.二叉树的定义2.二叉树的特点四、二叉树的抽象数据类型定义五、二叉树的性质和存储结构1.二叉树的性质2.两种特殊形式的二叉树3.完全二叉树的性质2.二叉树的存储结构3.二叉树的遍历前言数据结构笔记第五章一、树的定义树是n(n>0)个结点的有

2021-10-25 13:19:27 582

原创 数据结构——链式存储结构

文章目录前言一、链式存储结构二、相关术语1.结点2.链表3.单链表4.双链表5.循环链表6.头指针7.首元结点三、单链表1.单链表的实现2.单链表的初始化3.单链表的销毁4.单链表的清空5.单链表的长度6.单链表的取值7.单链表的查找8.单链表的插入9.单链表的删除10.单链表的尾插法前言数据结构笔记第三章一、链式存储结构结点在存储器中的位置是任意的,及逻辑上相邻的数据元素在物理上不一定相邻。线性表的链式表示又称为非顺序映像或链式映像,用一组物理位置任意的存储单元来存放线性表的数据元素,这..

2021-10-10 17:48:23 10066

原创 数据结构笔记——线性结构

文章目录前言一、线性表的定义和特点1.线性表的定义2.线性表的逻辑关系3.线性表的类型定义3.线性表的存储结构二、使用步骤1.引入库2.读入数据总结前言数据结构笔记第二章一、线性表的定义和特点1.线性表的定义线性表是具有相应特性数据元素的一个有限序列,由n个数据元素组成其中数据元素的个数n定义为表的长度当n=0时称为空表同一线性表中的元素必定具有相同特性,数据元素间的关系是线性关系2.线性表的逻辑关系在非空的线性表,有且仅有一个开始结点a1,它没有直接前趋,而只有一个直接后继a2..

2021-10-03 20:57:06 214

原创 数据结构笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、基本概念1.数据2.数据结构3.逻辑结构4.存储结构5.数据类型二、算法1.算法定义2.算法与程序3.算法特性3.算法设计要求4.时间复杂度前言数据结构笔记第一章一、基本概念1.数据1、数据元素——组成数据的基本单位2、数据——是能输入计算机且能被计算机处理的各种符号集合3、数据项——构成数据元素不可分割的最小单位4、数据对象——性质相同的数据元素的集合2.数据结构指元素之间不是独立存在的,他们之间

2021-10-03 19:52:18 373

原创 数据结构的研究内容

文章目录前言一、数据结构的基本内容1.抽象数学模型2.非数值计算3.文件系统的系统结构图总结前言数据结构与基础算法的第一章数据结构的研究内容一、数据结构的基本内容通常,通过计算机解决一个基本问题要有个三步骤。首先,将问题抽象成一个具体模型,然后是设计相关算法,最后根据算法,用一种语言进行编程调试并上机运行成功。1.抽象数学模型首先提取出操作对象,找出操作对象之间的关系,再用数学语言来描述,这就是抽象数学模型。特点:数学元素间的关系简答,计算复杂。2.非数值计算随着计算机应用领域的..

2021-09-26 20:00:37 980

原创 U-Boot命令之其它命令

文章目录一、reset命令二、mtest命令三、sleep命令四、clk命令四、其他技巧总结本篇是最后一篇,主要是关于U-Boot的一些快捷命令一、reset命令重启U-boot 重启开发板用法: reset二、mtest命令作用: 一个简单地内存读写测试命令用法:mtest [start [end [pattern [iterations]]]]常用用法: mtest start end使用Ctrl + C 终止命令的运行三、sleep命令作用:用于延时作用用法:slee..

2021-09-12 15:44:58 1436

原创 U-Boot命令之内存操作命令

文章目录前言一、md命令二、nm命令三、mm命令四、mw命令五、cp命令六、cmp命令前言本篇文章继之前文章讲解关于U-Boot的一些命令。一、md命令用于显示内存数据、查看内存数据用法: md[.b, .w, .l] address [# of objects]md.b 表示以1个字节为单位进行数据显示md.w 表示以2个字节为单位进行数据显示md.l 表示以4个字节为单位进行数据显示md 表示以4个字节为单位进行数据显示address 内存起始地址[# of obj.

2021-09-05 19:30:18 772

原创 U-Boot命令行模式

文章目录前言一、U-Boot命令行模式1.查询命令help( ? )2.获取板子信息bdinfo3.打印字符串echo4.获取版本信息version前言上篇介绍了U-Boot的启动分析,这篇文章介绍一下U-Boot的命令行模式和一些基础命令一、U-Boot命令行模式1.查询命令help( ? )直接输入help可以查看当前U-Boot支持的所有命令还可以查看某一个命令的详细用法介绍 help 命令名2.获取板子信息bdinfo用于查看板子的一些信息,譬如说DDR起始地址、大小、波特率.

2021-08-29 18:09:55 226

原创 U-Boot命令行模式

文章目录前言一、编译正点原子移植的U-BOOT二、制作BOOT.BIN启动文件前言本篇文章关于初次编译U-BOOT的过程记录一、编译正点原子移植的U-BOOT在U-BOOT源码下对U-BOOT进行编译1、导出交叉编译工具链到PATH环境变量交叉编译工具链用于编译U-BOOT源码2、配置U-BOOT源码make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-atk_7020_defconfigARCH用于指定处理器构架类型CROSS_COM..

2021-08-08 17:41:26 573

原创 ZYNQ的FSBL代码分析

文章目录前言一、创建FSBL工程二、FSBL代码分析1.对PCW进行初始化2.刷DCache缓存、禁用DCache缓存3、注册异常处理函数4、DDR读写测试5、PCAP的初始化6、读取BOOT_MODE寄存器7、逐个比较BOOT_MODE寄存器值,确定ZYNQ当前的启动方式8、加载启动镜像9、跳转到U-Boot运行地址启动U-Boot前言本篇文章关于FSBL代码的介绍和分析一、创建FSBL工程直接通过SDK创建FSBL即可二、FSBL代码分析主要是分析下FSBL工程的main函数1...

2021-08-01 22:16:00 908

原创 2021-07-19ZYNQ的启动方式

文章目录前言一、ZYNQ的启动方式有哪些?1.ZYNQ启动方式2.正点原子启动方式二、启动原理和配置方式1.启动配置2.原理分析总结前言本篇介绍关于ZYNQ的启动方式有哪些和启动原理一、ZYNQ的启动方式有哪些?1.ZYNQ启动方式ZYNQ分为两种启动模式:Master Mode(主模式)和Slave Mode(从模式)。Master Mode启动模式主要就是通过外部Flash存储设备启动的方式;譬如包括:QSPI、SD卡、NAND、Nor。Slave Mode启动模式就是通过JTAG..

2021-07-19 14:26:38 1864

原创 BOOT.BIN文件

文章目录前言一、什么是BOOT.BIN?二、BOOT.BIN头格式介绍三、通过BOOT.BIN头如何找到FSBL四、通过BOOT.BIN如何找到U-Boot和bitstream总结前言本篇关于ZYNQ启动当中的所需要的的BOOT.BIN文件的介绍一、什么是BOOT.BIN?BOOT.BIN头其实就是BOOT.BIN文件前面的一段头部数据,并且这个头部数据是按照一定格式组织在一起的,并且该头部数据能够并BootROM代码所解析。二、BOOT.BIN头格式介绍在boot.bin文件中从..

2021-07-12 21:17:41 5909

原创 ZYNQ启动流程

文章目录前言一、启动流程二、U-Boot1.U-Boot的本质2.U-Boot的作用三、FSBL1.FSBL是什么?2.FSBL和U-Boot的关系3.FSBL的启动四、BootROM1.什么是BootROM?2.BootROM的作用前言本篇文章主要讲解ZYNQ的启动流程和具体启动文件之间的关系一、启动流程对于ZYNQ平台、对于嵌入式Linux系统Linux内核由U-Boot引导、启动U-Boot由FSBL引导、启动FSBL由ZYNQ片内BootROM引导、启动二、U-Boot1..

2021-07-04 16:11:33 1422

原创 开发板测试

文章目录前言一、LED测试二、蜂鸣器测试三、按键测试四、回环测试总结前言本篇主要讲解开发板测试相关的代码和流程。一、LED测试领航者底板上共有四个红色的用户LED,从左向右依次是PL_LED0,PL_LED1,PS_LED0和PS_LED1;另外还有一个蓝色的电源指示灯。在系统启动之后,底板上的四个用户LED全部点亮。我们可以在USB串口终端中输入指令来控制开发板的6个用户LED灯的亮灭。例如下面两条命令用于点亮/熄灭底板的PL_LED0:root@ATK_ZYNQ# echo 0 &g

2021-05-30 16:10:17 824 1

原创 使用源码

文章目录一、配置petalinux工程二、配置设备树三、编译petalinux工程四、将镜像文件和根文件系统拷贝到SD启动卡总结提示:以下是本篇文章正文内容,下面案例可供参考一、配置petalinux工程1.重新导入hdf文件因为vivado工程发生了更新 一定要下载最新的资料2.配置源码的来源配置U-Boot源码来源为正点原子提供的U-Boot源码配置内核源码来源为正点原子提供的内核源码3.配置根文件系统的类型为SD Card二、配置设备树project-spec/meta-user

2021-05-15 18:29:56 387

原创 开发Linux应用程序的三种方法

开发Linux应用程序的三种方法前言一、通过SDK开发应用程序二、通过petalinux开发Linux应用程序三、通过vim开发Linux应用程序总结前言本篇文章包括三种开发Linux应用程序的方法一、通过SDK开发应用程序1.打开SDk,创建Linux应用程序工程2.编写代码3.编译代码4.将可执行文件拷贝到开发板根文件系统去执行5.SDK调试方法二、通过petalinux开发Linux应用程序1.在petalinux工程下创建Linux应用程序工程petalinux-crea

2021-05-09 18:37:58 6392 3

原创 Petalinux工程配置详情

Petalinux工程配置详情前言一、字符图形化配置界面的操作方法1.界面划分:2.按钮功能:3.快捷键:二、字符图形化配置界面中的三种配置项1.启用/禁用配置项2.多选一配置项3.可编辑的配置项三、petalinux工程配置项介绍总结前言这章内容有关于Petalinux的配置,大概了解就行,以后会有更详细的说明。一、字符图形化配置界面的操作方法1.界面划分:上面是配置菜单,可通过上下按键进行切换。下面是5个按钮,可通过左右按键进行切换,通过回车ENter按键进行触发2.按钮功能:..

2021-05-03 19:16:27 1260

原创 Linux嵌入式开发——Petalinux介绍及其使用

这一章内容是关于Linux嵌入式开发的,针对里面的petalinux进行讲解。Petalinux介绍及其使用前言一、Petalinux是什么?二、下载及其安装1.下载2.安装三、Petalinux的使用总结前言本文章主要介绍的是Petainux的介绍、安装和配置。一、Petalinux是什么?PetaLinux工具提供在Xilinx处理系统上定制、构建和调配嵌入式Linux 解决方案所需的所有组件。该解决方案旨在提升设计生产力,可与Xilinx 硬件设计工具配合使用,以简化针对Ver.

2021-04-25 17:32:55 3290

原创 2021-04-18

文章目录前言一、什么是Shell?二、使用步骤1.Shell脚本写法2.基本操作总结前言关于Linux—C语言编程的第二章内容,Shell的介绍和基本操作一、什么是Shell?在终端中敲命令,将多个Shell命令按照一定的格式放到一个文本中,那么这个文本就叫做Shell脚本。二、使用步骤1.Shell脚本写法 Shell脚本是一个纯文本文件,一行一行的开始执行,所以我们第一行一定要为特定的语句,才可以执行Shell文本。例如:#!/bin/bash2.基本操作(1)读写命令:

2021-04-18 19:18:05 51

原创 Linux入门——c编程

Linux入门篇——c编程Week01 学习记录文章目录Linux入门篇——c编程记录介绍一、vim编辑器1.vim介绍2.vim使用3.vim设置二、C代码编写1.创建文件2.编译代码三、Makefile1.Makefile介绍2.Makefile使用总结记录介绍从开始学到现在的第一篇博客,(^-^)V。一、vim编辑器1.vim介绍vim是Linux系统自带的编辑器,它属于vi编辑器的升级版,更便于我们使用。安装命令:sudo apt-get install vim2.vim使

2021-04-11 19:37:14 826 2

空空如也

空空如也

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

TA关注的人

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