ZH
首页
归档
分类
标签
关于
SPI驱动分析之Kernel SPI Data flow architecture
Kernel SPI Data flow architecture从HW Spec上来讲,一笔SPI传输的定义为往SPI Register里设置的传输长度,这个长度的数据全部发送完成,为一笔传输结束,硬件会触发SPI中断,或者取消片选CS等操作。 从SW上来讲,Kernel为SPI传输构造了spi_transfer和spi_message,spi_transfer即对应HW的一笔传输(传输数据量如
2020-07-25
Linux驱动
Linux驱动
SPI驱动分析之Kernel spi_sync
Kernel spi_sync
2020-07-25
Linux驱动
Linux驱动
SPI驱动分析之Kernel spi_async
Kernel spi_async
2020-07-25
Linux驱动
Linux驱动
SPI驱动分析之kernel spi 两个同步操作
Kernel spi 两个同步操作
2020-07-25
Linux驱动
Linux驱动
SPI驱动分析之SPI Protocol
SPI Protocol SPI的本质上是一种循环总线结构,SSPSR是SPI内部的移位寄存器,在发起SPI读/写时,SPI Master和SPI Slave中移位寄存器的值会进行交换。SSPSR的长度一般为8bit,也可以设置为16或者32bit。 SPI控制器内部会自带两个FIFO,一般为32bytes,用来缓存需要发送和接收的数据。 在SPI传输之前,TXFIFO会自动将需要传输的值放入ss
2020-07-11
Linux驱动
Linux驱动
SPI驱动分析之kernel SPI 框架
kernel SPI 框架 SPI驱动从整体上遵循spi bus - drv -dev模型,核心层为spi.c,这与平台总线设备驱动模型及其相似,都遵循内核的bus_type框架,只是在构造spi device时会稍微有些复杂。 根据上面描述的spi总线模型,spi驱动核心的结构体有spi_device 和 spi_driver,其中,spi_device结构体中会含有spi控制器的信息,也就是s
2020-07-11
Linux驱动
Linux驱动
创建Linux内核函数的man手册
自带的man手册只能查询C库的函数和linux系统调用,不能查询linux内核函数。如果做驱动开发,就很不方便查询linux的内核函数。我们可以通过linux内核生成Man手册。 下载linux内核源码,并且编译通过 在顶层目录下执行,这一步时间有点长 make mandocs 安装man手册,就是把生成的文件拷贝到系统目录下,因此需要sudo权限 sudo make installma
2019-08-05
Linux环境搭建
Linux环境搭建
设计模式概述
一个目标管理变化,提高复用 关注点稳定点和变化点抽象类和接口 两个手段 分解 抽象 八大原则 依赖倒置原则 DIP 开放封闭原则 OCP 单一职责原则 SRP Liskov替换原则 LSP 接口隔离原则 ISP 对象组合优于类继承 封装变化点 面向接口编程 重构技巧 静态 》》》 动态 早绑定 》》》 晚绑定 继承 》》》 组合 编译时依赖 》》》 运行时依赖 紧耦合 》》》 松耦合 什
2019-08-03
C++设计模式
C++设计模式
适配器模式
适配器模式,又叫Adapter模式,属于接口隔离模式的一种,常用于framework中新老接口的更新。 定义将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 — 《设计模式》 GoF 模式动机在软件系统中,通常可以使用目标类的接口访问它所提供的服务,但是有时现有的类的实现可以满足客户的需要但是接口并不能满足客户的需求,这可能是现
2019-08-02
C++设计模式
C++设计模式
享元模式
享元模式,又叫Flyweight,属于对象性能模式中的一种,主要解决系统中大量的细粒度的对象而带来不必要的系统开销,主要是指内存方面的开销。 模式定义运用共享技术有效地支持大量细粒度的对象。 —《设计模式》 GoF 模式动机系统中有大量的对象时,而且这些对象有些之间是相同的,或者说可以把这些对象分为几类,这种情况就可以使用相同的一类对象合并成使用相同的一个对象,因此系统就由之前很多重复的几类对象变
2019-08-01
C++设计模式
C++设计模式
1
2
3
…
5
搜索
×
关键词