原创 CMOS Sensor一些術語及其圖像質量的調試點

    由於經常涉及到一些CMOS Sensor的調試,不對CMOS Sensor方面的相關知識進行一些擴充,並不是一個明智的行爲.下面是百度文科的一篇文章. ======================================

原创 從C看C++之(二)獲取和釋放內存

 源碼: #include <iostream> #include <string.h> #define BUFSZ 1024 int main(void) { const char *q = "I am so

原创 從C看C++之(六)多態

 類似LINUX內核驅動子系統,如下面的示意代碼: if(fb->open) fb->open();    當我們從更底層對fb->open()進行封裝了的時候,對應的系統調用不再是系統默認的,而是調用到我們更底層的fb->op

原创 從C看C++之(三)類

 作爲面嚮對象語言,"一切皆對象",其意義不亞於LINUX下面"一切皆文件".而對象是必須指明其屬於哪個類的.類與對象的關係,借用C語言的角度理解的話,如下: int i,j;    int相當於類,而i,j相當於對象,它們屬於集合in

原创 內核中與驅動相關的內存操作之十六(異步I/O)

1.異步IO簡介:     Linux 異步 I/O 是Linux 2.6 中的一個標準特性,其本質思想就是進程發出數據傳輸請求之後,進程不會被阻塞,也不用等待任何操作完成,進程可以在數據傳輸的時候繼續執行其他的操作.相對於同步訪問文件的

原创 從C看C++之(七)static

    C語言中關鍵字static主要作用有下面兩方面:作用域和生命週期.比如說把一個函數聲明爲static的話,可以限制其作用域爲當前文本有效;把一個函數內部的變量聲明爲static的話,它的生命週期不會因爲函數調用的結束而結束,而是一

原创 PC上簡單驅動的Makefile模板

obj-m := hello.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) all: $(MAKE) -

原创 OV9712 CMOS基於JZ4775調試(三)

    新拿到的硬件,是好是壞,或者有沒有一些大意或細節的錯誤,當然需要驅動程序並結合一些電氣工具如(示波器)去檢測. 1.SCCB:  當然這是最首檢測也是必須檢測的.這裏我是用iic-tools工具(LINUX平臺支持用戶空間驅動的項

原创 從C看C++之(五)繼承和派生

 在實際的編程中,我們會遇到下面一種場景:  我們已經有一個類A: class Student { private:    int num; char name[30]; char sex;  public:

原创 內核中與驅動相關的內存操作之十七(DMA)

1.DMA的宏觀理論:     DMA,即Direct Memory Access,直接內存訪問.主要是考慮到RAM和外設之間拷貝大量數據時提升性能的一種硬件策略.數據交互,需要一個數據的源地址和目的地址,類似memcpy()函數.DMA

原创 udevinfo的使用

    當我們要編寫一個udev規則文件時,經常用到一些內核空間導到用戶空間的udev信息.如: SUBSYSTEM=="usb" ATTR{manufacturer}=="Sony" ATTR{product}=="Storage Me