自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 C++ string内存解析

由于工作需要,最近温习一下c++;当看到c++的string类时,不禁有些疑惑,我们先看看令我疑惑的代码:#include <iostream>#include <string>using namespace std;int main(){ string s1; string s2 = "hello"; s1 = s2; return 0;}我们创建了两个string对象,第一个string对象没有初始化,第二个对象初始化为"hello",然后将s

2021-03-17 22:04:05 1049

原创 如何分析kernel oops

如何分析kernel oops?1. 什么是oops? 例如,非法地址访问等,在arm的手册里,这类异常会将cpu trap到异常特权级。2. 分析流程 笔者基于qemu环境,模拟arm32环境。自己制造一个oops,追踪oops的分析流程。 oops“制作”方法: *(int *)5 = 4; 即,在自己的kernel module中,插入这样的代码,制造一个非法地址写入。 oops现场 Unhandled faul...

2021-01-12 08:39:16 1494 1

原创 linux c backtrace

调试过程中,可能需要打印某一时刻的调用栈(当然你说用IDE那当我没说),那么你可以参考本文:#include <execinfo.h>#define MAX_STACK_DEPTH (20)void print_stackframe(void){ void * buffer[MAX_STACK_DEPTH]; int depth = backtrace(...

2019-10-06 16:54:54 779

原创 ARM APCS 学习笔记

最近在学习arm体系架构,先简单了解一下APCS。什么是APCS?http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf具体的概念随后理解下,先提供一个汇编和反汇编的方法,以供实验。之后会详细写APCS的东西。获取arm gnu工具链之后,我们写一个简单的c代码。int func0(...

2019-04-09 08:53:03 473 2

转载 抄的 Hal Vendor 共享

研究导向:     open camera过程中有些初始化设置参数需要从vendor层获取,而vendor与hal隶属于不同进程,通过ION机制设置共享内存来实现不同进程间数据共享,下面简要介绍流程:在初始化过程中hal层会通过socket将消息发送至vendor层-通知vendor map共享内存。ION初始化过程:   vim hardware/qcom/camera/QCam

2017-12-13 13:14:12 515

原创 进程学习笔记(一)

今天初步学习了一下内核进程设计思想 , 简单的做一下记录。(1)概念     进程:程序执行程度以及信息的数据结构的结合。     轻量级线程:线程之间可以共享资源,两个线程修改共享资源,双方都能查看到修改。当然,每个线程,都可以由内核独立调度。(2)进程描述符     task_struct结构体,在sched.h中,内容多,咱们就不贴在这里了。     但是,书

2017-10-15 17:47:22 282

原创 6th Maximal Rectangle

这里仍旧使用暴力求解法,求出矩阵中的最大的矩形面积。/*calc max rect in a matrixeg:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0res: 6*/int buf_all[4][5] = {1 ,1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,1 ,

2017-10-07 11:10:38 229

原创 4th Largest Rectangle in Histogram

这个题目十分简单,直接循环就可求出来。#include #include int calc_rect(int cof1 , int cof2){ if(cof1 <= cof2 ) return 2*cof1; else return 2*cof2;}int process(int *buf , int lens){ int k=0,f=k+1 , max_rec

2017-10-06 22:21:23 211

原创 5th IP address restore

这次欠债比较多,所以,这次的代码风格很差。方法是最暴力的暴力求解法。//ip restore//if input is 19216811//out put should be 192.168.1.1 or 19.216.8.11 or some_str available else#include #include #include #define LOG_FLAG 1/*

2017-10-06 13:12:00 250

原创 3th Validate Binary Search Tree

用递归做得,遇到的坑是用cygwin带的gcc编译,总是遇到各种莫名其妙的段溢出。。。珍爱生命,远离cygwin。。#include "stdio.h"#include "stdlib.h"#include "string.h" //Definition for a binary tree node. struct TreeNode { char val;

2017-09-11 00:40:31 311

转载 偷来的AWB原理

本文转载wzwxiaozheng的白平衡算法,主要包括两部分:色温曲线和色温计算。原文http://blog.csdn.NET/wzwxiaozheng/article/details/384343911,白平衡算法---色温曲线本文大体讲解了白平衡的算法流程,适用于想了解和学习白平衡原理的筒子们.一般情况下要实现AWB算法需要专业的图像和算法基础,本文力图通过多图的方式,

2017-09-03 16:47:49 2288 2

原创 2th roma int

这个仍旧使用查表法,比较简单,直接上代码:#include #include #include "string.h"#include "math.h"char lut_1[10][8] = {"I","II","III","IV","V","VI","VII","VIII","IX"};char lut_10[10][8] = {"X","XX","XXX","XL","L","L

2017-09-03 11:41:11 518

原创 1th 整数 罗马数 转换

代码很简单,采用查表法做。所以直接贴出来吧。#include #include #include "string.h"char lut_1[10][8] = {"I","II","III","IV","V","VI","VII","VIII","IX"};char lut_10[10][8] = {"X","XX","XXX","XL","L","LX","LXX","LXXX","XC

2017-09-03 00:25:48 313

转载 gpio_set_value

gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!而gpio_direction_output (port_num,0/1),在某个GPIO口写上某个值之后,还会把这个端口设置为输出模式。 因此,有人也许就会建议,把gpio_set_value这个函数直接去掉不用,是否可以,显然是可以的。

2017-08-08 14:16:36 5901

转载 抄的camera流程

高通新的camera驱动架构设计发生了一些变化,借用互联网上常用的一种结构,大致的原理如此:将camera的所有功能划分为不同的模块,让模块自己来决定自己的事情(高内聚,低耦合),模块需要有统一的接口和格式。模块中有端口,通过端口把模块连接起来,又把模块挂在总线上。每一个端口的连接就是一个流,把这些流用pipeline来管理。每次启动一个camera就创建一个会话,由这个会话来管理此camera的

2017-07-26 20:46:39 1537 2

转载 opencv HDR(COPY)

简介  本篇主要是利用三张图片:过曝(相机设置exposure+1)、正常(相机设置exposure+0)、欠曝(相机设置exposure-1),来合成一张在亮出和暗处细节都清晰的图片,来简易实现图片的HDR功能。具体实现实现代码#include

2017-07-25 16:46:42 735

转载 actuator 基础

1.概述actuator驱动信息文件是指vendor目录下的$ActuatorName_actuator.h文件(如gigaset_actuator.h)。此信息文件就是一个actuator_driver_ctrl_t结构体。包括actuator_params与actuator_tuned_params两部分,即driver与tunning两部分。文档以目前最主流的VCM为例进行参数的介绍

2017-05-09 20:20:17 823

转载 高通camera架构讲解

转自:http://www.cnblogs.com/thjfk/p/4086001.html  Camera原理:外部光线穿过lens后,经过color filter滤波后照射到sensor面上,sensor将从lens上传到过来的光线转换成电信号,再通过内部的AD转换为数字信号,如果sensor没有集成DSP,则通过DVP的方式传输到baseband,此时的数据格式是RAW DATA

2017-04-03 16:33:28 9189

原创 git 打patch

假如我们现在在master分支,创建文件mast.c , 写入  hello_master然后我们现在切换到king 分支,然后修改mast.c , 写入bb_king提交之后,通过git diff master > ../king.patch ,生成一个king.patch然后切换到master分支,然后运行:git apply ../king.patch 就可以把king的

2017-03-29 22:09:52 247

原创 图像学习 -- Sobel算子检测图像边缘

边缘提取有一个最简单的思路,就是寻找灰度变化明显的地方。假设,一幅图像的灰度分布如下:255 254 253 255 2 2 0 1253 252 255 255 2 1 1 0254 253 252 255 1 0 2 3255 254 255 255 2 1 0 1sobel算子有两个,一个是水平检测:-1 -2 -1 0  0  0 1   2   1

2017-03-25 20:17:55 1045

转载 BMP图片格式解析

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。下面

2017-03-25 12:13:39 930

转载 camra 架构

1  camera基本代码架构    高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略;在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个daemon进程中进行管理:图1 Qualcomm平台cam

2017-03-23 17:57:36 499

原创 操作系统学习 -- 概论

(一)概论篇操作系统主要功能可以概括为:(1)fork()  -> 开启新的进程;(2)time-share -> 实现多任务;(3)isolation between processes -> 所有的进程之间是独立的;(4)work with each other ->进程之间的通信,比如pipe总结起来就是三点:多任务,独立进程块,相互通信设计的不是太好

2017-03-12 20:28:58 305

原创 《OpenCV从入门到放弃》 -- 2th 图像二值化

接着上回的来说,今天记录一下图像的二值化。图像二值化的思路是:加载图像 -> 转为灰度图 -> 转为二值化图-> 显示出来加载图像与显示图像上一篇已经有讲了,这里不赘述;转为灰度图:g_pGrayImage =  cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);  //src是读入的图片cvCvtColor(src, g_p

2017-03-05 18:14:15 780

原创 《Opencv从入门到放弃》-- 1th 显示图像

今天开始更新博客系列文章《Opencv从入门到放弃》。你看到的是本系列的第一节  显示图像本人用的开发环境是UBUNTU16.04,版本是OPENCV2.3.1,具体怎么装我的博客里面有。废话不多说,直接复制一个官方sample,然后改代码,省去MAKEFILE的麻烦。具体操作如下:cd opencvdir/samples/ccp -rf example_cmake my_exp

2017-02-28 11:16:29 492

原创 camera视频学习笔记(1)

韦东山CAMERA:1.硬件参数: (1)感光阵列每个感光点只能感受R,G,B一种颜色; (2)相同像素的镜头,镜头尺寸越小,对应的像素点颗粒的大小越小,感光性质越差; (3)扫描模式:    逐行扫描:一行一行的扫描,720P    隔行扫描(INTERVEL):EG:第一次扫奇数行,第二次扫偶数行 ,1080I2.数据流程: (1) ISC -- image

2017-02-15 20:35:33 495

原创 OV7670 OVERVIEW

OV7670学习笔记:    1.各个部分描述:    (1)Image Sensor Array        7670有640*480像素的传感器阵列;    (2)Timing Genarator        产生帧;  内部时钟信号产生;  帧频率;  AEC(自动曝光控制);   外部时钟信号输出:VSYNC,HSYNC/HREF,PCLK。    (3)Ana

2017-02-14 13:45:32 577

转载 Bayer RGB和RGB Raw

Bayer RGB和RGB Raw    对于SENSOR来说,Bayer RGB和RGB Raw两者的图象结构都是BG/GR的(Bayer pattern说的是COLOR FILTER的结构,分为两种:STD Bayer pattern 与Pair pattern,其中STD Bayer pattern的结构是BG/GR的,而Pair Pattern顾名思义是指BGBG/GRGR的结构,即以

2017-02-14 11:49:36 553

转载 如果交叉编译工具出现 没有那个文件或目录

如果 Linux 交叉编译工具验证安装时可能出现。./arm-none-linux-gnueabi-gcc: 没有那个文件或目录。 解决方法是执行:sudo apt-get install lsb-coreLSB(Linux Standards Base)是一套核心标准,它保证了LINUX发行版同LINUX

2017-02-12 07:18:17 2339

转载 ubuntu virtualbox win7 USB

出现这种问题,很多人主要是摸不清方向,不知道到底是ubuntu这端出问题,还是windows端出问题!其实很简单。1、首先在ubuntu一定要发现设备。lsusb。2、vitualbox要勾选 USB2.0(EHCI)控制器。     勾选EHCI后,出现无法启动win7系统的问题,提示Implementation of the USB 2.0 controller not fou

2017-02-09 13:03:38 725

原创 2017电子设计攻略_控制类

2017年电子设计大赛准备攻略(控制类)                                  Author: 靳皓屹   中北大学1.  组队      组队是一件非常重要的事情。在组队之前,一定要想清楚:    (1)三个人中间是否有一位核心成员(具有决断力,能够定好团队的方向);(2)分工问题;个人认为最合理的分工是这样的:硬件+驱动+APP,之后会详细的谈这

2017-02-06 17:56:57 8101 5

原创 qt 移植到2440

QT移植手册:    毕设上面用到了QT,所以得移植啊移植。    其实QT移植到arm linux系统只需要两步,第一是tslib的移植,第二是qt-everywhere的移植。可以这么讲,tslib是一个环境,QT只是一个库。    废话不多说了,开始说正儿八经的。1  tslib的移植     (1)保证LCD驱动和触摸屏驱动OK,这个就不多说了,至少有/de

2017-02-04 11:08:53 1047

转载 HSV

HSV格式的图片的各通道取值范围 H:0-360 S:0-1 V:0-1 然而在Opencv中的8Bit取值最大只能到255(32Bit的没事),所以在转换时,被除了2,范围变成了0-180. 而S和V通道则为0-255.以下会以标准的HSV来说,用到Opencv里转化下就好。HSV中的H通道时保存的色调,从0-360依次为红,橙,黄,绿,青,蓝,紫。但是分布不是均匀的

2017-01-19 17:04:45 850

原创 RICO BOARD驱动探索之旅_环境搭建与点亮LED

今天开始更新我的博客,一个专题: RICO BOARD驱动探索之旅机缘巧合,我申请到了RICO BOARD,一直想自己玩玩,现在开播!!!这款板的渊源我就不赘述了,它是以TI Sitara AM437X为处理器,优点我也省略,反正我是小白。既然是小白,我就以小白的目光来开发这一套板的驱动(基于LINUX)驱动开发准备工作:(1)编译内核     我用的是官方带的内核,按

2017-01-16 00:37:31 680 2

转载 Ubuntu下解决bash 没有那个文件或目录的方法

apt-get install ia32-libs

2017-01-11 14:17:04 12826

转载 Ubuntu 进入 initramfs

由于电脑跑了两天没关机,出了些问题,所以重启了一下,却发现ubuntu14.04再也进不去了。进去之后就是initramfs提示符,在之前还显示错误信息:initramfs target filesystem doesn't have sbininit​。输入exit之后,又报错:initramfs panic occurred switching back to text console

2017-01-01 09:20:43 2372

原创 minicom退出方法

1)需使用Ctrl+a 进入设置状态2)按z进入设置菜单(1)S键:发送文件到目标系统中;(2)W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的啓动信息时很有用。(3)C键:清除屏幕的显示内容;(4)B键:浏览minicom的历史显示;(5)X键:退出mInicom,会提示确认退出。

2016-12-11 11:40:33 35574 1

转载 linux assemble environment

1、下载nasm安装包#wget http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/nasm-2.11.08.tar.gz2、解压安装nasm#tar -xzvf nasm-2.11.08.tar.gz#cd nasm-2.11.08#./configure#make#make install3、编写hello.as

2016-12-10 22:11:54 361

原创 设置开发板ip(临时)

使用:ifconfig eth0 192.168.1.17

2016-12-07 16:17:26 287

转载 MJPG-STREAMER 移植+BUG

Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备;关于它的介绍网上有一大堆,读者可自行了解;网上关于它的移植也很多,下面给出移植的过程与在编译过程中出现的一些问题与解决方法。在移植Mjpg-streamer之前必须移植

2016-12-07 16:16:22 398

空空如也

空空如也

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

TA关注的人

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