自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Enjoy Coding

Enjoy Coding & Game

原创 MQ消息队列中间件介绍及IoT领域应用

为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么...

2020-03-12 20:46:24 107 0

原创 Keras使用多GPU训练模型、保存、加载

多GPU训练可以在一定程度上提高训练的效率,Keras在以TensorFlow为底层的时候,可以方便的调用多GPU进行训练。其训练的原理是将一个神经网络在多块GPU中进行初始化,并且将一个batch的数据分配到不同的GPU中,反向传播结束后,再使用CPU进行合并更新参数。举个例子,同时使用两块GP...

2020-04-21 16:00:04 219 0

原创 C++11内存对齐之std::aligned_storage与alignas与alignof

1. std::aligned_storage 可能的源码实现: // PR c++/56859 // { dg-require-effective-target c++11 } template<unsigned size, unsigned alignment> str...

2020-03-26 16:52:45 333 0

原创 C和C++11的std::assert

C语音的static_assert: C++11的static_assert: 示例代码: #include <type_traits> template <class T> void swap(T& a, T& b) { s...

2020-03-26 16:25:52 76 0

原创 C++11之std::ratio

今天在写代码,遇到了需要将std::chrono::duration转换到timespec,需要得到秒和纳秒,于是乎,我想到用std::nano::den(std::ratio<1, 1000000000>的别名)来做为纳秒求余的分母。 std::ratio的定义在<ratio...

2020-03-26 16:14:46 74 0

原创 C++11之thread_local

C++11标准加入了thread_local这个修饰符,支持每个线程,拥有被thread_local修饰的全局变量的一份拷贝。

2020-03-26 12:41:24 182 0

原创 C++17的inline variable

我们在C++的头文件中,定义一个变量,比如: int global_var = 10; 在多个.cc里面#inlucde这个头文件,编译会报”重复定义“的错误,而如果定义的是一个常量,比如: const int global_const = 10; 却不会报错,这是为什么呢? C++...

2020-03-25 20:10:56 73 0

原创 为什么STL的容器提供了top和pop两个函数,而没有合并成一个函数?

STL的stack、queue等容器,提供了top和pop两个独立的函数,而没有合并成一个函数,这是为什么呢? 首先,有一点很重要,即使容器为空,pop也是不会抛出异常的,这可能是由于STL希望自己的适用场景更加广泛,对于嵌入式等C++代码以及向前兼容的代码,不要求一定要用try catch写代...

2020-03-17 16:31:58 40 0

转载 AOP 面向切面编程

什么是AOP? AOP全称Aspect Oriented Programming意为面向切面编程,也叫做面向方法编程,是通过预编译方式和运行期动态代理的方式实现不修改源代码的情况下给程序动态统一添加功能的技术。 AOP技术利用一种称为“横切”的技术,剖解开封装对象的内部,将影响多个类的公共行为...

2020-03-17 12:04:31 46 0

转载 Defensive Programming 防御式编程(Defensive Programming)

Defensive Programming 防御式编程(Defensive Programming)是提高软件质量技术的有益辅助手段 怎么理解呢?防御式编程思想的理解可以参考防御式驾驶: 在防御式驾驶中要建立这样一种思维,那就是你永远也不能确定另一位司机将要做什么。这样才能确保在其他人做...

2020-03-14 16:20:46 74 0

原创 版本编号GA的含义:alpha->beta->RC->GA

GA General Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。 RELEASE 正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。 Stable 稳定版,开源软件有的会用stable来表示正式发布的版本。比如Ng...

2020-03-12 21:01:47 48 0

原创 StarUML画类图、时序图的使用指南

UML UML:统一建模语言(Unified Modeling Language)。在 UML 系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内...

2020-03-10 21:23:44 161 0

原创 C++语法特性cheat paper

1. explicit关键字 C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式)。 注:C++中不存在impl...

2019-10-08 20:54:54 55 0

原创 《C++11并发编程》读书笔记

1-4章 初始的C++标准在1998年发布,13年后,C++标准委员会给语言本身,以及标准库,带来了一次重大的变革。 新C++标准(也被称为C++11或C++0x)在2011年发布,带来一系列的变革让C++编程更加简单和高效。 C++标准第一次承认多线程在语言中的存在,并在标准库中为多线程提...

2019-10-08 17:44:19 97 0

原创 在VSCode中使用cmake-format插件对CMakeLists.txt文件格式化

Install and Configure cmake-format Step 1: Install cmake-format pip install cmake_formatStep 2: Install camke-format in vscodeStep 3: Set Extension ...

2019-07-10 10:09:54 2552 1

原创 海思Hi3519A串口(uart)配置和使用

2019-06-19 19:16:15 1961 1

原创 Linux串口属性设置

1.属性描述 串口属于终端设备,其接口属性用termios结构描述,如程序清单13.9所示。 程序清单13.9 termios结构 structtermios{ tcflag_tc_cflag/*控制标志*/ tcflag_tc_iflag;/*输入标志*/ tcf...

2019-06-15 13:40:07 1978 0

原创 LVDS、FPD-Link、MIPI的区别

LVDS中文名是低电压差分信号,它只是一个物理层的规范。在它的基础上有很多通信层标准,比如:FPD-Link。 FPD-Link是高速数字视频接口,主要用来传输视频数据。FPD-Link是第一次对LVDS规范的应用,由于FPD-Link是第一次对LVDS的成功使用,许多显示工程师LVDS术语来代...

2019-06-15 11:22:44 925 0

原创 MIPI CSI-2、DVP、FPD-Link III、GMSL对比

接口类型 信号线 极限速率 最大速率 抗干扰能力 适用摄像头像素 PCB layout MIPI CSI-2 串口 CLKP/N、DATAP/N 最大支持4-lane 一般2-lane可以搞定 Gb...

2019-06-15 11:01:58 2682 0

转载 嵌入式的那些通信协议

1.USART 通用同步/异步串行接收/发送器,USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。 区别于UART,UART是通用异步收发传输器,USART属于UART的增强型,在异步传输时没有啥区别,但是USART比UART多了同步传输功能,他可以为通信设...

2019-06-14 20:08:13 1405 0

原创 Andrej Karpathy的炼丹技巧

1、先别着急写代码 训练神经网络前,别管代码,先从预处理数据集开始。我们先花几个小时的时间,了解数据的分布并找出其中的规律。 Andrej有一次在整理数据时发现了重复的样本,还有一次发现了图像和标签中的错误。所以先看一眼数据能避免我们走很多弯路。 由于神经网络实际上是数据集的压缩版本,因此您...

2019-04-28 14:36:25 273 0

原创 车载以太网概述

2019-04-24 20:25:20 5452 1

原创 《Focal Loss for Dense Object Detection》论文笔记

1. 需要解决的问题    

2019-01-08 13:38:39 211 5

原创 《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文笔记

1. Training procedure refinements: 1. data augmentations 2. optimization methods. 3. loss functions   2. Baseline Training Procedure: Randoml...

2019-01-07 20:09:29 281 0

原创 海思Hi3519A SVP从入门到精通(二 NNIE开发指南)

1. NNIE介绍 NNIE 是 Neural Network Inference Engine 的简称,是海思媒体 SoC 中专门针对神经网络特别是深度学习卷积神经网络进行加速处理的硬件单元,支持现有大部分的公开网络,如 Alexnet、VGG16、Googlenet、Resnet18、Res...

2018-12-27 10:15:34 21869 24

原创 海思Hi3519A SVP从入门到精通(一 概述)

1. SVP简介 SVP(Smart Vision Platform)是海思媒体处理芯片智能视觉异构加速平台。该平台包含了 CPU、DSP、NNIE(Neural Network Inference Engine)等多个硬件处理单元和运行在这些 硬件上 SDK 开发环境,以及配套的工具链开发环境...

2018-12-26 13:39:45 6546 1

原创 海思Hi3519A MPP从入门到精通(六 视频处理子系统)

1. 基本概念

2018-12-24 20:39:27 3720 0

原创 海思Hi3519A MPP从入门到精通(五 YUV图像格式)

1. YUV简介 YUV格式有三大类:planar,packed,semi-planar。 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。 对于packed的YUV格式,每个像素点的Y,U,V是连续交叉存储的。 对于semi-pla...

2018-12-24 11:53:31 4937 3

原创 海思Hi3519A MPP从入门到精通(四 视频输出)

VO(Video Output,视频输出)模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。 1. 基本概念 3519A芯片支持的显示/回写设备、视频层和图形层见下表。 注:缩写解释 DHD0:Device HD0,超高清设备 0。 DHD1:Device H...

2018-12-21 16:47:06 4962 2

原创 海思Hi3519A MPP从入门到精通(三 视频输入)

视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口、LVDS 接口和 HISPI 接 口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据。VI 将接收到的数据存入到指定的内存区域,在此过程中,VI 可以对接收到的原始视频图像数据进行处理...

2018-12-21 10:56:32 5143 4

原创 海思Hi3519A MPP从入门到精通(二 系统控制)

系统控制根据 Hi35xx 芯片特性,完成硬件各个部件的复位、基本初始化工作,同时负责完成 MPP(Media Process Platform 媒体处理平台)系统各个业务模块的初始化、去初始化以及管理 MPP 系统各个业务模块的工作状态、提供当前 MPP 系统的版本信息、提供大块物理内存管理等功...

2018-12-21 10:40:00 4657 0

原创 海思Hi3519A MPP从入门到精通(一 系统概述)

1. 概述 海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速 开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供 MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以...

2018-12-20 18:04:28 8275 0

原创 海思Hi3519A VIDEO IO SAMPLE(Conflict MMZ踩坑)

按照手册执行即可,第一次很顺利,但是过了几天之后,我再加载驱动,报了这个错误,如下。 /mnt/smp/a53_linux/mpp/ko # ./load3519av100  -i sensor0mmz_start: 0x32000000, mmz_size: 1760M sys_confi...

2018-12-19 15:44:38 1891 1

原创 海思Hi3519A初体验(升级DEMO板开发环境,更新CPU主频)

拿到手的3519A demo板已经烧好了uboot,没有内核和文件系统,同时uboot也不是最新的。 所以需要先升级demo版的开发环境,即烧写 uboot、kernel、fs,这部分按照手册操作即可。 这里需要提一下,板子自带的uboot,CPU主频是1200MHz,最新版已经支持1500M...

2018-12-18 13:23:02 3417 1

原创 PetaLinux 2018.2 for ZYNQ 7000 Guide

Create New Project $ petalinux-create --type project --template zynq --name &lt;PROJECT_NAME&gt; Import Hardware Configuration $ petalin...

2018-10-12 11:33:16 716 0

转载 GPS和IMU(惯导)在无人驾驶中的应用

无人驾驶定位技术 行车定位是无人驾驶最核心的技术之一,全球定位系统(GPS)在无人驾驶定位中也担负起相当重要的职责。然而无人车是在复杂的动态环境中行驶,尤其在大城市,GPS多路径反射的问题会很明显。这样得到的GPS定位信息很容易就有几米的误差。对于在有限宽度高速行驶的汽车来说,这样的误差很有可能...

2018-09-28 16:46:22 15752 6

原创 国家标准《道路交通标志和标线》

限宽:公路一般是3.75、3.5m,市政3.5、3.25m;此外市政交叉口压缩车道宽度可能到3.0m,公路上的避险车道可能4.5m,不一而足。原因:个人理解,一是跟车辆外廓尺寸有关,一般小客车1.8m,大、重型车辆2.0m;二是要考虑车辆间的行车安全间距。规范:公路路线设计规范及细则,城市道路工程...

2018-08-28 10:07:48 8014 0

原创 OpenCV相机标定及距离估计(单目)

相机标定基本知识 对于针孔摄像机模型,一幅视图是通过透视变换将三维空间中的点投影到图像平面。投影公式如下: 或者 这里(X, Y, Z)是一个点的世界坐标,(u, v)是点投影在图像平面的坐标,以像素为单位。A被称作摄像机矩阵,或者内参数矩阵。(cx, cy)是基准点(通常在...

2018-06-21 15:24:50 13045 4

原创 TensorFlow 模型固化及生成TF Lite模型

convert_variables_to_constantssaver = tf.train.import_meta_graph(checkpoint + '.meta', clear_devices=True) #得到图、clear_devices :Whether or n...

2018-05-25 20:05:16 1756 0

原创 ARM Cortex-A 系列处理器天梯图

ARM Cortex-A Series ProcessorsARM Cortex A53 Versus CortexA15The Cortex A53 uses the ARMv8-A architecture to support 32-bit ARMv7 code and 64-bit AAr...

2018-05-16 18:24:57 25282 0

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