自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜风的博客

专注于嵌入式软件领域的知识学习与分享

转载 程序是怎么从代码到二进制的?——预编译

概览 从hello world说起。 #include <stdio.h> int main() { printf("Hello world\n"): return 0; } 预编译过程测试 vim hello.i , 如下: 编译过程到底发生了什么...

2020-04-25 21:35:09 192 0

原创 gcc编译选项-fprofile-arcs -ftest-coverage之代码覆盖率

前言 gcov是在代码运行时统计代码覆盖率的工具,随着gcc一起发布的。 它的使用很简单,需要在编译和链接时增加-fprofile-arcs -ftest-coverage生成二进制文件。 gcov主要使用.gcno和.gcda两个文件。 .gcno是由-ftest-coverage产生的,它包含...

2019-12-08 19:16:42 929 0

原创 内存异常实例解析(core dump、segmentation fault)

释放栈上的指针 #include <iostream> using namespace std; int test(){ int a = 100; int *ptr = &a; free(ptr); } int main(){ ...

2019-12-08 17:16:16 883 0

原创 c++ ——静态成员变量和静态成员函数

c++ 静态成员变量用static 关键字来声明,是整个类的数据成员,其存储不占用某个具体对象的空间,其存储在静态存储区。 c++ 静态成员函数用static 关键字来声明,用于处理静态成员变量,可以用类名来调用,也可以用对象名来调用。 测试代码: #include <iostream>...

2019-11-24 16:03:46 537 0

原创 c++ 复制构造函数

c++ 复制构造函数的声明和定义的语法如下: class 类名{ public: 类名(形参);//构造函数 类名(const 类名 &对象名);//类内复制构造函数的声明 ...... }; 类名::类名(const 类名 &对象名){ //函数体 } 以实际的栗子进行说...

2019-11-16 22:07:21 606 0

原创 GDB调试查看内存数据

文章目录gdb查看内存数据测试 gdb查看内存数据 格式: x /nfu 说明: x 是 examine 的缩写,意思是检查。 n表示要显示的内存单元的个数,比如:20 f表示显示方式, 可取如下值: x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十进制格式显示无符号整型。 o...

2019-10-06 15:01:03 2277 0

原创 exit()函数解析

文章目录exit()函数介绍exit()和return的区别测试1测试2 exit()函数介绍 函数名: exit() 所在头文件:stdlib.h(如果是c++,头文件:#include < cstdlib >) 功 能: 关闭所有文件,终止正在执行的进程。 exit(0)表示正常退...

2019-10-06 14:02:43 64 0

原创 vim常用的高效率快捷键

前言 vim中操作的快捷键非常多,功能十分强大,当熟练实用一些快捷键,可以起到事半功倍的效果,效率提高很多。本文记录一些高效的文档修改相关的快捷键,以备使用。 vim大小写转换 格式: [开始位置] ———— 可以定位开始的位置,默认为光标所在位置 gu ———— 选择范...

2019-10-04 17:46:07 145 0

原创 c++中std::auto_ptr的使用解析

前言 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲解std::auto_p...

2019-09-28 23:26:20 302 0

原创 git使用方法

由于工作中项目开发需要用到git,所以查了一些资料,对git的使用做一些记录的总结。 git简介 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 git 常用指令 git config --global user...

2019-09-28 18:38:39 84 0

原创 caffe从零开始学习5——ilsvrc12例程学习

./python/draw_net.py ./models/bvlc_reference_caffenet/deploy.prototxt ./caffe_png/ilsvrc12.png --rankdir=LR vim ./models/bvlc_reference_caffenet...

2019-09-09 22:32:41 168 0

原创 汇编debug调试指令与解析

一、win10下debug的环境配置 参考https://ask.dobunkan.com/article-4935.html,安装配置即可,本文主要讲解debug下具体怎么使用。 二、汇编debug常用指令 指令使用示例(不区分大小写): (1)r指令 比如r 查看cpu寄存器的内容 r a...

2019-09-04 22:56:05 1910 1

转载 c++ 性能优化策略

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-27 17:12:59 239 0

转载 如何简单地理解Python中的if __name__ == '__main__'

...

2019-08-24 22:26:11 666 0

转载 Python之 import argparse模块

argparse argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需...

2019-08-24 22:01:36 4152 0

转载 python标准库之glob介绍

glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。 用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:””, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。...

2019-08-24 21:24:37 69 0

原创 caffe从零开始学习4——cifar-10例程训练及测试

前言 Cifar-10是由Hinton的两个大弟子Alex Krizhevsky和Ilya Sutskever收集的一个用于普通物体识别的数据集。DL的两大核心:数据+模型。 CIFAR-10(DataSet)这个数据集总共包含:60000张图片 1—图片尺寸:32pixel*32pixel 2—...

2019-08-24 21:21:14 62 0

原创 caffe从零开始学习3——mnist例程测试自定义数字图片

测试一张自定义的手写体数字 上面已经进行了mnist数据的训练,也对测试数据进行的测试,准确率在99%左右。那么如果我们想自己测一下一张字节手写的数字,看看他学习的是否准确,改怎么利用caffemodel权值文件呢。 下面就来测试一张自定义的手写体数字。 利用模型lenet_iter_10000....

2019-08-24 17:16:41 245 0

原创 SATA、mSATA接口定义及linux下的挂载硬盘、速度测试

SATA接口的定义 SATA电源线和数据线接口定义 SATA是Serial ATA的缩写,即串行ATA。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年确立了Serial ATA 2.0规...

2019-08-21 15:35:45 1976 0

转载 嵌入式Linux系统时间设置

Linux系统的很多功能都需要读取时间为基础。比如:日志系统需要时间戳以记录log,为后期的问题排查提供支撑;cron服...

2019-08-16 18:03:47 559 0

原创 caffe调试常见问题汇总

(1)^M文件格式问题 bash:./configure /bin/sh^M: bad interpreter: No such file or directory configure文件是dos格式的,怎么转换成unix格式的呢? 这就要用到vim的强大功能 vim configure :se...

2019-08-13 22:55:42 55 0

原创 caffe从零开始学习2——mnist手写体数字识别例程

前言 上一篇文章讲解了caffe在虚拟机ubuntu16.04中的安装教程,本文章将利用caffe架构学习其中自带的mnist手写体数字识别例程,动手学习caffe的具体使用方法。 下载数据 首先,在data/mnist目录下有个脚本文件:get_mnist.sh,其源码如下: #!/usr/bi...

2019-08-12 23:01:12 608 0

原创 caffe从零开始学习1——虚拟机下ubuntu16.04安装caffe(CPU版本)详细教程

前言 最近想自己学习学习caffe架构,毕竟这个架构使用的很广泛,所以准备在我的虚拟机上安装caffe搞搞。网上的教程已经很多,我还要写这篇文章是因为每个人安装出现的错误总是各种各样,希望我安装过程中遇到的问题可以提供一些参考,也便于自己总结出现的问题。 提示:虚拟机下不可以安装caffe 的gp...

2019-08-11 19:05:04 205 0

转载 到底什么是卷积?

转载: https://blog.csdn.net/hxg2006/article/details/79626288 ...

2019-08-11 11:22:50 14748 5

原创 编译常见问题集

1.编译报如下警告: warning: incompatible implicit declaration of built-in function ‘memset’ [enabled by default] 原因:调用了memset,用于初始化内存中的数据,但是没有指定memset这个函数来自于...

2019-08-06 12:15:22 85 0

转载 G711(G711a+g711u)编码原理及代码

G711编码的声音清晰度好,语音自然度高,但压缩效率低,数据量大常在32Kbps以上。常用于电话语音(推荐使用64Kbps),sampling rate为8K,压缩率为2,即把S16格式的数据压缩为8bit,...

2019-08-05 17:48:11 3863 0

原创 Linux--Valgrind工具内存泄露检测和性能分析

前言 内存泄露是我们在调试程序时经常遇到的问题,内存泄露分析软件也比较多,本文主要分析Valgrind工具的使用。 Valgrind的简介及安装 Valgrind官网下载: http://valgrind.org/downloads/current.html#current 目前最新版是valgr...

2019-08-03 23:01:40 447 0

转载 UFS和eMMC简介与区别

我们知道,我们电脑由三大件组成:CPU,内存和硬盘。CPU用以计算和控制,内存用以临时存储程序运行时所需的数据(掉电数据丢失),而硬盘用以长久保存数据(掉电数据不丢失)。 我们每天使用的手机,其本质是一个移动的小型计算机,同样由三大件组成:CPU,内存和存储设备。其中的存储设备相当于电脑的硬盘,用...

2019-07-16 13:44:18 12077 2

转载 深入PCI与PCIe之一:硬件篇

最近在学习驱动开发过程中涉及到PCI相关知识,在网上看了很多文章,良莠不齐,我总结一下比较好的文章分享给大家,那就从源头开始说起。PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。虽然Intel为了方便各种IP的接入而提出IOSF总线...

2019-07-10 10:03:30 3965 0

转载 视频编码中的块效应、振铃效应和呼吸效应分析

来源 https://blog.csdn.net/SoaringLee_fighting https://blog.csdn.net/SoaringLee_fighting/article/details/80639732 Date: 2018.5.28 1、块效应: (1)概念: 主要是由视频图...

2019-07-04 18:31:50 1191 0

转载 详解HDR的三个标准——HLG/HDR10/Dolby Vision

HDR的三大标准:HLG(Hybrid Log Gamma);HDR10;Dolby VisionHLG:HLG的全称是Hybrid L...

2019-07-01 10:40:42 3008 0

原创 Hi3516a——HDMI接口获取数据后编码保存

前言 本文章将从基础本的例程出发,分析海思提供的应用案例 调试背景 : hi3516a开发板通过HDMI接口获取BT1120数据后进行编码,然后进行本地保存。 硬件平台:hi3516a 软件平台:Hi3516A_SDK_V1.0.5.0 无私分享,从我做起! 源码解析 /*************...

2019-06-15 22:52:33 1498 0

原创 ubuntu16.04安装ffmpeg最新版

前言 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。 支持库的安装 sudo apt-get install -y auto...

2019-05-30 20:43:47 12804 4

原创 hi3516a——RTSP播放H.264视频流(2)

前言 由于hi3516a海思自带的开发应用程序是通过摄像头接口或HDMI接口获取视频数据后并进行存储。然而,在实际应用中,多是获取数据后直接通过网络把数据发送出去。那么本文章将开始学习hi3516a获取数据后通过网线和RTP协议把数据实时发送出去。 背景:hi3516a开发板通过HDMI接口获取B...

2019-04-28 09:58:23 1065 2

原创 Hi3516a——h265 Nalu类型详细解析

前言 在海思自hi3516a带的开发固件中,有H265编码的实例,在SAMPLE_VENC_1080P_CLASSIC(HI_VOID)应用实例中有涉及,那么本文将对H265的nal头和nalu的类型进行相关解析。 h265 Nalu类型解析 F F:必须为0,表示有效;为1的话表示无效。 T...

2019-04-26 13:25:45 1976 0

原创 hi3516a——RTSP播放H.264视频流(1)

前言 由于hi3516a海思自带的开发应用程序是通过摄像头接口或HDMI接口获取视频数据后并进行存储。然而,在实际应用中,多是获取数据后直接通过网络把数据发送出去。那么本文章将开始学习hi3516a获取数据后通过网线和RTP协议把数据实时发送出去。 背景:hi3516a开发板通过HDMI接口获取B...

2019-04-25 11:27:35 1820 5

原创 hi3516a——H.264数据包 封包为 RTP数据包(附封包源码和详细解析)

前言       ~~~~~~      由于调试HI3516A进行RTP流媒体播放时,需要清楚怎么把H.264数据包 封包为 RTP数据包并发出去。本文章将详细解析H.264数...

2019-04-24 16:35:18 918 0

转载 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq  结构体struct ifconf来获取网络接口的各种信息。 ioctl 首先看ioctl()用法 ioctl()原型如下: #include <sys/ioctl.h&...

2019-04-21 18:11:38 212 0

转载 Linux的SOCKET编程详解

Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道...

2019-04-19 10:21:37 257 0

原创 hi3516a——base64编码解析

前言 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。网上看到两篇文章总结的不错,可参考以下两文章。 https://www.cnblogs.com/libin-1/p/6165485.html https://ww...

2019-04-18 16:15:10 211 0

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