目前日期文章:201203 (8)

瀏覽方式: 標題列表 簡短摘要

Linux Device Drivers

使用/proc檔案系統

 

        /proc是核心模擬出來的軟體檔案系統,它是核心對於外界的資訊窗口。在/proc下的每一個檔案,各自連繫到核心裡的專屬函式,當user-process讀取/proc下的檔案時,對應的函式便會即時(real-time)產生檔案的“內容”。以/proc/modules為例,它總是會告訴你核心當已載入哪些模組。

 

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Device Drivers

節制printk訊息產生速率

 

        一般而言,正常運作狀態下不應該產生任何訊息,只有在發生了須要注意的異常狀態時,才可使用printk()

        但是printk()也是有被包含在無窮回圈裡的可能而導致嚴重的後果。對於需要偶爾輸出提醒訊息的情況,最好的解法是設立一個有調節作用的工具函式。

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Device Drivers

Debug 訊息開關

 

在研發驅動程式的初期,printk()是輔助測試、偵錯新程式碼的好工具。到了正式釋出驅動程式的階段,就該拿掉這些無謂的printk()敘述或至少讓它們失效。

以下的範例提供一個簡便的方式,讓你可以一口氣拿掉所有偵測用途的printk()

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

ARM架構

2011/06/22-李立達  

ARM架構為(Advanced RISC machine),採用的是RISC(精簡指令集)運算架構,運用層面廣泛,從可攜式的手機、PDA,至硬碟控制器、汽車、甚至飛彈控制器等,均有採用該 架構的處理器,因智慧型手機、平板電腦掀起風潮,ARM架構成為PC業新寵兒。

相較於英特爾採用的x86架構,為CISC(複雜指令集)運算架構,再不斷加入指令集後,功能龐大;ARM架構讓處理器卻強調簡化,低功耗、小體積為其特色,也讓ARM架構在行動通訊產品市佔率居高不下,在平板電腦後,ARM架構也將進軍NB領域。

ARM 於1991年成立,該公司前身為Acorn Computer,出售IP(技術知識產權),授權廠家依照其IP,設計製造處理器,到1993年,TI、Cirrus Logic等知名業者採用該技術後,ARM在市場建立起知名度,受惠於手機應用,該公司ARM9核心已擁有超過200家的授權業者、ARM7也有150多 家的公司採用。

文章標籤

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Device Drivers

Register Character Device

 

要讓核心能提調你的驅動程式提供的作業方法,你必須配置並註冊一或多個struct cdev。用於配置struct cdev的函式是cdev_alloc(),你可再執行其配置一個獨立的cdev結構,然後將其ops欄位指向你的file_operations結構:

Struct cdev *my_cdev = cdev_alloc();

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Device Drivers

Device Number

 

裝置的存取,是透過它們在檔案系統裡的名稱;這些名稱可成為特殊檔(special file)、裝置檔(device file)或檔案系統是的節點(node),但不管哪些說法意義都一樣。裝置檔一般來說都集中在/dev/目錄下。字元裝置會出現c字樣而區塊裝置則被標示為b

在日期欄位之前兩個以逗號隔開的數值,由左而右,依序是裝置檔的(major number)(minor number)

文章標籤

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

Linux Device Drivers

新增模組到Kernel中並客製化組態選單加入選項

 

Hello World為範例

文章標籤

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()

這幾天有位朋友問我,為什麼在智慧型手機中要使用到NAND FLASH?

我對智慧型手機的硬體實際做法或許不是很全面了解,但我可以以嵌入式系統的角度來說明。

一塊開發版需要幾個必備的要素,

1. CPU(ARM、MIPS...等)

2. RAM

flykof 發表在 痞客邦 PIXNET 留言(0) 人氣()