其实对于上面介绍的结构体,里面的元素的作用基本可以见名思意了,所以不用赘述了。其实写一个驱动模块就是填充上述的结构体,根据设备的功能和用途写相应的函数,然后对应到结构体中的指针,然后再写一个入口一个出口(就是模块编程中的 init 和 exit)就可以了,一般情况下入口程序就是在注册 platform_device 和 platform_driver(当然,这样说是针对以 platform 模式编写驱动程序)。

08

嵌入式书籍推荐

1. 硬件方面的书: 微机原理、数字电路,高校里的教材。

2. Linux 方面的书:

《ARM 体系架构与编程》

《嵌入式 Linux 应用开发完全手册》

《Linux 设备驱动》,老外写的那本

《linux 设备驱动开发详解》

《linux 内核完全注释》

《Linux 内核情景分析》

在做驱动的时候,肯定会用到与内核相关的东西,或者需要和内核中的某些模块配合,这样你也要理解内核的某些部分是如何实现的,最后,你应该可以很好的掌握 linux 的内核整体框架是什么。

这些都是进步,都是在你一次又一次的开发中需要总结的东西,如果你不总结,永远都是从头开始(或者说永远都是还没看懂别人代码为什么这么做的时候,就去改它,然后可以工作了),就完事了,这样你永远也不可能提高,最后你就有了现在的这种感觉,觉得自己什么都不是,什么都不懂。

还有一点要说明的,现在有许多人搞 linux 开发,却不去用 linux 系统做为自己工作的平台,在这种情况下,你很难理解 linux 内核的实现机制,以及为什么要采用这种方式实现。

你都没用过 linux 系统,就想去实现一个与 linux 运行机理相符合的项目,这是不可能的。就是你这个项目成功了,它也肯定不是最优的,或者是不符合 linux 的使用习惯的(包括内核的扩展和应用程序的实现)。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查