自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 韦东山之sdram

外设是cpu通过存储管理器进行控制,比如要想使用sdram,首先需要配置存储管理器/配置信息(根据sdram手册写寄存器),对于sdram,需要配置对于数据总线 32位,地址总线从 LADDR2 开始的解释:原文:https://blog.csdn.net/qqliyunpeng/article/details/51097457数据手册上提供了设计参考:图中是有说的,但是原理是什么呢?...

2019-12-30 15:04:49 29

原创 内核启动流程分析之配置

配置的结果是生成.config文件,打开这个.config文件,可以看到有很多的配置项,配置成y或M。以一个配置项:CONFIG_DM9000 为例,看一下谁在使用这个配置。搜索一下:grep 'CONFIG_DM9000' * -nR可以看到使用的包括几类:C源码: CONFIG_DM9000 一个宏,一般赋值为1 来源于include/linux/autoconf.h子目录Ma...

2019-12-30 15:03:53 21

原创 内核启动流程分析之Makefile

1.子目录的Makefile已知有文件:a.c b.c要在Makefile中设置成编译进内核,可用:obj-y +=a.o b.o 实现如果用a.c b.c 组合成一个模块ab.o呢?可用: obj -m +=ab.o ab-objs :=a.o b.o这个在Documentation\kbuild\makefiles.txt有详细说明2.架构相关的Makefile根...

2019-12-30 15:03:42 21

原创 rtl8188驱动移植 wifi工具移植

1.rtl8188EUS_linux_v4.3.0.7_12758.201411141.2

2019-12-30 14:54:31 104

原创 海思应用层如何操作GPIO 以及如何彩转黑

1.GPIO海思可以用himm来查看及修改寄存器的值,从而改变GPIO的配置,如复用、方向、查看输入值等等。但是该方法在应用层代码上并不能使用。网络上查有用GPIO操作的API,查看文档发现海思3518Ev300上执行GPIO的寄存器操作API HI_MPI_SYS_GetReg和HI_MPI_SYS_SetReg被删除了查到的还有就是查看himm源码,自己写一个,或者自己学一个GPIO驱...

2019-12-30 10:23:46 187

原创 3516 vpss通道得到yuv数据 及如何在linxu保存图片

图片出现花纹,原因在于vpss通道设置为压缩模式,改为不压缩就好了

2019-10-16 11:57:57 1327 5

原创 电机

由于电机内部电感的自感效应,一般需要在电机稳步反向并一个二极管注意:黄色框中 的R2不能去掉,因为当输入为高,N管导通,P管也导通,N管的集电极为0.3V ,12V经过P管的eb 0.7V ,相当于12V短路。上图电路中由于N三极管和P三极管响应时间不一样,比如当电机正转忽然要反转,存在上下管子同时导通的现象。为了不发生这种现象,需要管子全部关闭一段时间(四区),在打开正确的管子。电...

2019-08-15 15:37:45 2235

原创 运算放大器

基极输入一个电流让三极管工作在放大区,这样可以实现在集电极的 电压放大。分析:如上图,当基极电流比较小时,Ic也比较小,则R2上的压降小,所以C点的电压比较大,当基极电流比较大,Ic比较大,R2的压降大,C点的电压小。贝塔不是不变的,当Ic/Ib电流过大,贝塔就会下降,Ic/Ib太小的话,贝塔也会下降,贝塔最大时,Ic/Ib有一个定值。如果Ic/Ib比较小,放大信号会失真。即Ib要工作在...

2019-08-15 15:37:25 2200

原创 MOS管,推挽电路

4-1传感器转换的电信号(电压)一般很微小,需要进行信号放大,需要运算放大器波形幅值放大,上移 下移 移相比较器MOS管 三极管一般用于开关电路中电流比较小的时候传感器将模拟量转化为电信号(电压),由于电信号比较小,所以需要通过运算放大器进行电信号放大,经过一个比较器将电信号转化成方波开关信号,给开关管,控制直流有刷马达MOS管N型mos比P型mos管使用的多因为N型mos...

2019-08-15 15:36:25 5725

原创 不识心思

实际的电容可以等效为一个电容与ESR 和ESC的串联形成一个串联谐振电路谐振频率为根号下LC分子一,在谐振频率是表现为ESR电阻值,低于谐振频率表现为容性,高于谐振频率表现为感性发现ESR并不影响谐振频率,但是影响品质因子,体现在影响谐振频率的带宽。我们希望电容在一个较宽的频率范围内的阻抗要低,所以Q 不能太大。所以ESR很重要SD卡NXP的PESD3V3L4UG...

2019-08-15 15:35:33 71

原创 电源

1.分析了LDO负载功率与效率的关系,特点上图的电容用于存储电压,相当那个水池,当电压4V开关闭合充电,当电压6V开关断开放电,这样就能形成一个5V左右的电压电容没有电的时候,当开关闭合瞬间,电容充电,相当于短路,这是理论电流无穷大,称之为浪涌电流,如果加一个电阻限流的话,会使得电阻发热,一部分能量浪费,效率变低,电感对电流有阻碍作用把电阻换成电感(电感内阻约等于0)就可以了,上...

2019-08-15 15:35:05 77

原创 3516内核和根文件系统的烧写 Ckermit 的配置 与arm开发板的连接

1.出现first的问题2.connect之后没有与开发板连接上https://blog.csdn.net/u011732167/article/details/50280923

2019-08-15 15:34:30 151

原创 pca

PCA原理PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。当然我并不打算把文...

2019-08-15 15:34:12 112

原创 相机和镜头选择时的一些参数

这是我选择相机对应的镜头时搜索的一些资料。一、首先说一下传感器的光学尺寸:1/2 inch 这里的1 inch对应的是16mm而不是25.4mm。注意这里是CCD或者CMOS传感器对角线的长度。镜头对黑白等宽的测试线对图并不是无限可分辨的。当黑白等宽的测试线对密度不高的时候,成像平面处黑白线条是很清晰的。当黑白等宽的测试线对密度提高时,在成像平面处还是可以分辨出黑白线条,但是白线已不是那么...

2019-08-15 15:33:32 137

原创 MOS管

1.pmos和nmos 三个极判断2.Pmos和Nmos 识别3.pmos和nmos 寄生二极管方向判断4.电路的接法D极和S极这两个引脚一定是输入和输出,不论是pmos还是nmos,输入总是与寄生二极管的方向是相反的(输入总是与s极交叉的那个箭头方向相反)5.导通条件...

2019-08-15 15:33:07 84

原创 关于时钟线/数据线/地址线上串联电阻及其作用

1、概括高速信号线中才考虑使用这样的电阻。在低频情况下,一般是直接连接。这个电阻有两个作用,第一是阻抗匹配。因为信号源的阻抗很低,跟信号线之间阻抗不匹配(关于阻抗匹配,请看详述),串上一个电阻后,可改善匹配情况,以减少反射,避免振荡等。第二是可以减少信号边沿的陡峭程度,从而减少高频噪声以及过冲等。因为串联的电阻,跟信号线的分布电容以及负载的输入电容等形成一个RC电路,这样就会降低信号边沿的陡...

2019-08-15 15:32:47 145

原创 人脸检测123

harr 特征用于人脸检测就是把haar特征(比如边界特性,是一个矩形)放到人脸区域,白色区域的像素和减去黑色区域的像素和之差就是特征值,(积分图是为了更快速的计算出特征值)如果这个矩形不在人脸区域,其特征值肯定不一样,对于人脸检测这个值越不一样越好,这样更能区分人脸和非人脸。但是如何增加区分度,就是把不同的矩形特征组合在一起(其实这个组合就是分类器),如何选择更好的矩阵特征组合,,就是ada...

2019-08-15 15:32:16 76

原创 VS2013+OpenCV3.4.0+opencv_contrib-3.4.0 (针对编译OpenCV.sln错误)

在编译的时候看了很多帖子,感觉人家都很顺利,本人在编译过程中遇到了很多问题,记录一下:首先本人使用的原材料:opencv-3.4.0.zip ,提取码:nbfgopencv_contrib-3.4.0.zip,提取码:wz4lVS2013_ultimate,自己网上下载一下Cmake 3.11.1,比较小,很容易下载参考了很多帖子,步骤都一样,本人,1.文件夹结构文件夹如下:在...

2019-06-28 15:23:32 459

原创 C语言的回调函数

1.函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型例子#include "stdafx.h"#include <stdi...

2019-06-03 20:56:10 56

转载 Opencv 中 CV_8UC1,CV_32FC3等参数的含义

出处经常会在代码中看到如下一下参数,他们是什么意思呢#define CV_8UC1 CV_MAKETYPE(CV_8U,1)#define CV_8UC2 CV_MAKETYPE(CV_8U,2)#define CV_8UC3 CV_MAKETYPE(CV_8U,3)#define CV_8UC4 CV_MAKETYPE(CV_8U,4)#define CV_8UC(n) CV_MAK...

2019-05-22 21:58:46 5251

原创 opencv rgb转ycbcr 与在matlab下转的结果不一样

原图左边是opencv的右边是matlab解决办法见代码:Mat a = imread("11.jpg"); Mat b, c, d; Mat channels_m[3]; vector<Mat>channels; vector<Mat>channels111; //cvConvertScale cvtColor(a, b, CV_BGR2YCrCb...

2019-05-21 22:02:02 178

原创 opencv rgb转hsv与matlab不一样

原图左边是opencv,右边是matlab直接上代码:Mat a = imread("11.jpg"); Mat b,c; vector<Mat>channels; ///*for (int i = 0; i < a.rows; i++) //{ // for (int j = 0; j < a.cols; j++) // { // uchar* d...

2019-05-21 21:27:52 280

原创 imx290高亮显粉

先上图在网上查有人说吧增益拉高,查看imx290手册sensor_write_register(0x3014,0x64); 增益从最小到最大,没有明显改善。还有怀疑是bayer不对,尝试了所有的bayer都不行,包括滤光片切换# 先说说怎么解决的问题海思sdk的imx290 sensor驱动中,有一个寄存器,如下、其中的第0位设置输出位数,本电路是csi-2,根据提示,设置为1h,se...

2019-05-13 21:12:41 731 4

原创 红外

根据波长不同,光可以分为Y射线区,x射线区,紫外光区、可见光区、红外光区、微波区、无线电波可见光波长范围:390-780nm人眼实际可见范围:321-1050nm可见光区不同波长,呈现不同颜色相机可以感应到所有可见光和部分红外光,任何在决定零度以上的物体都会对外发射红外光,这个红外在近红外光谱波段范围内,可以被普通的ccd和cmos感知,所以不论白天还是黑夜,但能进行监视波长越长,折...

2019-03-07 16:15:42 108

原创 DCDC 电源电路中的延迟是怎么算的

对于海思SDK中下图这里的Delay time是怎么算的呢根据延时电路计算公式延时时间=-RCln((E-V)/E)其中:“-”是负号;电阻和电容是串联,R单位是欧姆,C单位是F;E为串联电阻和电容两端的电压,V为电容要达到的电压。例如R(150K)h和c(1000UF)两端电压12v,当电容C两极电压达到3V是的时间=-(1501000)(1000/1000000)*ln((12-...

2019-02-22 10:23:41 393

原创 解压缩

解压.tart.gz使用命令tar -zxvf xxx.tar.gz,解压.tar.bz2使用命令tar -jxvf xxx.tar.bz2,解压.tar.xz先用xz -d xxx.tar.xz,这时候会输出对应的.tar文件,再用tar -xvf xxx.tar解压即可。...

2019-01-14 15:21:31 81

原创 -I -L -i

gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld参数说明:-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include–>/usr/include–>/usr/local/incl...

2019-01-14 15:21:01 366

原创 海思makefile琐碎整理解读

Hisilicon Hi3516 sample Makefile#mpp2/sample/venc/include …/Makefile.param#ifeq ($(SAMPLE_PARAM_FILE), )SAMPLE_PARAM_FILE:=…/Makefile.paraminclude $(SAMPLE_PARAM_FILE)#endiftarget sourceSRC :...

2019-01-14 15:20:48 433

原创 scan_image编译

https://www.cnblogs.com/candl/p/7358384.html正确的编译命令arm-hisiv500-linux-gcc scan_image.c -I /opt/hisi-linux/zbar-0.10/include -L /opt/hisi-linux/zbar-0.10/lib -lzbar -L /opt/hisi-linux/x86-arm/arm-hi...

2019-01-14 15:20:08 118

原创 HISI VENC 实际输出帧率控制

平台:HI3516EV100SDK : Hi3516CV300_SDK_V1.0.2.0系统 : LiteOS海思MPP文档里写的我就不多说了,不知道是我理解有问题还是什么,反正很多次都不能准确的控制实际的编码(VENC)输出帧率,就是 cat /proc/venc 能看到的通道输出帧率,今天特地花时间来研究下,发下有如下规律:海思的帧率控制无非就是如下这些地方涉及到:ISP --...

2019-01-14 15:19:50 608

原创 海思3516 zbar识别二维码,并保存yuv图像代码

/****************************************************************************** Some simple Hisilicon Hi35xx video input functions. Copyright (C), 2010-2011, Hisilicon Tech. Co., Ltd. **********...

2019-01-14 15:18:42 2142 10

原创 对wifi的配置文件wpa.conf的ssid和password进行修改

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <stdint.h> #defi

2019-01-14 15:17:45 1841

原创 RTMP

https://www.cnblogs.com/Kingfans/p/7064902.html.https://blog.csdn.net/lory17/article/details/61916351#rtmp-client与rtmp-server交互流程RTMP固定的服务器IP程序int main(){ pthread_t id;// char serverStrBuf[100]...

2019-01-14 15:16:34 461 1

原创 关于hi3516ev100调试zbar二维码和链接wifi问题

识别二维码是在vpss通道使用海思提供的API接口HI_MPI_VPSS_SetDepth、HI_MPI_VPSS_GetChnFrame来获得图像,并进行二维码识别(这里的二维码是wifi二维码,用于板子和wifi连接的)总体流程如下:在海思进行mpp初始化等一系列初始化之后,在vpss通道获得yuv数据,并调用zbar接口对获得的图形数据进行解析,如果捕捉到含有wifi图片并能成功的进行解析...

2019-01-14 15:15:57 914

转载 Linux内核编译初体验

1. 下载内核在ftp://ftp.kernel.org/pub/linux/kernel/下载原版内核此处使用linux-2.6.22.6.tar.bz22. 解压内核tar -xjvf linux-2.6.22.6.tar.bz23. 打补丁补丁文件linux-2.6.22.6_jz2440.patch和解压后的文件夹linux-2.6.22.6处于同一目录下执行patch命令...

2018-11-20 11:02:03 96

原创 uboot到kernel的过程

这里有几篇我感觉写的很好的大牛博客https://blog.csdn.net/itxiebo/article/details/50986253https://blog.csdn.net/itxiebo/article/details/50990074https://blog.csdn.net/czg13548930186/article/details/76383153...

2018-11-19 14:56:51 1076

转载 Uboot命令实现与实现原理

1.实现过程(1)在./common文件夹下新建cmd_study.c,并在此文件中添加如下内容#include<common.h>#include<command.h>int do_study (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){ printf("I'm learning the ub...

2018-11-16 11:31:12 281

原创 Uboot启动过程源码分析之第二阶段

UBoot的最终目标是启动内核1.从Flash中读出内核2.启动内核通过调用lib_arm/board.c中的start_armboot函数进入uboot第二阶段第二阶段总结图typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; unsigned long cpu...

2018-11-16 10:27:50 84

原创 Uboot启动过程源码分析之第一阶段(硬件相关)

从上一个博客知道uboot的入口点在 cpu/arm920t/start.s打开cpu/arm920t/start.s跳转到resetreset: /* * set the cpu to SVC32 mode// CUP设置为管理模式 */ mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0/* turn...

2018-11-15 11:13:41 106

原创 UBOOT之分析编译过程 make

打开Makefile117行的config.mk就是前面配置过程中生成的config.mk ,里面定义了ARCH CPU BOARD SOC165行是顶层目录中的config.mk,根据上面四个变量的值确定编译器、编译选项等而在Makefile中$(BOARD)=smdk2410所以BOARDDIR=smdk2410继续看顶层目录的.mk展开就是sinclude /boa...

2018-11-14 20:59:36 2283

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