原创 UART設備驅動探究1

 UART設備驅動探究 1--Uart設備發送和接受數據的流程 1.1 tty設備發送數據的流程: --tty核心從一個用戶獲取將要發送給一個tty設備的數據,[用戶空間-->tty核心(tty_write)]; --tty核心將數據

原创 epoll_pool_select

1.Epoll  常用操作:   #include <sys/epoll.h>  1,1 int epoll_create(int size);   返回值:On  success,  these system calls return

原创 Linux設備驅動模型探究--4(driver)

 四. 關於驅動(driver)--driver.c /*數據結構*/ struct device_driver {  const char  *name;  /*驅動名字*/  struct bus_type  *bus; /*驅動

原创 Linux設備驅動模型探究--1(kobject)

 1. sysfs文件系統---首先爲應用程序提供了文件接口,其次將設備和驅動鏈接起來;    sysfs文件系統在 sysfs_init( )初始化   ---主要的函數sysfs_init_inode( )       2 kob

原创 Linux字符設備原理探究--1

1 Linux字符設備概述 Linux從各異的設備中提取共性,將其劃分成三大類:字符設備、塊設備和網絡設備。 內核針對每一類設備都提供了對應的驅動模型框架,包括內核設施和文件系統接口。 常見的字符設備-鍵盤、鼠標、液晶顯示、打印機等.

原创 Linux設備驅動模型探究--3(device)

 三.設備(device) /***系統中的每個設備都是一個struct device對象,內核爲容納所有這些設備定義了一個kset-->devices_kset, ****作爲系統中所有struct device類型內核對象的容器,

原创 Iput子系統探究--1(input_dev)

 1.input子系統初始化 input子系統對上層應用提供一個統一的接口--字符設備接口-主設備號13 static const struct file_operations input_fops = {  .owner = THI

原创 dm9000驅動分析

 1.關於write函數條用過程 write --->sock_aio_write ------>do_sock_write --------->__sock_sendmsg /*--->協議無關層*/ sock->ops->sen

原创 IIC && SPI架構淺析

 一. IIC 架構淺析 1. 註冊板級包中的i2c設備(例如:eeprom1,eeprom2,eeprom3), 將i2c設備添加到__i2c_board_list鏈表中。   i2c_register_board_info(0,

原创 Iput子系統模型探究--2(handler-->以evdev_handler爲例)

 3. 關於input_handler //Evdev--> Event char devices, giving access to raw input device events. 接下來以evdev(Input driver e

原创 Linux字符設備原理探究--2(應用層調用)

 4. 關於系統調用分析 4.1 創建字符設備文件節點--mknode 在使用字符設備之前通常要創建字符設備文件節點--例如:mknod /dev/char_key c 255 0 -->在/dev/目錄下創建char_key字符設備

原创 Linux設備驅動模型探究--2(bus)

 二. 總線bus、設備device、驅動driver   ----總線、設備、驅動是建立在kobject和kset基礎之上的,也是設備驅動程序員與之打交道最多的部分。 ----總線是Linux設備驅動模型中最核心的框架,設備與驅動都

原创 中斷下半部分機制--tasklet和工作隊列

 中斷下半部分機制--tasklet和工作隊列 1.tasklet    tasklet機制是內核定義的幾種softirq之一(常用)    根據優先級不同內核將tasklet分成兩種:TASKLET_SOFTIRQ 和 HI_SOF