0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI子系统driver软件流程

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-25 11:01 次阅读

软件流程

图片

看懂该图,对SPI 驱动框架就有完整的了解了。

1、2、3 按顺执行,首先有 spi 总线的注册,然后是 spi 控制器驱动加载,然后是设备驱动加载。

区别在于,spi 控制器驱动加载时,是靠 platform 总线匹配设备(控制器)与驱动。spi设备驱动加载时,是靠 spi 总线匹配设备(外设IC)与驱动。

init flow

图片

spi_register_master的调用序列图

图片

当协议驱动程序通过 spi_async 发起一个 message
请求时,队列化和工作线程被激活,触发一些列的操作,最终完成 message 的传输操作。

spi_sync 与 spi_async 类似,只是有一个等待过程。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4940

    浏览量

    87462
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91563
  • 子系统
    +关注

    关注

    0

    文章

    109

    浏览量

    12398
收藏 人收藏

    评论

    相关推荐

    SMARTCAR软件平台怎么实现汽车电子系统软件的整体设计?

    SMARTCAR软件平台怎么实现汽车电子系统软件的整体设计?
    发表于 05-12 06:17

    linux I2C子系统的相关资料分享

    文章目录linux I2C子系统框架在设备树中添加从设备信息,mpu5060I2C driver 程序的编写mpu6050 I2C程序具体实现linux I2C子系统框架在之前的一篇文章中记录
    发表于 02-10 06:06

    基于OpenHarmony的Graphic标准子系统能力分析

      1 简介  标准系统提供了图形接口能力和窗口管理接口能力, 支持应用程序框架子系统和ACE等子系统使用。故可以根据不同硬件系统选择编译不同模块,选择适配轻量
    发表于 03-18 13:45

    适用于NFC和验证的子系统设计

    ,尤其是安全关键性应用中,必须仅利用通过认证、检查和适当维护的部件。本文档介绍了子系统的实现流程,该子系统能够存储此类信息,并通过 NFC 或 I2C/SPI/UAR 连接至主机控制器
    发表于 09-22 09:15

    Arm Corstone SSE-050子系统技术参考手册

    SSE-050提供预先集成和验证的流程和技术不可知参考,以及可扩展以提供物联网终端系统的硬件和软件子系统。 下图显示了由多个终端和一个共享控制节点组成的物联网
    发表于 08-17 06:16

    ADuM4177: 30 A Isolated SiC Gate Driver with Slew Rate Control and SPI Preliminary Data Sheet

    ADuM4177: 30 A Isolated SiC Gate Driver with Slew Rate Control and SPI Preliminary Data Sheet
    发表于 01-29 12:57 11次下载
    ADuM4177: 30 A Isolated SiC Gate <b class='flag-5'>Driver</b> with Slew Rate Control and <b class='flag-5'>SPI</b> Preliminary Data Sheet

    硬件SPI软件模拟SPI速度区别实测

    硬件SPI软件模拟SPI速度区别实测目前为了程序移植方便,许多以SPI接口的芯片所提供的参考代码大多都使用的是软件
    发表于 12-22 19:13 9次下载
    硬件<b class='flag-5'>SPI</b>与<b class='flag-5'>软件</b>模拟<b class='flag-5'>SPI</b>速度区别实测

    软件模拟SPI

    软件模拟比硬件操作SPI更为简单,缺点是明显更加消耗CPU软件SPI实例:CPOL=1,CPHA=1(比方)u8 SOFT_SPI_RW(u
    发表于 12-22 19:15 10次下载
    <b class='flag-5'>软件</b>模拟<b class='flag-5'>SPI</b>

    STM32入门:软件 SPI 源码分享

    软件 SPI 源码分享项目需求,只需要软件 SPI 的写入功能,后面有时间了再把读取功能补上。spi.h//
    发表于 12-22 19:24 11次下载
    STM32入门:<b class='flag-5'>软件</b> <b class='flag-5'>SPI</b> 源码分享

    嵌入式驱动开发两大子系统的使用

    本文的关注点是 gpio driver --> gpio subsystem core -> gpio consumer 这一路径,读者如果想更深入地了解 pinctrl 子系统.
    的头像 发表于 03-15 13:41 1810次阅读

    GD32150 SPI TFT LCD Driver源码

    GD32150-SPI_TFT LCD Driver源码分享
    发表于 10-08 10:07 1次下载

    SPI子系统SPI设备驱动

    [] = { { .compatible = "xxx" }, { /* Sentinel */ }}; /* SPI 驱动结构体 */ static struct spi_driver
    的头像 发表于 07-25 11:05 978次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>子系统</b>:<b class='flag-5'>SPI</b>设备驱动

    SPI子系统SPI时序图

    ,硬件设计必须注意信号质量风险,软件开发人员也要会看波形图。 这里的参数,一般 spi 驱动不需要设置,但是半导体厂商提供的 spi 控制器驱动中,可以修改这些参数
    的头像 发表于 07-27 10:51 3658次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>子系统</b>之<b class='flag-5'>SPI</b>时序图

    LT8722: Ultracompact 4A, 15V, Full Bridge Driver with SPI Data Sheet LT8722: Ultracompact 4A, 15V, Full Bridge Driver with SPI Data Sheet

    电子发烧友网为你提供ADI(ADI)LT8722: Ultracompact 4A, 15V, Full Bridge Driver with SPI Data Sheet相关产品参数、数据手册
    发表于 10-16 18:56
    LT8722: Ultracompact 4A, 15V, Full Bridge <b class='flag-5'>Driver</b> with <b class='flag-5'>SPI</b> Data Sheet LT8722: Ultracompact 4A, 15V, Full Bridge <b class='flag-5'>Driver</b> with <b class='flag-5'>SPI</b> Data Sheet

    AUTOSAR软件开发流程简介

    AUTOSAR软件开发流程简介 AUTOSAR软件开发流程是指在AUTOSAR架构下进行软件开发的一系列步骤和方法。它包括以下几个主要阶段:
    的头像 发表于 10-27 15:55 3144次阅读
    AUTOSAR<b class='flag-5'>软件</b>开发<b class='flag-5'>流程</b>简介