当前位置: 首页 > news >正文

昆明猫咪网站建设公司百度交易平台官网

昆明猫咪网站建设公司,百度交易平台官网,海口建站费用,新疆好地方app谁开发的一、Linux SPI 框架概述 linux系统下的spi驱动程序从逻辑上可以分为3个部分: SPI Core:SPI Core 是 Linux 内核用来维护和管理 spi 的核心部分,SPI Core 提供操作接口,允许一个 spi master,spi driver 和 spi device 在 SPI Cor…

一、Linux SPI 框架概述

linux系统下的spi驱动程序从逻辑上可以分为3个部分:

SPI Core:SPI Core 是 Linux 内核用来维护和管理 spi 的核心部分,SPI Core 提供操作接口,允许一个 spi master,spi driver 和 spi device 在 SPI Core 中进行注册、注销。

SPI Master Driver:SPI Master针对不同类型的spi控制器硬件,实现spi总线的硬件访问操作。SPI Master通过接口函数向SPI Core注册一个控制器。

SPI Device Driver:SPI Driver是对应于spi设备端的驱动程序,通过接口函数向SPI Core进行注册,SPI Driver的作用是将spi设备挂接到spi总线上;


二、


三、代码追踪


1、注册SPI设备

从内核启动开始

Linux从上电起执行完汇编代码阶段之后,就跳入main.c文件中,开始执行 start_kernel,一些系统外设的初始化设定、注册总线等等众多的初始化工作都在这里完成的。
在这里重点提及下面的几个函数的执行顺序以及它们完成的主要工作。

setup_arch() 函数

这里的函数流程主要是取出在 arch.info.init 段中MACHINE_START所定义的函数指针。这里其中有 .init_machine = smdkc110_machine_init 被赋予 void (*init_machine)(void) __initdata 这个函数指针,做好这些赋值工作之后,以便于后面的函数进行扫描arch.info.init 段中对应的函数以及进行执行它们。


reset_init() 函数

reset_init() 函数是 start_kernel() 函数中最后执行的一个函数,它的功能是创建一个内核线程,然后逐条取出 arch.info.init 段中的函数指针,执行对应的初始化函数。
在这里注意初始化顺序,setup.c中,宏定义 arch_initcall(customize_machine);规定了它的执行顺序是3,即:(arch_initcall(fn) __define_initcall(“3”,fn,3)


spi_register_board_info() 函数

spi_register_board_info() 函数为给定的板子注册SPI设备(片上spi资源)。
它在 smdkc110_machine_init() 函数中执行,而smdkc110_machine_init() 在宏定义 MACCHINA_START中赋值给 .init_machine成员,在上面的 setup_arch() 函数中 又赋值给void (*init_machine)(void) __initdata 这个函数指针,最后通过 reset_init() 函数去执行。


2、注册 SPI 总线

SPI 总线注册流程如下图。触发这个流程的关键是宏定义 :postcore_initcall(spi_init)。

#define postcore_initcall(fn) __define_initcall(“2”,fn,2)

这个宏在 reset_init() 函数中扫描 arch.info.init 段中被执行 可见它的执行顺序比较早,早于上面的 spi_register_board_info()的注册。流程如下:


3、注册SP控制器

module_init(s3c64xx_spi_init);

http://www.mmbaike.com/news/21971.html

相关文章:

  • 我的世界做图片网站网站推广公司黄页
  • 如何缩小wordpress文字边距优化疫情政策
  • 用vue做网站一般用什么组件库sem营销是什么意思
  • 想找公司做网站上海网络排名优化
  • 网站建设的步骤著名的个人网站
  • 在线ps手机版网页版抖音矩阵排名软件seo
  • 章丘做网站公司百度竞价开户公司
  • 为什么做旅游网站哈尔滨百度网站快速优化
  • 毕业设计做购物网站的要求常见的搜索引擎有哪些?
  • 跟有流量的网站做友情链接十大广告公司排名
  • 洛阳交友网站开发公司seo搜索引擎工具
  • 微信支付 网站备案淘宝怎么优化关键词步骤
  • 上海企业网站制作哪家专业外贸公司一般怎么找客户
  • 如何给网站做脚本今日头条seo
  • 网站要怎么做的网络营销是网上销售吗
  • 注册去美国做住家保姆的网站百度号码认证申诉平台
  • 网站建设选哪家网站seo需要用到哪些工具
  • 今天开始做女神免费网站百度搜索引擎的特点
  • 做网站开源免费网站的软件
  • 网站开发辛苦吗什么是论坛推广
  • WordPress交互式网站搜索引擎优化介绍
  • 做网站用什么工具好关键词查找
  • 设计网站软件开发网络推广员是干什么的
  • 做pc端网站价格如何免费做视频二维码永久
  • 有视频做的很好的网站吗seo外包公司优化
  • 网站建设公司好不好宁波seo网络推广优质团队
  • 网站注册页面html夸克搜索引擎入口
  • 哪个网站是做韩国化妆品正品网络营销推广的手段
  • .net 网站 数据库配置文件网络营销师证书有用吗
  • 厦门网站建设公司排行榜成都网站seo外包