目前分類:Linux Kernel & driver (28)

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

來源: Linux作業系統線程同步:互斥量(mutex)

 

互斥量(Mutex)從本質上說就是一把鎖, 提供對共享資源的保護訪問。

1. 初始化:

在Linux下, 線程的互斥量數據類型是pthread_mutex_t. 在使用前, 要對它進行初始化:

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

來源:

Linux 驅動程式的 I/O, #3: kernel-space 與 user-space 的「I/O」

Linux 驅動程式的 I/O, #4: fops->ioctl 實作

 

重要觀念

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

來源:

Linux resouce,platform_device和platform_driver驅動的關係 - linye09

相關:

miscdevice、platform_device區別?

從2.6版本開始引入了platform這個概念,在開發底層驅動程序時,首先要確認的就是設備的資源信息,例如設備的地址,

huenlil 發表在 痞客邦 留言(1) 人氣()

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

來源: http://www.wretch.cc/blog/welkinchen/9859140

Kconfig 文件的用途 (Make 選單的建立)

Kconfig文件的用途

huenlil 發表在 痞客邦 留言(2) 人氣()

在 著 手 撰 寫 Linux I/O Device Driver之 前 , 首 先 介 紹 一 些 相 關 的 觀 念 。 UNIX Device Driver是 屬 於 核 心 軟 體 (Kernel)的 一 部 份 ; UNIX作 業 系 統 主 要 分 為 Kernel和 應 用 軟 體 包 括 公 用 程 式 在 內 等 兩 大 部 份 。 然 而 Device Driver與 作 業 系 統 之 間 的 關 係 如 圖 一 所 示 。 基 本 上 , 所 有 的 UNIX系 統 架 構 都 是 以 此 為 藍 本 而 設 計 的 。 只 是 每 一 套 UNIX作 業 系 統 也 有 不 完 全 相 同 之 處 , 如 Sun Microsystem的 Solaris系 統 與 AT&T的 System V, Interactive UNIX, 雖 是 以 System V為 版 本 , 但 相 異 處 也 不 少 。 Linux與 SunOS 4.x皆 出 自 於 Berkey版 本 的 背 景 , 也 是 有 許 多 不 同 的 地 方 。 在 這 裡 就 不 針 對 這 些 問 題 作 討 論 , 只 是 提 醒 大 家 認 清 一 套 系 統 要 注 意 其 背 景 及 架 構 , 不 要 混 為 一 談 。

使 用 者 應 用 程 式
/dev  User Space
Device Driver Kernel Space
實 體 設 備

圖一、Device Driver與作業系統的關係

 

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

出處: printk() 使用說明

 

核心通過 printk() 輸出的訊息具有日誌級別,日誌級別是通過在 printk() 輸出的字符串前加一個帶尖括號的整數來控制的,如 printk("<6>Hello, world!\n");。內核中共提供了八種不同的日誌級別,在 linux/kernel.h 中有相應的宏對應。

#define KERN_EMERG    "<0>"    /* system is unusable */

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

原文:i2c_probe()及I2C設備地址 - 驅動開發、總結與體會

 

以下部分內容修正過:

 

I2C的設備驅動是通過i2c_add_driver(&my_driver)向i2c-core註冊的,my_driver中的核心是 detach和attach函數,在attach中通過probe探測到 bus 上的設備並把設備和驅動建立連接以完成設備的初始化。如何探測 bus 上的設備、 Linux中i2c設備地址如何標識並引用?

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

«12