原文:Linux設備驅動剖析之IIC(一)

寫在前面 由於IIC總線只需要兩根線就可以完成讀寫操作,而且通信協議簡單,一條總線上可以掛載多個設備,因此被廣泛使用。但是IIC總線有一個缺點,就是傳輸速率比較低。本文基於Linux . . 版本,說說IIC子系統在Linux中的實現。 借用某書上的IIC子系統的體系結構圖: Linux IIC子系統體系結構 下面開始分析IIC子系統。 IIC子系統的初始化在drivers i c i c cor ...

2013-08-17 20:37 1 3059 推薦指數:

查看詳情

Linux設備驅動剖析IIC(三)

下面以eeprom用戶程序調用ioctl函數的寫操作為例追蹤IIC子系統的調用過程。eeprom的用戶測試是大部分開發板都自帶的。看寫一個字節數據的eeprom_write_byte函數的定義: 這里使用的是8位地址,因此調用的是i2c_write_2b函數,為什么是2b?這是 ...

Sun Aug 18 05:04:00 CST 2013 0 3764
Linux設備驅動剖析之SPI(三)

572至574行,分配內存,注意對象的類型是struct spidev_data,看下它在drivers/spi/spidev.c中的定義: 76行,設備號。79行,設備鏈表,所有采用此驅動設備將連成一個鏈表。83行,計數,也即是此設備被open的次數。 回到 ...

Sun Aug 18 04:13:00 CST 2013 0 5188
Linux設備驅動剖析之SPI(一)

收發器,當時搞了很久,由於時間比較緊,而且當時根本不熟悉Linux的SPI子系統,最后雖然采用IO口模 ...

Sun Aug 18 03:45:00 CST 2013 0 14903
Linux設備驅動剖析之SPI(四)

781行之前沒什么好說的,直接看783行,將work投入到工作隊列里,然后就返回,在這里就可以回答之前為什么是異步的問題。以后在某個合適的時間里CPU會執行這個work指定的函數,這里是s3c64xx ...

Sun Aug 18 04:22:00 CST 2013 0 3564
Linux設備驅動剖析之Input(一)

前言 以前在移植Qt到開發板上時只知道在配置文件中需要指定觸摸屏的設備文件/dev/input/event0,僅此而已。直到一年半前突然想到用紅外遙控器控制Tiny6410開發板上的Android系統,從而代替物理按鍵。實現原理是很簡單的,就是首先解碼紅外信號,然后根據解碼出的鍵值 ...

Fri Aug 23 03:28:00 CST 2013 0 5429
linuxiic驅動編寫—有設備樹&沒有設備

1.iic設備(client)注冊 1.1 老內核版本下沒有設備樹的情況   在老內核版本下,可以使用如下三種方法注冊client:   (1)i2c_register_board_info函數。以i2c_devs0為例,i2c_devs0是一個數組,里面是i2c0上所有的設備 ...

Sun Apr 26 08:43:00 CST 2020 0 1222
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM