找回密码
 注册
关于网站域名变更的通知
查看: 308|回复: 1
打印 上一主题 下一主题

基于S3C2440的Linux驱动 -- SPI子系统解读(四)(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-28 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
   本系列文章对Linux设备模型中的SPI子系统进行讲解。SPI子系统的讲解将分为4个部分。
8 z" l1 y. V9 b& m4 Z3 l: m/ x( Y! H! p2 I) R2 N/ i& d
   第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。
基于S3C2440的Linux驱动 -- SPI子系统解读(一)- O0 v& P) U2 l4 X8 Q5 ]/ V' ?0 v# p" k
( x# h* Y% J. U# x
   第二部分,该文将对SPI的主控制器(master)驱动进行描述。
基于S3C2440的Linux驱动 -- SPI子系统解读(二)(上)基于S3C2440的Linux驱动 -- SPI子系统解读(二)(下)% R0 f. p5 {6 F
   第三部分,该文将对SPI设备驱动,也称protocol 驱动,进行讲解。
基于S3C2440的Linux驱动 -- SPI子系统解读(三)2 U4 l: E. e& C* E

2 x6 L) g5 Y) f5 w, O" w   第四部分,即本篇文章,通过SPI设备驱动留给用户层的API,我们将从上到下描述数据是如何通过SPI的protocol 驱动,由bitbang 中转,最后由master驱动将数据传输出去。
. k9 S" B+ z4 q7 y2 q/ V( f3 Q7 ^
* N  V3 s  n( ^4 M- R" g本文属于第四部分(上)。  W, V1 {4 {9 q' ^( t" d
7 d9 U; }! u% x6 F0 R
7. write,read和ioctl综述
; ^4 ]6 r5 y. c, [/ R4 e/ }1 M
* Q0 U4 V; B+ N' N2 f      在spi设备驱动层提供了两种数据传输方式。一种是半双工方式,write方法提供了半双工读访问,read方法提供了半双工写访问。另一种就是全双工方式,ioctl调用将同时完成数据的传送与发送。9 c- j) ?2 g( a, N5 R1 R; W
5 e, @# k- I& U7 X4 E
     在后面的描述中,我们将对write和ioctl方法做出详细的描述,而read方法和write极其相似,将不多做介绍。! W% Q# u& l) x' R- `% y) p* S: A" \
3 v: x# t: [$ a* i7 l
     接下来首先看看write方法是如何实现的。
/ k" V! P! M. r0 K  O1 l+ ]7 c2 Y, V; o
8. write方法! p3 f$ U" \2 ?2 d% p
% M8 d& M( X# f  }# f, m9 P) G
8.1 spidev_write

8 v& b: m  n1 X- T% P5 P/ m- v' Q  c0 W* R4 w# p  J2 r
游客,如果您要查看本帖隐藏内容请回复
) t, J, N- |- B% C

% T, n; a+ Y' b% h# A( P+ @* E' n0 j- H; O8 r5 ~9 F- H5 ?$ Y* U1 k  Y

该用户从未签到

2#
发表于 2019-8-28 18:02 | 只看该作者
好东东,谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-23 08:14 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表