自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ZYNQ 实现PL动态重构

载入准备好的bin 文件,选择一个DDR起始地址,这里填入0x3000000(其他地址也行,但不能大于0x4000000),如果不是很清楚就填0x300000,size填入bin文件的字节长度,所谓重配置,即在当前硬件比特运行期间,有一份新的比特通过网络、串口等等其他方式传输到平台,平台将其存储在Falsh、DDR等外部存储介质中,随后将硬件在不断电的情况下配置成新的比特流。下载程序,勾选program FPGA,可以看到led以比较慢的频率闪烁,按下按键,led以比较快的频率闪烁,PL重构成功!

2023-08-19 10:42:32 645 2

原创 HDMI发送驱动

该项目总体框架如下图所示,由 VGA 控制器,将图片源传来的数据转为 R、G、B 三个通道,每个通道的数据位宽均为 8bit,然后由 8B/10B 模块将 8bit 数据转为 10bit,此目的主要是为了保证直流平衡,最后由并行转串行模块将 10bit 数据转成串行的差分信号,并输出到 FPGA 的引脚端。时钟源可以由固定的数据替代,即 10’b11111_00000。所以主要有三个部分:VGA控制、8bit转10bit、并行转串行。

2023-08-09 08:36:22 106 1

原创 ZYNQ AMP 双核驱动和软中断

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2023-07-05 17:55:45 425 1

原创 FPGA状态机一次搞定

文章目录一、构造函数:类名(){}1、概念2.分类二、析构函数:~类名(){}1.概念2.特征一、构造函数:类名(){}1、概念类对象被创建的时候,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员2.分类无参构造函数有参(无默认值)的构造函数复制构造函数(拷贝构造函数)直接看代码:#include <iostream>using namespace std;class Person {p

2021-08-29 16:25:17 293

原创 C++智能指针

智能指针在C++指针向来是最令人头疼的事情,我们来看一个栗子。#include <iostream>#include <string.h>#include <unistd.h>using namespace std;class Person {public: Person() { cout <<"Pserson()"<<endl; } ~Person(){ cout << "~Person()"<&

2021-08-29 15:46:51 123

原创 C++多态

多态多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数举个栗子:英国人吃饭用刀叉、中国人吃饭筷子。中国人、英国人都是人类这个基类的派生类。当我们问这个人用什么吃饭时,我们往往要确定这个人是哪里的人再来确定他用刀叉还是筷子吃饭说什么都不如写代码来的明了。#include <iostream>#include <string.h>#includxe &

2021-08-29 15:29:58 71

原创 C++继承

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-08-29 15:18:17 64

原创 C++ 引用

前言引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。文章目录前言一、C++ 引用 vs 指针二、创建引用三、引用通常用于函数参数列表和函数返回值一、C++ 引用 vs 指针不存在空引用。引用必须连接到一块合法的内存。一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在 任何时候指向到另一个对象。引用必须在创建时被初始化。指针可以在任何时间被初始化二、创建引用我们可以为 i 声明引用变量,

2021-08-29 14:40:22 72

原创 C++重载

重载在C++中,可以同时出现几个函数名相同,传入参数不同的函数,调用时编译器会根据传入的参数选择对应的函数。这样说可能有点绕,其实非常简单,举个栗子就明白了。```cpp#include <iostream>using namespace std;int 5(int a, int b){ cout<<"add int+int"<<endl; return a+b;}int add(int a, int b, int c){ cout<

2021-08-29 14:22:11 62

原创 C++类名空间

类名空间大家试图想一下这个问题,如果在一个公司,很多人协同完成一个工程,这么多的程序员必定会有人命名相同的函数名。这种情况怎么办呢?一个个把函数名改成 不一样的嘛?这样当然不行,工作量太大了,为了解决这个问题便有了类名空间。下面我们举个栗子来说明如果下面两个中都有 void printInf(void) 这个函数,我们只需给它定义一个类名空间,就像这样子:namespace A { void printInf(void) { ... }}namespace B { void print

2021-08-29 14:18:09 135

原创 C++类的引入

C++类的引入 我们往往会遇到这样的情况,需要用代码描述一个人时,这个人有很多特征,比如他有自己的姓名,有年龄、有工作等等,这么多特性我们是定义一个个的字符串数组吗?这种方法当然可以,但是稍微有编程经验的人都会发现这种方法并不好。根据已有的c语言基础,我们可以想到用结构体来表示这一系列“人的特征”,结构体中还可以定义一系列相关的函数。struct person { char *name; int age; char *work; void printInfo(void) { printf

2021-08-29 11:29:52 646

原创 蓝桥杯——温度记录器

自己写的程序,放在这里希望大家能够检查出不足,大家共同进步!直接上代码(为了减少文章长度官方提供的部分代码不贴出来)onewire.cunsigned int rd_temperature()//读取温度{ unsigned char low,high; init_ds18b20(); Write_DS18B20(0xcc); Write_DS18B20(0x44); init_ds18b20(); Write_DS18B20(0xcc); Write_DS18B20(0xbe)

2020-10-11 21:49:45 971

ZYNQ 实现PL动态重构

ZYNQ 实现PL动态重构

2023-08-19

空空如也

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

TA关注的人

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