自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 typra + picgo + 腾讯云 配合使用编辑微信公众号内容

文章目录腾讯云配置picgo配置使用方式我一直都是使用markdown来记录笔记的,但是都是本地操作,没有上传到网上。最近想把自己的一些笔记上传并且做一个分享,另外一方面是对自己学习的只是进一步加深一些理解。过程中遇到的一个问题是这样的。我希望自己的markdown笔记(使用的为知笔记+typra)直接复制就能在公众号上面上传,不需要再改什么格式之类的,但是发现下面两个问题发现微信公众号不支持markdown格式的输入。markdown笔记复制过来图片都无法找了。问题一首先我们来看一下

2020-06-13 17:21:14 391

原创 LINUX QT移植到ARM (zynq平台 qt5.4.1)

LINUX QT移植到ARM (zynq平台 qt5.4.1)1.安装tslib2.安装QT5.4.12.1下载QT5.4.12.2解压2.3修改配置文件替换自己的编译器2.4配置2.4配置2.5 make2.6 make install3 配置ARM3.1 拷贝文件到arm上3.2 配置ARM环境4 运行4.1可能出现的问题4.2可能出现的问题1.安装tslibtslib1.4可以在网上下载...

2019-06-15 13:20:19 3455 1

原创 碎片化时代如何管理知识,如何记笔记

碎片化时代如何管理知识和记笔记

2023-03-07 17:36:56 765

原创 xilinx axistream VIP使用说明

xilinx axistream VIP使用说明

2023-01-03 19:58:47 529

原创 vivado怎样改变.gen文件夹

vivado在2020版本之后所有的IP默认会放在.gen文件夹内,方便版本管理,但是当我们希望将IP放在其他地方单独管理的时候就有些不方便。

2023-01-03 16:23:20 915

原创 recovery time和removal time

什么是recovery time和removal time

2022-11-20 15:38:54 281

原创 同步复位和异步复位的优缺点

同步复位和异步复位的优缺点

2022-11-20 15:34:48 173

原创 异步复位同步释放电路为什么能避免亚稳态

第一级存在亚稳态的可能性,因为输入是高,输出是低,存在跳变的情况。复位信号有可能在时钟的上升沿处撤销,不满足recovery时间,导致产生亚稳态现象。第二级不存在亚稳态的可能性,因为复位在撤离时输入为低,输出也为低,不存在跳变的情况,因此不存在亚稳态的现象。

2022-11-18 09:44:44 409

原创 systemverilog fork join for loop

为了使用for循环实现多个线程并行执行automatic int k = j; 必须在begin end 外面否则每次k都等于4module automatic test; initial begin for (int j = 0; j < 3; j++) fork //begin automatic int k = j; // k = j; $write (k); //end join_non

2021-08-23 21:09:12 612

原创 花生壳内网ssh tcp/ip连接

设置映射按照下面的放射设置映射。可以不是本机的IP只需要是局域网内的IPssh登陆可以通过SSH来登陆远程服务器这里可以使用域名或者使用IP地址IP地址可以在花生壳软件上面点击诊断然后就可以了。接着就可以通过这个IP来访问服务器了tcp连接也可以使用IP来连接相应的服务器。...

2020-08-05 11:06:48 4293 1

原创 QT 右击菜单

QWidget及其子类都可有右键菜单,首先设置QWedget与右键菜单有关的函数setContextMenuPolicy(),属性对应项为contextmenuPolicy;Qt::DefaultContextMenu它是利用右键菜单事件contextMenuEvent()也就是需要重写contextMenuEvent( QContextMenuEvent * event )函数void SProjectTreeWidget::contextMenuEvent(QContextMenuEven

2020-07-29 18:00:03 234

原创 QT 属性系统

属性系统属性基础属性和数据成员相似。他们的差别在于存取的方式不同,比如属性值通常使用读取函数(get)和设置函数(set)来存取。除此之外QT还有其他方式存取属性值。在QT中属性和数据成员是两个不同概念,他们可以有联系也可以没有联系。比如名为a的属性和数据成员a,他们名称相同,但是完全不想管。属性值可以通过下面的方式存取可以使用 QObject::property 和 QObject::setProperty 函数进行存取属性还可以通过元对象系统的QMetaObject来存取若属性有相关联

2020-07-29 10:56:04 303

原创 QT元对象系统

Qt的元对象系统元对象系统功能:对象间的信号和槽机制。运行时类型信息和动态属性系统。使用元对象需要满足的条件必须继承自QOBJECT在类声明区域添加Q_OBJECT宏。用于启动原对象特性。元对象编译器(MOC)为每个Qobject的子类,提供实现元对象特性所必须的代码。元对象的反射机制反射机制指的是在运行时,能获取任意一个对象的所有类型、属性和成员函数等信息的一种机制。QT中使用一系列类来实现反射机制。其中QMetaObject类描述了QObject及其派生类

2020-07-29 09:51:53 485 1

原创 QEvent

简述QEvent 是其他所有event类的基类,事件对象包含事件参数。QT的主事件循环(QCoreApplication::exec()) 从事件队列中获得窗口的事件,把他们转换为QEvent ,然后分发给对象。一般来说,事件来自底层的窗口系统(spontaneous() returns true),但是我们也可以通过QCoreApplication::sendEvent() 和QCoreApplication::postEvent() 来手动发送事件。对象收到事件后会调用QObject::even

2020-07-27 17:46:40 213

原创 Q_DECL_EXPORT使用 共享库.md

用于客户端使用的共享库(如应用程序或其他库)中包含的符号——函数、变量或类——必须以特殊方式标记。这些符号被称为公共符号,它们被导出或公开可见。其余的符号从外部不应该可见。Q_DECL_EXPORT:必须添加到编译共享库时使用的符号声明中。Q_DECL_EXPORT:在编译使用共享库的客户端时,必须将Q_DECL_IMPORT添加到符号声明中。在QtCreator+Qt的情况下用MinGW编译出来一般有.dll和.a,假如编译出来一个myplunge.dll,那么另外一个.a文件就是libmypl

2020-07-27 14:26:46 3923 1

原创 《C++设计模式之基于qt4开源平台开发框架》之关键字static

static成员或者static函数在类图中通常是使用下划线表示的。每一个static成员必须在类定义之外初始化。在代码块中定义的static变量只会在第一个执行时初始化。int nextNumber(){ int a(24); static int b = 100; qDebug() << a+b; return b++;}int main(int argc, char *argv[]){ QCoreApplication a(.

2020-07-24 10:13:41 171

原创 《C++设计模式之基于qt4开源平台开发框架》之 const *和*const 的使用方法

type* const ptr = &vbl;//表示ptr这个指针的地址不可以改变const type* ptr = &vbl;//表示ptr指向内存的内容不可以改变 type* const ptr==>type* (const ptr) 可以记为ptr这个指针是constconst type* ptr==>const (* ptr) *ptr指的是 ptr指针指向的内容为const...

2020-07-23 17:47:49 117

原创 QWT常用类说明

目录文章目录目录QwtPlot常用函数接口常用组件QwtPlotLayout常用函数接口QwtPlotCanvas常用函数接口QwtPlotGrid常用函数接口QwtPlotCurve常用函数接口QwtPlotZoomer常用函数接口QwtPlot2D的绘图窗口常用函数接口接口功能setTitle( “” );设置标题setCanvas设置画布setAxisTitle( QwtPlot::yLeft, “” );设置坐标轴标题insertLegend(

2020-07-23 15:30:45 882

原创 设计模式(八)之工厂方法

定义一个用于创建类的接口,让子类决定实例化哪一个类。使得一个类的实例化得到延迟。案例下面是一个计算器的案例,不满足开闭原则,我们需要对它进行优化//加法class OperationAdd{private: double _numberA; double _numberB;public: OperationAdd(double a , double b):_numberA(a),_numberB(b){} double getResult(){

2020-07-18 15:28:01 92

原创 设计模式(七)之桥模式

案例:​ 现在需要在PC和Mobile两个平台实现相关的业务。首先看一下简单的方案,直接通过类的继承来实现。缺点:但是这个方案不满足开闭原则,当我们需要添加一种平台或者说添加一种业务实现的方案会使得类增加非常多。class Messager{public: virtual void Login(QString name , QString psswd) = 0; virtual void SendMessage(QString msg) = 0; virtua

2020-07-18 11:26:21 123

原创 设计模式(六)之装配模式

使用继承的方法,如果职责划分不清晰,子类会急剧膨胀。动机过度使用继承的方式会出问题案例对各种流需要读写等。第一种方式直接采用继承的方式 只要再加一个网络数据流那么就会发生类爆炸class Stream {public: //读数据流 virtual char Read(int num) = 0; //写数据流 virtual void Write(char data) = 0; //定位数据流 virtual void Seek(int po

2020-07-17 15:26:49 1704

原创 设计模式(五)之观察者模式

动机我们可能需要构建一种通知依赖的关系。一个对象状态发生变化的时候,会通知所欲依赖的对象。观察者模式class Observer { //更新public: virtual void update() = 0; virtual ~Observer(){} QString mName;};class Subject { //观察者数组 protected: QVector<Observer*> oVector;

2020-07-17 15:25:01 105

原创 设计模式(四)之策略模式

技巧:如果代码中使用到if else 语句的时候就可以使用策略模式,但不是说都适合策略模式,如果条件的个数是固定的,比如说一周有七天,每一天执行不同的操作,就不需要使用策略模式。如果条件的个数是不一定的或者说后面需要添加的,这种情况下就可以考虑使用策略模式。优点:1.当if else很多的时候,使用策略模式可以使得代码执行的效率提高。if else 其实只有一种情况被执行,其他的代码其实都是没有用到的。2.可以动态的去添加新的功能 ,而不需要修改代码案例:不同国家的税法不同的计算方式第..

2020-07-17 15:23:50 118

原创 设计方法(三)之模板方法

定义:一个操作中的算法骨架稳定,可以将一些步骤延迟到子类中。子类不改变一个算法的结构而重写该算法的某些特征。类图案例:应用程序需要调用一个库的几个方法 完成一个相对来说比较固化的算法处理流程。第一种方式没有使用模板方法。class Template_Lib{public: Template_Lib(){} void step1(){} void step3(){} void step5(){}}; class App{public:

2020-07-17 09:22:23 103

原创 设计模式(二)之单例模式

在整个软件系统中,某个类智能存在一个对象实例,并且该类只提供一个获取对象实例的方法。单例模式有8种方式:1.饿汉式(静态常量)请注意这行代码,在类装在的时候已经实例化了。这样来避免构造类的时候线程同步的问题但是这样也会造成内存浪费的问题,因为及时不使用的时候也会去构造这个类。Singleton * Singleton::single = new Singleton;class Singleton{public : static Singleton* GetSingleton(voi

2020-07-16 20:29:13 78

原创 设计模式(一)之七大原则

文章目录单一职责原则接口隔离原则依赖倒转原则里氏替换原则开闭原则迪米特法则合成复用原则单一职责原则一个类只负责一个职责如果逻辑简单可以在方法这一级别上保持单一职责案例 :设计一种交通工具run方法第一种 所有交通工具设计成一个类class Single_Rseponsibilty1{public: Single_Rseponsibilty1(); void run(QString str){ qDebug()<< str <<

2020-07-16 08:22:59 256 1

原创 linux内核head.S分析

文章目录1.1内核链接脚本分析出内核第一条指令1.2head.s的分析1.3内核为什么在一开始不用C,而是先用汇编语言再跳转至C程序1.1内核链接脚本分析出内核第一条指令链接文件怎么读可以参考下面的文章https://blog.csdn.net/zhjica/article/details/52995536路径:arch/arm/kernel/vmlinux.lds.S 部分内容如下OUTPUT_ARCH(arm) 输出文件的架构ENTRY(stext) 指的是执行的第一条指令的地址,这个是

2020-06-18 20:27:56 1523 1

原创 使用SourceInsight高效阅读linux内核源码

1.使用SourceInsight为linuxn内核设置条件编译解析使用SourceInsight看内核源码的时候往往添加工程文件有很多不需要关心的文件也被添加进来,很多宏被注释掉了,我们也不想看到。参考了一些文章后总结了一下方法提高阅读的效率。效果图如下所示下载脚本之后,在命令行运行lkc2sicx.py脚本转换配置。用法示例:$ ./lkc2sicx.py -s kernel.example.config -d example配置SourceInsight选择ProjectSe

2020-06-17 16:12:17 1821

原创 使用QEMU调试linux 内核

安装ARM GDB工具sudo apt-get install gdb-arm-none-eabi我这里使用的版本是5.4安装qemu工具sudo apt-get install qemu libncurses5-dev gcc-arm-linux-gnueabi build-essential编译内核export ARCH=armexport CROS.

2020-06-12 13:26:26 286

转载 /dev/mem可没那么简单

/dev/mem可没那么简单 转载 ...

2020-03-06 14:23:39 537

原创 system verilog 学习笔记(一)之数据类型

数据类型内建数据类型logic 类型四值数据类型,基本上可以替换wire 或者 reg ,但是不能用在双向总线的情况。bit2值类型,只有0和1 。是无符号的int usignedintbyteshortintlongint…定宽数组可以使用 int array[0:15]也可以使用int array[16] (类似于C语言)常量数组...

2020-03-06 13:38:16 505

sourceinsight_gen.rar

SourceInsight高效阅读linux内核源码脚本。使用SourceInsight看内核源码的时候往往添加工程文件有很多不需要关心的文件也被添加进来,很多宏被注释掉了,我们也不想看到。参考了一些文章后总结了一下方法提高阅读的效率。

2020-06-17

高速PCB设计

高速PCB设计帮你解决pcb设计问题,高级布线技巧详细介绍,

2014-05-18

空空如也

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

TA关注的人

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