Linux 内核spi-nor的驱动源码分析(一、底层通讯篇)
首先,开头总是要说两句。驱动程序首要目的是让硬件run 起来,硬件device 现在都是封装好接口,连接上指定的总线,和主控 master 部分相连。主控master端 之所以能够 控制device,要设备明白master的意图,就需要双方都遵从统一的语言——协议。那么在硬件电路当中,交谈肯定不是用声音信号,而是用电信号。
故而:时序 = 协议 = Timing chat ,主控master端 和 slave 端,根据传输在bus 上的特定电信号协议,进行通信。这部分,如果想直观的看到人家是怎么交流的,就可以用示波器看波形了。
所以,驱动实现让硬件run起来的方法,就是在总线上,产生datasheet中指定的时序,一句话说完什么是驱动。
Linux kernel 主要产生的原因,个人理解,将共用的中间层代码封装好,标准化让大家共同开发,然后共同完善。
整理Linux 内核实现大致框图。后续具体分析,代码中的实现思想。