最近free download一個Linux kernel
HCI Packet包括四種,即Command,Event,ACL和SCO/eSCO,對應到MS-Stack中的定義,即為COMMAND_PACKET ,EVENT_PACKET,DATA_PACKET_ACL和DATA_PACKET_SCO。如下(詳細參照bt_hcip.h):enum HCI_TYPE { COMMAND_PACKET = 1, DATA_PACKET_ACL = 2, DATA_PACKET_SCO = 3,
branch instruction的指令如下:0xEA00088E對應的二進位是:11101010000000000000100010001110分析如下:1110是無條件的意思101是branch instruction的標誌000000000000100010001110一共24位,就是我們的0x88E,可以表示的最大數是2的24次方,即64MB,所以branch instruction可以前跳或者後跳32MB的空間。然後然我們看看0x88E到底怎麼回事:0x88E*4+8=0x2240
一.checkout 簽出 cvs checkout [-ANPRcflnps] [-r rev| -D date] [-d dir] [-j rev1] [-j rev2] [-k kopt] modules... -A 重設所有粘性標記/日期/kopts -N 如果指定了-d選項,不要使用短模組路徑 -P 刪除空目錄 -R 操作應用於子目錄 -c 顯示模組資料庫的內容 -f
二、藍芽串連方法第一次使用需要用手機與藍芽耳機配對,配對成功後才能夠使用。配對方法:1.啟動藍芽耳機:按住藍芽開關鍵,等藍燈變長亮(一直亮)狀態(有的藍芽耳機是紅藍燈交替閃爍),此時藍芽耳機處於配對狀態(此過程大概需要按住10秒左右,按的時候中間一定不能鬆手,否則需要關機後重新操作);2.啟動手機的藍芽功能,然後設定手機搜尋藍牙裝置;3.從搜尋到的裝置列表中選擇產品的型號,按提示輸入配對碼“0000”(有的不需要輸入配對碼),藍紅燈快速閃爍兩下後表明配對成功,並將藍芽串連至手機,在部分手機中可能
我遇到過太多太多自以為是的例子,有時候包括自己。超級解霸之父梁肇新在他書中提到程式員進階的幾個階段,我非常同意這位大師的觀點。其中有個階段就是學習驅動程式和理解作業系統的核心,從1990年一直有以研究linux核心所引發的研究作業系統核心的一股風潮。Ring0,Ring3,虛擬記憶體,系統調用,進程同步,缺頁等等,有一些聽起來很炫的專業詞彙,更有甚者,以為自己能說出這些詞,自己就是高手了。Ring0/3,如果你不懂Intel IA-32體系架構,那麼請你謙虛一點。虛擬記憶體,page pool,
我的筆記本是thinkpad,外接顯示器設定解析度為1680x1050.首先,熟悉一下命令:xrandr 命令列可以很方便地切換雙屏,常用方式如下,其他的可以自己探索:xrandr --output VGA --same-as LVDS --auto開啟外接顯示器(最高解析度),與筆記本液晶螢幕顯示同樣內容(複製)xrandr --output VGA --same-as LVDS --mode
“代碼執行環境”不知道有沒有這個專有名詞。工作的經曆讓我感到這個概念需要攤出來好好說說。它是衡量你coding水平的重要指標。從電腦發明到現在,人們一直在努力使更多的人“不理解”這個概念,於是軟體中的層級概念就隨之產生了。核心,驅動,應用程式等的3個等級的大致的劃分,也基本劃分出了3種類型的程式員。作業系統的著作者更是竭力在營造一個好的“環境”給我們的代碼。我們---“普通的程式員”則越來越傻。其實可以這樣說,“代碼執行環境”的深刻理解,是你有資格成為“高手”的必要條件。當代的多任務作業系統使我
由於大二的經驗,我OS的bootloader很快就被拿到了gcc下面,運行正常,從中得出了個結論,中斷的啟用對發現你的boot code down機的情況是個絕佳的工具,它幫你撲捉出錯的一瞬間。如果不啟用,代碼中的記憶體保護性錯誤,讓你很難找到哪裡的問題,這個思想已經被我運用到了現在從事的工作中。printk一定得有,我需要看kernel
============================ Wifi 啟動代碼流程 ====================1、系統啟動 首先載入init.rc,這個檔案 會載入所有service,init是linux啟動的 第一個 使用者空間 的應用(屬於linux進程,不屬於Android應用)。2、init.rc裡有以下這句話:Service wpa_supplicant /system/bin/wpa_supplicant –Dwext –iwlan0 –d –c
下面這封信,是我今天準備對我的兩位老大寫的郵件。我真的很受不了這種不被人信任的感覺。可是想想這封信發出去確實對我不會有什麼好處,顯示我的氣量很小,不成熟。最後還是沒寫下去。作為26歲的心潮澎湃的紀念,我決定將它留在我的blog上。我不知道各路大俠,遇到這樣的事情時,你是如何處理的?你會發火麼?(其實我也只是心裡比較火)。你會有不被信任感嗎?到底應該和其他的類似這樣的team member如何合作呢? Dear J & D, 我非常樂意為other
Linux中宏定義linux/arch/arm/plat-samsung/include/plat/regs-timer.h 92#define S3C2410_TCNTB(tmr) S3C_TIMERREG2(tmr, 0x00) 93#define S3C2410_TCMPB(tmr) S3C_TIMERREG2(tmr, 0x04) 94#define S3C2410_TCNTO(tmr) S3C_TIMERREG2(tmr, (((tmr) == 4) ?
最近準備裝配一台台式機,盯上了intel H55 chipset。發現現在的主板不再有南北橋之分,一個CPU+H55 chipset就完畢了,整合度越來越高了!南北橋改名為platform controller hub,這個還真不知該怎麼翻譯,最後搜尋了一下,發現一些網站已經開始使用“平台控制單元”這個名字了,我想這個名字未來會越來越響亮的。看了一下H55的技術文檔,發現H55 PCI bus不再內建相容考慮的ISA bus。IDE也開始消失,取而代之的是SATA host
K9K8G08U1M512Mx8BitsPackage Type: 48-Pin TSOP1這是典型的NAND flash,由block組成,每一個block包含64個Pages,而一個page是2k+64=2048+64=2112位元組。對於一個page,0~2047個位元組用來儲存資料,2048~2111,共64個位元組,Spare Area,用來儲存page中每個sector的資訊,其中第一個16位元組用於描述第一個512個位元組,第二個16位元組用於描述第二個512個位元組,以此類推,
有效利用清晨時間作者:warfalcon早起已經堅持快一年了,前段時間做下回顧,跟大家分享一些早起的心得:睡前要做的二件事:準備一杯涼開水放在床頭,剛起床的時候喝掉,對你的健康有好處。臨睡前做好準備和規劃,準備好第二天早起要做的事情,一起床就可以去做。剛起床時,可以通過做些簡單的運動讓自己精神起來:1、可以在床上轉動腳腕,順時針10下,逆時針10下,然後會讓大腦變得清醒起來。2、直接冷水洗臉,能增強身體的抵抗力,對皮膚也有好處。3、交替壓腿,一個腿30-60下。做完需要2-3分鐘,把自己的身體活
上海的FM交通音樂台,是廣大司機朋友們的好朋友。它會即時的播報一些交通狀況。但是很可惜,只有聽得懂中文,並且能把上海地圖牢記在心中的朋友,才能知道交通台在說些什麼。“延安西路暢通。。。”,假如你是老外,或者初到上海,他們交通台播報的即時交通訊息你就無法享用了。 這就是智能交通系統的雛形。從整個城市的角度看,即時的廣播路況可以極大的提高道路的利用率,不至於有的道路堵死,有的道路沒車開。FM語音廣播是只是一個過渡產品,以後的交通狀況資訊還是通過FM廣播,但是不是語音,是數字編碼。你作為一個司機,只需
如果你是windows mobile的驅動程式開發人員,又恰好寫了類似的這樣一句話。while(dev->devState!=5);說明一下,dev是個結構體指標。你希望等待它的成員變數變成5,繼續執行。同時有可能你在中斷服務程式中改變這個成員變數的值。哈哈!我幸運的告訴你你已經進入了“死迴圈”,永遠跳不出去啦。這是個編譯器最佳化產生的問題,看看編譯器產生的彙編片段。|$L39064|cmp r3, #5bne |$L39064|它將dev->devState最佳化為了一個寄存器r3
ARM切換到THUMB模式,根據ARM的文檔說是用一個跳轉完成,並且跳轉地址要儲存在general register裡,地址中最低位為1。我一向喜歡眼見為實。最簡單就是看看編譯後變成什麼樣子,下面是一個叫ab的函數,開thumb編譯的,結果就變成了下面這樣:E28FC001 $Ven$AT$I$$ab: add r12,pc,#0x1E12FFF1C bx r12B510 ab: push {r4,r14}
KernelInit是MMU啟用以後,一段軟體結構的初始化函數。它負責system call函數表的建立,和NK.exe這個進程的構建,當然也包括NK.exe的第一次以進程的身份調度運行。就此一個類似於《駭客帝國》的虛擬環境就被建立起來了。或者說由單一線程啟動的環境,轉為一個多線程並發執行的環境。不過KernelInit只是完成建立這個環境,真的虛擬環境開始不是這個函數的內容。這個函數最值得看的地方是system
最近在看了一下記憶體檢測,在http://code.google.com/p/memcheck/可以找到,文章有源碼和test,簡單的幾句介紹,剛開始沒怎麼看懂,自己根據使用說明用了下立馬就能上手,顯示結果最好用cmd調用產生的exe,能清楚列印mem leaking的情況。主要代碼:bool mc_checkmem(){bool memLeaked=false;for(int i=0;i<MC_HASHTABLESIZE;++i){mc_block_node_t* ptr=pTable[