自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (3)
  • 收藏
  • 关注

原创 dump-a-linux-processs-memory-to-file

https://serverfault.com/questions/173999/dump-a-linux-processs-memory-to-file

2020-11-07 15:10:00 190

原创 / # ./i2cdetect -l ./i2cdetect: line 1: syntax error: end of file unexpected

1.确认工具链是否正确。2.确实是否缺少动态库。

2020-03-09 20:27:53 677

原创 u-boot201707调试LS1046CPU的板子时串口无打印

将SFUQ(1046CPU)的boot从C600分支(2017 11) 移入到uniboot分支(src2017 07)中,移植内容主要增加了SFUQ的私有驱动, 目前,已经可以编译出u-boot.bin,移植过程中主要解决了一些未定义、重定义的变量和函数。上板子调试后,发现串口没有任何输出,通过点灯发现,init_sequence_f中的如下串口初始化相关函数已经走完了。init_baud_...

2020-02-29 22:31:23 2008

原创 linux中断初始化

Load address: 0x91100000Loading: ####################################################################################################################################################################...

2020-02-21 18:38:56 2206

原创 常用linux命令

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入sed -i...

2019-12-17 18:53:36 122

原创 内核驱动和设备匹配函数platform_match(struct device *dev, struct device_driver *drv) 解析

##驱动和设备如何配对?无论是向内核注册设备还是驱动,最终均会出发一个设备和驱动配对的过程,今天把这个如何配对的过程详细的解析下:###背景遇到了一个问题,内核启动到usb初始化控制器时,单板卡死,触发了3秒看门狗复位了。修改代码关闭看门狗,重启之后,依然卡死,但时不会重启了。怀疑是ubs控制器初始化失败,影响到了时钟中断。这里具体不讲解这个故障,在解决这个故障的时候,发现dts中并没有和u...

2019-11-15 10:57:06 1183

原创 makefile、shell:检查字符串变量是否位于列表中(GNU-make check if element exists in list/array)

字符串是否存在于列表中工作需要,需要在shell脚本中对各种开发板进行区分,起初使用if else这种方式,虽然能解决问题,但是许多有共性的单板也被分开了,其实处理流程是一样的。所以,想了半天,想通过查找单板名字字符串是否位于一个列表的方式实现。找了网上的教程,并不是特别多,所以将自己的解决办法总结下。shell脚本#!/bin/bashlist="aaa bbb ccc ddd eee...

2019-10-11 19:20:20 1913 2

原创 伸缩数组的错误用法,对于伸缩数组成员,一定要malloc内存。

##伸缩数组的错误性用法之前学习和应用数组时,在声明数组变量时,长度都是固定的,无法动态的定义数组的长度。如下:int max[]; //错误编译失败。今天在阅读一份代码时,发现使用了伸缩数组,C99标准已经支持了变长数组。如下例子:struct ipmi_loop_req_info { uint8_t resv; /* always 0 */ ...

2019-10-06 11:33:45 225

原创 i2c设备rtc时钟芯片8581的初始化

i2c从设备rtc时钟设备的初始化:[ 4.075355] Call trace:[ 4.075365] [<ffff00000808aae8>] dump_backtrace+0x0/0x270[ 4.075368] [<ffff00000808af6c>] show_stack+0x24/0x30[ 4.075373] [<ffff...

2019-08-30 16:13:31 1062

原创 ethtool网路工具内核解析流程

##内核ethtool工具源码解析###背景用户态使用ethtool工具设置网口的模式(速率,双工,协商)时,发现设置的内容和读取的内容是不一致的,以此问题为出发点,跟踪下内容ethtool的处理流程。用户态设置网口模式的方法是 linux c通过socket打开网口,封装ethtool_cmd和ifreq结构体,然后ioctl逐步陷入内核中。###用户态代码struct ifreq ...

2019-08-28 08:33:53 2099

原创 LS1046ACPU ARM架构点灯小程序

#include <stdint.h>#include <stdio.h>#include <sys/mman.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <arpa/inet.h> #define ...

2019-07-23 13:53:07 280

转载 PCIE学习资料

http://blog.chinaunix.net/uid-24148050-id-101021.htmlLinux下的PCI总线驱动PCI学习笔记http://blog.csdn.net/weiqing1981127/article/details/8031541Linux PCI网卡驱动的详细分析http://soft.chinabyte.com/os/13/12304513.sht...

2019-07-20 10:16:26 1301

原创 Linux Spi驱动子系统学习

前几天学习了Linux的I2C驱动子系统,工作需要,今天再看下spi子系统,学习这些子系统,最重要的是一定要掌握到两个思想:1.面相对象的思想,即驱动和设备的分离,便于驱动的移植,通过设备的硬件信息来实例化驱动。2.软件开发的分层思想,比如I2C子系统将I2C适配器的功能与I2C具体设备的驱动分成两个层次来实现。这样的好处不言而喻,非常便于驱动的移植。降低了I2C设备开发人员的工作量。当然,...

2019-05-15 13:39:23 1440

原创 uboot-重定位、nand norflash启动

##nand flash启动cpu无法给nand flash发送指令,因此无法从nand flash中取指令的。那么上电后,为啥依然可以从nand flash中启动uboot呢?1.硬件会自动将nand flash的代码前4K拷贝到SRAM(片内内存,steppintstone)中。CPU从SRAM的0地址中执行代码。如果uboot的代码大于4K怎么办?uboot中前4K的代码需要初始化nan...

2019-05-09 11:24:53 552

原创 Linux串口驱动阅读笔记

sccv串口驱动学习–8250.c本文主要记录学习CGEL3(基于Linux version 2.6.21.7) 中关于8250串口驱动代码的心得。代码位于Z:\CGEL3\archto\mips\sccv\drivers\serial该驱动的代码采用最传统的方式来实现对串口的支持,在最新的CGEL6内核中,已经采用设备树的方法实现,将设备和驱动分离。为了阅读的方便,打乱了常规驱动写法的顺序...

2019-05-09 10:52:34 1165

原创 Linux I2C总线、驱动、设备知识点笔记

##I2CI2C驱动三部分:I2C核心、I2C总线驱动、I2C设备驱动##I2C设备结构体 i2c-client初始化、加载流程由于每个挂载在i2c总线上的设备均会有一个i2c-client结构体,但是一直没有搞清楚,这个设备对应的结构体是怎么来的?下载这篇文章给了几种i2c-client的初始化流程。可以洗洗琢磨下。https://blog.csdn.net/lugandong/arti...

2019-05-09 10:49:59 343

原创 宏封装printf 打印出行号、函数名称

#define print_warning(fmt, ...) printf("warning@%s %d: "fmt,__FUNCTION__, __LINE__, ##__VA_ARGS__)#define print_info(fmt, ...) printf("info@%s %d: "fmt,__FUNCTION__, __LINE__, ##__VA_ARGS__)#define ...

2019-05-06 19:59:58 1349

原创 C++ const关键字的使用知识点总结

const的使用const声明一个常量在C++中,有变量和常量之分,常量在程序运行中不允许被改变,主要有两种声明方式。const关键字 const double PI=10;//声明了一个PI常量,并定义为10#define 关键字 #define PI 3.1415 //声明了一个PI常量,并定义为10由于const声明的常量是有类型的,而#define没有,所以const更

2016-12-01 13:25:54 867

原创 win10的visual studio 2015 安装opencv3.1,并且编写demo人脸检测

Face Detection Using OpenCVWhat is OpenCVOpenCV (Open Source Computer Vision) is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java in

2016-11-27 16:19:25 2070

原创 多态:编译时的多态和运行时的多态

编译时的多态#include <iostream>using namespace std;class B{public: void vf() { cout << "this is class B" << endl; }};class D :public B{public: void vf() { cout << "

2016-11-17 11:07:16 1019

原创 十进制转换为十六进制的,求素数的函数

编写了一个子函数,用于实现将十进制转换为十六进制#include<iostream>#include<cstdlib>#include<vector>using namespace std;char *decimalToHEX(int input);/函数声明int main(){// 题目 163 求100 到200之间所有的素数 /* for (size_t i = 10

2016-11-14 13:13:11 880

原创 字符数组和字符串,char 和string定义的字符串的区别与遍历

字符数组:存在字符的数组字符串 :是使用最频繁的字符数组,是一个特殊的字符数组C++中并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表示字符串的结束。char 可以定义字符数组,也可以定义字符串char 定义的字符数组char b[]={'h','e','l','l','o'};//生命字符数组,长度为5char定义字符串字符串的优势

2016-11-05 20:13:59 17918 4

原创 数组、指针数组、数组指针、动态数组、数组作为函数参数

数组作为函数参数基本知识点数组不能从函数的return语句返回,数组名其实就是数组的首地址数组作为函数参数任何数组,不论是静态数组还是动态数组,都在内存中连续存储,二维数组以行序优先存储元素参数传递的并不是整个数组的内容(性能低),而是一个同类型的指针,数组作为函数参数传递一维数组的参数作为参数时,一般要另一个参数size 来指示出数组的长度 如void output(const i

2016-10-30 11:08:53 908

转载 应聘时最漂亮的回答、回答问题技巧

摘自UC头条:http://m.uczzd.cn/webapp/webview/article/news.html?app=uc-iflow&aid=9726618234382969920&cid=100&zzd_from=uc-iflow&uc_param_str=dndsfrvesvntnwpfgi&recoid=12833513076698730312&rd_type=reco&pagetyp

2016-05-23 11:44:10 756

转载 机器学习常见算法总结(面试用)

转载自:http://blog.csdn.net/liangzhaoyang1/article/details/51463028 朴素贝叶斯 事件A和B同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生AP(A∩B)=P(A)∗P(B|A)=P(B)∗P(A|B)所以有:P(A|B)=P(B|A)∗P(A)P(B)对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个

2016-05-20 22:28:32 5871

原创 opencv删除mat矩阵的多行或者多列

opencv删除mat矩阵的多行或者多列做项目的时候需要删除选定矩阵的多行或者多列,百度了许久发现opencv里面没有这样的函数,翻墙去国外搜索一下 ,同样没有找到这样的函数,因此,自己写了一个简单的子程序。下面程序实现删除矩阵的某些列,如果要删除行,简单修改一下即可。#include<opencv2\opencv.hpp>#include<iostream>using namespace s

2016-05-20 22:07:40 8243 1

原创 opencv图像拼接,即把两个矩阵合并为一个(vconcat和hconcat)、Mat成员函数size()

Mat类的成员函数 size()当我们用size()获取一个矩阵的行数和列数时,要注意这个函数返回的结果行和列是相反的。如Mat ab(30,15,Cv_32fC1);ab.rows;返回的结果将是(15,30);opencv如何将两个矩阵按行或者按列合并在Matlab中将两个矩阵合并非常方便,按行合并,如A=[B C]。按列合并如A=[B ;C]。在opencv中貌似并不存在这样的函数,因

2016-05-03 16:20:37 34524 3

原创 提取出图像中感兴趣的部分,cvSetImageRoi已经过时,更牛逼Rect解决问题

在做人脸检测的时候,需要从摄像头拍摄视频中把检测到的人脸区域提取出来,网上找了很多博客,发现多数都是在用cvSetImageRoi函数, 使用的时候发现这个函数支持IplImage类,不能使用Mat,所以转换来转换去很麻烦,最后在国外网站(stack overflow)发现了一个用Rect 提取的方法。举个例子来说明: Mat img=imread("D:\\1研究生\\Faci

2016-04-27 21:47:04 4963 2

原创 opencv类:PCA降低数据的维度(主成分分析法的学习)

PCA降维的学习以下代码是在opencv中的函数pca.cpp的基础上进行了一些更改,主要更改体现在读取降维样本方面,并对代码加上了一些自己理解的注释:`#include <iostream>#include <fstream>#include <sstream> #include <opencv2/core/core.hpp>#include <opencv2/highgui/high

2016-04-19 15:29:41 2669 4

原创 opencv神经网络训练时的目标矩阵构建方法

在做模式识别时,应用算法神经网络或者SVM训练时,要用到目标数据,每个样本对应一个目标向量,因此142个训练样本就要有142个目标向量,想了很久,终于构建出来了,构建的矩阵为142*7,目标对应的节点为1,其余为零 方法如下: Mat labels=Mat::zeros(142,7,CV_8SC1); Mat a=labels.rowRange(

2016-04-12 14:42:50 1177

原创 opencv保存mat矩阵为TXT、XML、xls等文档的方法

opencv保存mat矩阵为TXT、XML、xls等文档的方法现在的方法主要是用类Filestorage。具体解释可以看由浅入深学习C++471页或者opencv_tutorials 181页等等 `#include<opencv2\opencv.hpp> #include<time.h> using namespace cv; using namespace std;

2016-04-12 14:38:25 7218

原创 opencv打开matlab保存的txt文件,并赋值为Mat矩阵

将matlab的矩阵保存为TXT,并用opencv读取,然后保存为Mat类型做图像分类,matlab提取的特征用于训练和测试神经网络,想要用opencv打开,想了非常久,自己都没有做出来,刚开始想用XML文档作为介质进行传输,发现比较困难,网上的方法试了试没有成功,请来了一个大神师兄,不得不佩服,几分钟用txt给我搞定了。代码如下:#include<opencv2\opencv.hpp>#inc

2016-04-12 14:29:49 3550 2

原创 opencv获取矩阵某位置元素值的几种简便方法

获取某点像素值的方法在输出像素值,不要直接用cout输出,将获得的像素幅值给一个变量,用cout输出这个变量。 1、ptr方法 mat类提供了ptr函数获取任意行的首地址,例如ptr[i]返回第i行的首地址。 例子:获取坐标【5,5】的像素值 Mat TrainData=imread(“C:\Users\andy\Desktop\特征图片.jpg”,1); uchar *d

2016-04-12 14:24:48 15294 6

原创 opencv学习笔记:一些函数、类的使用方法

sprintf函数功能把格式化的数据写入某个字符串缓冲区。1.头文件 stdio.h2.原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。返回值:字符串

2016-03-24 08:55:19 4372

原创 opencv24.9学习_创建矩阵并给矩阵幅值的几种方法

该部分主要讲解Mat类矩阵的创建并通过不同的方式来初始化。#include<opencv2\opencv.hpp>#include<highgui\highgui.hpp>using namespace std;using namespace cv;int main(){ Mat image=imread("D:\1.jpg",1); /* M(2,2,CV_8SC3,S

2015-12-29 21:19:50 1452

原创 opencv2.4.9学习:加载、修改、保存一个图片

/*加载一张图片,并转换色彩空间,然后保存*/#include<cv.h>#include<highgui.h>using namespace cv;int main(){ Mat image=imread("D:/1.jpg",1);//读取一张RGB彩色图片 //检测是够成功加载图片 if (!image.data) { printf("No

2015-12-28 21:50:47 2092

原创 opencv2.4.9学习_加载并显示一个图像

本文根据opencv2.4.9的帮助文档opencv tutorials帮助文档撰写得来。如有不明白,请参看该文档。程序中代码参考帮助文档,但对文档有一定的更改。/* OpenCV2包含不同的模块,不同的模块对应的功能不同。因此在使用的时候需要根据需求加载头文件等*/#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui

2015-12-28 20:35:28 736

原创 Opencv2.4.9+win7+VS2012一次性配置的方法--通过建立属性表永久配置

Opencv的配置对于初学者很麻烦,网上的教程也非常多,针对不同的操作系统、opencv版本、Visual studio版本都有相应的教程,但即便是按照教程一步一步来,仍然难免出错,很多教程还是一次性的配置,重新建立项目之后,还要花时间配置。琢磨了好久,发现可以通过属性表配置,现将方法记录下来,分享给网友。我的opencv安装路径为:D:\opencv,不同的路径下面设置注意按照自己的路径来更改。

2015-12-25 21:41:41 4144

原创 MATLAB知识:varargin是个什么东东??

varargin可以看做“Variable length input argument list”的缩写。在matlab中, varargin提供了一种函数可变参数列表机制。 就是说, 使用了“可变参数列表机制”的函数允许调用者调用该函数时根据需要来改变输入参数的个数。matlab中很多内建函数和工具箱函数都使用了这种机制。 比如图像处理工具箱中的imshow函数。 该函数允许我们根据图像数据特点

2015-12-22 11:01:53 2243

原创 指针笔记

指向数组的指针关于数组首先想要说明的一点是数组明其实就是数组的首地址,比如: #include using namespace std; int main() { int array[10]; cout <用指针指向数组其实就是让指针指向数组的首地址。数组指针的定义: int array[5]; int *p;

2015-12-18 13:05:43 322

用于研究面部表情的Yale表情数据库

1、该样本库由15个人组成,每个人有11张样本图片,共有165张图片。 2、表情种类,共有11种表情,每人刚好一张,具体如下: center-light, w/glasses, happy, left-light, w/no glasses, normal, right-light, sad, sleepy, surprised, and wink

2016-04-27

蜜蜂算法解决旅行商问题

蜜蜂算法解决旅行商在52个城市间的路径规划。下载后打开BA_TSP.m,并更改MATLAB的当前路径为下载文件的存储路径,运行即可。

2015-01-10

canshift算法运用opencv实现动态物体的跟踪

代码中有详细的解释,适合初学者使用,这个方法是半自动的方法,不能实现自动检测动态物体,需要手动选择运动目标!

2014-12-13

空空如也

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

TA关注的人

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