文档章节

spi 驱动程序组成简要分析

好东西当然要分享
 好东西当然要分享
发布于 2017/05/31 21:23
字数 233
阅读 16
收藏 0

注册设备info(主要有设备通信速率、模式、片选引脚等与具体设备相关信息)

spi_register_board_info
        list_add_tail(&bi->list, &board_list);//放进board_list链表中
        list_for_each_entry(master, &spi_master_list, list)
        spi_match_master_to_boardinfo        //遍历从spi_master_list中每一个master执行spi_match_master_to_boardinfo
                if (master->bus_num != bi->bus_num)//判断bus_num是否一致,如果是此时就创建新设备
                spi_new_device
                        spi_alloc_device
                        spi_add_device
                                spi_setup
                                device_add   //至此,一个spi设备就被注册进总线,之后便可通过匹配match函数进行与driver的匹配了

注册设备driver

spi_register_driver
        driver_register
                bus_add_driver
                        driver_attach            //同样此时注册了一个spi驱动,同样通过匹配match函数进行与device的匹配
                                


注册spi控制器

spi_register_master
        list_add_tail(&master->list, &spi_master_list);//先将master 添加进spi_master_list 链表中
        list_for_each_entry(bi, &board_list, list)
        spi_match_master_to_boardinfo(master, &bi->board_info);//遍历每个board并执行spi_match_master_to_boardinfo
                if (master->bus_num != bi->bus_num)
                spi_new_device                                            //若bus_num一致执行新建设备,之后的工作和上面的spi_register_board_info一致

© 著作权归作者所有

好东西当然要分享
粉丝 0
博文 5
码字总数 2865
作品 0
深圳
程序员
私信 提问
OLED12864和TFT12864驱动程序设计

在嵌入式开发中,有时会用到显示屏,我们今天涉及的两款显示屏:OLED12864和TFT12864! 特点: 都支持SPI驱动,尺寸一样! OLED12864只能显示单一颜色的像素点,成本低,不需要背光源,显示速...

iot_college
2018/04/12
0
0
【博文汇总】SPI总线学习

【博文汇总】SPI总线学习 【SPI总线协议介绍】 简要的介绍了SPI协议的技术性能、总线结构、接口定义、物理内部结构、时钟极性和时钟相位、传输时序、数据传输以及优缺点。通过该文章能多SPI...

长平狐
2013/06/03
29
0
Ubuntu 17.10将在1月11日重新发布,将不会再有砖头笔记本电脑

Ubuntu 17.10将在1月11日重新发布,将不会再有砖头笔记本电脑 IMCN 4小时前暂无评论 阅读 82 次 Ubuntu 17.10将于2018年1月11日再次下载。 Canonical 上个月从官方的Ubuntu网站下架了Ubuntu ...

IMCN
2018/01/09
0
0
S5PV210开发 -- I2C 你知道多少?(二)

上一篇主要是介绍了下芯片手册 I2C 部分,都应该看些什么,以及上拉电阻取值和传输速率模式选择。 这一篇该来点程序了,首先以 AT24C02 (EEPROM)为基础介绍一下I2C设备驱动编程,然后以 MT...

qq_29350001
2017/12/12
0
0
[嵌入式开发模块]MC9S12XEP100 SPI模块 驱动程序

之前发了MC9S12XEP100数据手册上的SPI模块的翻译http://blog.csdn.net/linstrong/article/details/79122482。 于是乎,现在对其的封装也来了。目前先完成了硬件驱动部分的封装。软件部分还没...

lin_strong
2018/02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
今天
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部