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

中投建设集团有限公司 网站营销型网站及原因有哪些方面

中投建设集团有限公司 网站,营销型网站及原因有哪些方面,前端微信公众号开发,长沙景点一. 简介 Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。 本文来学习一下Linux下SPI设备驱动。 二. Linux下SPI驱动:SP…

一. 简介

Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。

本文来学习一下Linux下SPI设备驱动。

二. Linux下SPI驱动:SPI设备驱动简介

1. spi_driver 结构体

spi 设备驱动也和 i2c 设备驱动也很类似, Linux 内核使用 spi_driver 结构体来表示 spi 设备 驱动,我们在编写 SPI 设备驱动的时候需要实现 spi_driver spi_driver 结构体定义在 include/linux/spi/spi.h 文件中,结构体内容如下:
struct spi_driver {const struct spi_device_id *id_table;int			(*probe)(struct spi_device *spi);int			(*remove)(struct spi_device *spi);void			(*shutdown)(struct spi_device *spi);struct device_driver	driver;
};

可以看出,spi_driver i2c_driverplatform_driver 基本一样,当 SPI 设备和驱动匹配成功以后 probe 函数就会执行。

2. SPI设备驱动注册与注销

同样的, spi_driver 初始化完成以后需要向 Linux 内核注册, spi_driver 注册函数为spi_register_driver函数 ,函数原型如下:
int spi_register_driver(struct spi_driver *sdrv)
函数参数和返回值含义如下:
sdrv 要注册的 spi_driver
返回值: 0 ,注册成功;赋值,注册失败。

注销 SPI 设备驱动以后也需要注销掉前面注册的 spi_driver ,使用 spi_unregister_driver 函数完成 spi_driver 的注销,函数原型如下:
void spi_unregister_driver(struct spi_driver *sdrv)
函数参数和返回值含义如下:
sdrv 要注销的 spi_driver。
返回值: 无。

三.  spi_driver 注册示例代码

SPI设备驱动的注册示例代码,即spi_driver 注册示例程序如下:
/*SPI设备驱动的注册示例代码*/
/* probe 函数 */
static int probe(struct spi_device* dev)
{//具体的函数内容return 0;
}/* remove 函数 */
static int remove(struct spi_device* dev)
{   //具体的函数内容return 0;
} /* 传统匹配方式 ID 列表 */
static struct spi_device_id xxx_id_table[] = {{"xxx", 0},{}
};/* 设备树匹配列表 */
static struct of_device_id xxx_of_match_table[] = {{.compatible = "xxx"},{}
};/* SPI 驱动结构体 */
static struct spi_driver xxx_spi_driver = {.driver = {.name = "xxx_spi",.owner = THIS_MODULE,.of_match_table = xxx_of_match_table,},.id_table = xxx_id_table,.probe = xxx_probe,.remove = xxx_remove,
};/* 驱动入口函数 */
static int __init xxx_init(void)
{spi_register_driver(&xxx_spi_driver); //SPI设备驱动的注册
}
/* 驱动出口函数 */
static void __exit xxx_exit(void)
{spi_unregister_driver(&xxx_spi_driver); //SPI设备驱动的注销
}module_init(xx_init);
module_exit();

1~38 行, spi_driver 结构体,需要 SPI 设备驱动人员编写,包括匹配表、 probe 函数等。
i2c_driver platform_driver 一样,就不详细讲解了。
41~44 行,在驱动入口函数中,调用 spi_register_driver 来注册 spi_driver
46~49 行,在驱动出口函数中,调用 spi_unregister_driver 来注销 spi_driver

http://www.yayakq.cn/news/794455/

相关文章:

  • 微信怎么自己创建小程序安卓优化大师app下载
  • 企业网站网页设计的步骤嘉兴做美食图片的网站
  • 建设学校网站的原因如何做网站推广及优化
  • 建站宝盒小程序优秀的展厅设计网站
  • 广东网站推广wordpress 文本编辑插件
  • 确定网站开发团队重庆最大本地论坛
  • 国外空间设计网站东莞ppt免费模板下载网站
  • 武安网站设计公司汽车网站网址大全
  • php建网站网站设计主题
  • 制作一个交易平台网站抖音开放平台游戏
  • 网站开发 ppt百度快速收录开通
  • 制作公司内部网站暖色调网站欣赏
  • icp备案查询网站网页界面设计作品推荐
  • 电商网站的二级菜单怎么做wordpress国内主题排行
  • 网络公司做网站网站开发发展趋势2018
  • 深圳手机商城网站设计制作深圳做网站建设公司
  • 南京响应式网站制作苏州网站建设报价单
  • 学做网站格式工厂施工企业的定义
  • 天津建设网站培训做网站什么框架比较好
  • 网站推广公司黄页壁纸网站设计制作专业
  • 网站建设会计帐务处理巴中网站建设公司
  • 腾讯广告建站工具门户网站建设和管理情况
  • 网站询盘量网站开发实习
  • 徐州丰县建设局网站国际域名注册管理机构
  • 微网站开发海南网站建设哪家不错
  • 网站内容怎么做网站建设培训中心
  • 中山企业网站建设定制wordpress路径错误
  • 山东网站制作公司排名上海雍熙网站建设
  • 企业门户网站 意义杭州网站建设求职简历
  • 顺义深圳网站建设公司北京网站seo费用