互斥量(Mutex)從本質上說就是一把鎖, 提供對共享資源的保護訪問。
1. 初始化:
在Linux下, 線程的互斥量數據類型是pthread_mutex_t. 在使用前, 要對它進行初始化:
互斥量(Mutex)從本質上說就是一把鎖, 提供對共享資源的保護訪問。
1. 初始化:
在Linux下, 線程的互斥量數據類型是pthread_mutex_t. 在使用前, 要對它進行初始化:
來源:
Linux resouce,platform_device和platform_driver驅動的關係 - linye09
相關:
從2.6版本開始引入了platform這個概念,在開發底層驅動程序時,首先要確認的就是設備的資源信息,例如設備的地址,
在 著 手 撰 寫 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與作業系統的關係
出處: printk() 使用說明
核心通過 printk() 輸出的訊息具有日誌級別,日誌級別是通過在 printk() 輸出的字符串前加一個帶尖括號的整數來控制的,如 printk("<6>Hello, world!\n");。內核中共提供了八種不同的日誌級別,在 linux/kernel.h 中有相應的宏對應。
#define KERN_EMERG "<0>" /* system is unusable */
原文:i2c_probe()及I2C設備地址 - 驅動開發、總結與體會
以下部分內容修正過:
I2C的設備驅動是通過i2c_add_driver(&my_driver)向i2c-core註冊的,my_driver中的核心是 detach和attach函數,在attach中通過probe探測到 bus 上的設備並把設備和驅動建立連接以完成設備的初始化。如何探測 bus 上的設備、 Linux中i2c設備地址如何標識並引用?