原创 嵌入式Linux學習漫談之Linux系統 [轉自crosstar嵌入式學院]

 事物總有個核心,複雜的事物總可以模塊化、層次化, 嵌入式Linux也如此。學習嵌入式Linux困難,主要因爲涉及知識和概念過多,即比較複雜,所以學

原创 Linux select()詳解

      select系統調用是用來讓我們的程序監視多個文件句柄(file descriptor)的狀態變化的。程序會停在select這裏等待,直到被監視的文件句柄有某一個或多個發生了狀態改變。 文件在句柄在Linux裏很多,如果你m

原创 SD初始化過程以及Cmd解析

SD: 1條CMD線,所有的命令和迴應都是通過這條線一位一位的傳輸.不同模式或不同版本下,命令有不同含義.(SD(SD[0],SD[3:0]),SPI)) 1條時鐘線,時鐘源是來自APH總線時鐘 4條數據線,SPI模式下用了兩條(一條輸出

原创 Android驅動

  Android專用驅動 Ashmem匿名共享內存 節點名稱/dev/ashmem, 爲用戶空間程序提供內存分配機制,實現類似malloc的功能

原创 Linux 文件系統剖析

什麼是文件系統? 首先回答最常見的問題,“什麼是文件系統”。文件系統是對一個存儲設備上的數據和元數據進行組織的機制。由於定義如此寬泛,支持它的代碼會很有意思。正如前面提到的,有許多種文件系統和媒體。由於存在這麼多類型,可以預料到 Li

原创 ARM Scatter File詳解

Scatter file (分散加載描述文件)用於armlink的輸入參數,他指定映像文件內部各區域的download與運行時位置。Armlink將會根據scatter file生成一些區域相關的符號,他們是全局的供用戶建立運行時環境時

原创 Linux內核解讀入門

 針對好多Linux 愛好者對內核很有興趣卻無從下口,本文旨在介紹一種解讀linux內核源碼的入門方法,而不是解說linux複雜的內核機制; (參考資料來源:飛凌 http://www.witech.com.cn/) 一.核心源程序的文件

原创 如何減小與“大牛”的差距

爲什麼同樣的時間有的人可以漂亮的完成工作,而有些人廢了很大的力氣也沒有完成? 前者我們常常稱之爲“大牛”,後者我們常常叫他們“菜鳥”。當然“大牛”都是相對而言的,“大牛”也不可能方方面面都非常厲害,換句話說大牛也不一定會沙王搖大,也

原创 ucos ii 46個系統API函數解析 .

2012-08-01 11:41 106人閱讀 評論(0) 收藏 編輯 刪除 Void OSInit(void);所屬文件 OS_CORE.C    調用者啓動代碼   開關量無 OSinit()初始化μC/OS-Ⅱ,對這個函數的調用

原创 __init __initdata __exit __exitdata解析

內核中,有很多函數和變量被一些特定的修飾符所修飾,這在以往的C語言編程是不常見的。說明如下:      #define __init __attri

原创 最全面的linux信號量解析

2012-06-28 15:08 285人閱讀 評論(0) 收藏 編輯 刪除 信號量 一.什麼是信號量 信號量的使用主要是用來保護共享資源,使得資源在一個時刻只有一個進程(線程) 所擁有。 信號量的值爲正的時候,說明它空閒。所測試的線

原创 supor事件

       只聽見“砰。。。”的一聲響後,整個屋子便黑了下來。。。        “尼瑪,什麼情況。。。”           原來以爲換上保險絲

原创 HQ2416 BASE終於誕生!!

        作者:hinsxu,時間:2012-02-19           今天在萬分努力之下HQ2416 BASE PCB終於誕生了,線路圖的繪製花了不少時日,只不過是一直沒有時間趕PCB,今天在我們team的小楊同志的努力終於

原创 linux work queue & work struct解析

工作隊列是, 表面上看, 類似於 taskets; 它們允許內核代碼來請求在將來某個時間調用一個函數. 但是, 有幾個顯著的不同在這 2 個之間, 包括: tasklet 在軟件中斷上下文中運行的結果是所有的 tasklet 代碼必

原创 linux時間函數gettimeofday解析

我們在程序中會頻繁地取當前時間,例如處理一個http請求時,兩次調用gettimeofday取差值計算出處理該請求消耗了多少秒。這樣的調用無處不在,所以我們有必要詳細瞭解下,gettimeofday這個函數做了些什麼?內核1ms一次的時鐘