Platform Device and Drivers從<linux/platform_device.h>我們可以瞭解Platform bus上面的驅動模型介面:platform_device,platform_driver。和PCI和USB這些大結構的匯流排不同,虛擬匯流排 Platform bus使用最小結構來整合SOC processer上的各種外設,或者各種“legacy”之間的互聯。Platform device 典型的Platform
LCD與CPU的接線分控制線和資料線,控制線一般基於SPI協議,我們初始化LCD的寄存器就是通過這個,在主晶片的輸出格式固定的前提之下,調LCD也就是剩下始化寄存器而已,一般LCD移植,我們就是要關心這部分;資料線就是用來傳送像素資料到LCD,這部分一般不需要我們來控制了,只要接線沒問題,一般就是OK的。
一個女孩寫的經典程式//一個女孩寫的經典程式result_love(boy, girl) { if( boy.有房() and boy.有車() ) { boy.set(nothing); return girl.嫁給(boy); } if( girl.願意等() ) { while(!(boy.賺錢 > 100,000 and girl.感情 > 8 ) ) { for( day=1; day <=365;
原文參考 近來剛接手項目的camera驅動,除了查看平台文檔和sensor的到規格書,也在網上查看了高手們到經驗。本人對camera還是比較陌生的,奈何公司無人過問,只好按部就班的來吧!和大部分驅動的調試相差無幾,還是在前人的工作基礎上進行的。項目採用高通7627平台,sensor採用ov7675。驅動移植1.核心驅動移植sensor資訊記錄在android\kernel\arch\arm\mach-msm\board-msm7x27.c檔案中,board
參加華為的面試,竟然才發現#if 和#ifdef是有區別的,絕得無地自容。趕緊整理一下 先看個例子:#define TARGET_LITTLE_ENDINA 1#define TARGET_BIG_ENDINA 0#ifdef TARGET_LITTLE_ENDINAcall little endina function#elsecall big endina
假設p是一個指標址或者是一個變數,通過以下代碼實現p是4的整數倍,如果是地址,則實現4位元組對齊代碼1:while (p & 0x03){ p++;}如果p是4整數倍,條件為0,退出,如果p多1,p最後2位會從01,10,11直到00。 代碼2: (p+0x03)&(~0x03)如果p是4整數倍,不變,如果不是,加上3,肯定進位,然後最後2位可能有多餘,是要減去的,用&(~0x03)做到。
磁碟存貯器的主要效能指標•容量:整個磁碟存貯器能存貯的二進位位元•存取時間:定址時間+讀寫時間•定址時間:從磁頭接到讀寫命令開始到找到地址的時間,包括尋道時間(定位時間)ts和尋區時間(等待時間)ti。•平均定址時間Ta=((ts+ti)max+(ts+ti)min)/2•尋道時間:它是指硬碟在接收到系統指令後,磁頭從開始移動到移動至資料所在的磁軌所花費時間•資料轉送率Dv:讀寫時,每秒中能傳輸的bit數。 Dv=D*v=щ*磁軌容量 D:記錄密度,以磁碟最內圈的磁軌的位密度位準。
【整理】Linux核心中的atoi,itoa等函數 讀取檔案時,如果我們希望是得到的int型,比如從"/sys/devices/platform/lcd-backlight/leds/lcd-backlight/brightness"這裡讀取,顯然我們希望是int型但在read系統調用時從檔案流中讀出來的是char類型,所以讀出來後需要轉化成int,這 就需要atoi了。注意要包含標頭檔#include <stdlib.h>這裡主要是atoi和atof的用法#include "
[現象]10063 BRCM4330,進入FM,可以收聽沒有問題,但是點擊介面的關閉按鈕————>點擊介面的關閉按鈕再次開啟,系統重啟。必現。[分析] 重啟後adb pull /proc/last_kmsg . 匯出log 如下[ 639.510000] <<-GTP-DEBUG->> [730]pre_touch:00, finger:80.[ 639.520000] eic_handler[ 639.520000] eic_handler[
標記化初始化:第一次看到這個名詞,雖然看到用到了無數次,終於找到理論上的說明。 在標準C中(C89)結構標準初始化是用{}來實始化,在C99的版本,採用了採用可讀性更強的標記化初始化,這在LINUX核心和驅動很為常見。這是ISO C99的用法 C Primer Plus第五版中相關章節: 已知一個結構,定義如下 struct book { char title[MAXTITL]; char author[MAXAUTL]; float value; };
為什麼在KEIL中可以識別sbit、sfr...類型: 1.bit和sbit都是C51擴充的變數類型。 bit和int char之類的差不多,只不過char=8位, bit=1位而已。都是變數,編譯器在編譯過程中分配地址。除非你指定,否則這個地址是隨機的。這個地址是整個可定址空間,RAM+FLASH+擴充空間。bit只有0和1兩種值,意義有點像Windows下VC中的BOOL。 sbit是對應可位定址空間的一個位,可位定址區:20H~2FH。一旦用了sbi xxx =
在電子電路中一、符號意義VCC:C=circuit表示電路的意思,即接入電路的電壓VDD:D=device表示器件的意思,即器件內部的工作電壓VSS:S=series表示公用串連的意思,通常指電路公用接地端電壓Vreg:voltageregulator
getevent&sendevent 是android系統下的一個工具,可以類比多種按鍵和觸屏操作,產生的是raw event,raw event經過event hub處理產生最終的gesture事件。在調試按鍵,觸控螢幕時非常有用。 === getevent === getevent
先上代碼 unsigned nlcmVendorSize;void *plcmVendorID; plcmVendorID =smem_get_entry(SMEM_LCM_VENDOR_ID, &nlcmVendorSize); printk(KERN_INFO"\n[LCD_COMP]plcmVendorID=%d\n",*((uint32*)plcmVendorID));
此文雖已傳播很久,但仍然非常感人至深!今再次轉貼,謹送給天下有情人!!! 能牽手的時候,請別只是肩並肩,能擁抱的時候請別只是牽牽手,能在一起的時候請別輕易分開.如果你真愛一個人,請把這篇文章仔細讀完並能轉給其他好友,願你的好運在農曆7月7日紫色情人節全部實現,直到永遠!祝福你!!!
一、先搞清4個系統屬性 唯讀預設語言[ro.product.locale.language]:[en] [ro.product.locale.region]: [US] 使用者改變語言設定後修改的值[persist.sys.language]: [zh][persist.sys.country]:
文章目錄 一、目的二、參考三、涉及的檔案四、我的修改 五、總結 一、目的 將手機的預設12小時制改為24小時制二、參考 1.http://blog.csdn.net/caszhao/archive/2010/11/04/5986900.aspx 2.http://hi.baidu.com/wishwingliao/blog/item/32e13ddbb66d7c72d0164eaa.html
話說編譯過Kernel,才算入門LINUX! 以前嘗試過多次,都莫名奇妙的錯誤,今天又折騰了一下,終於看到 CC,LD....編譯Linux核心是核心開發的基本功,如果我們通過直接修改Linux核心代碼來增加核心功能,那麼修改後的核心代碼必須要重新編譯產生新的映像檔案,然後載入該映像檔案便可以啟用新核心。 不同的Linux發行版本,其核心編譯過程會有所不同。這裡所用平台是Ubutun9.10 Linux kernel為 2.6.31-23-generic,待編譯的Linux kernel為2.6
The more you avoid change,the more you hide the process of grouth in your life! 你越避免變化,就越會妨礙生命的成長進程。最喜歡這句。