频谱仪多种内核通信机制的方案设计

时间:2012-04-12来源:网络
troke-width: 0px">  Linux操作系统将所有的设备(而不仅是存储器里的文件)都看成文件,以操作文件的方式访问设备。应用程序不能直接操作硬件,而是使用统一的接口函数调用硬件驱动程序。在设计的驱动程序中,首先要根据驱动程序的功能完成file_operations结构中的函数实现,不需要的函数接口可以直接在file_operations结构中初始化为NULL。而file_operations结构变量会在驱动程序初始化时注册到系统内部。当操作系统对设备操作时,就会调用驱动程序注册的file_operations结构中相应的函数指针。

  对于Linux驱动的注册有两种方式:一种是直接编译到内核中,在系统启动时即对设备进行注册;另一种是以模块的方式注册设备,需要在系统启动后用命令对设备进行注册。后一种方式在系统开发期使用比较方便,不用在每次修改驱动程序后和内核一起进行编译,只需要将模块编译成后缀为,ko的模块文件,就可下载到开发板中直接使用。在本课题中,使用的是模块注册的方式,在项目开发期间可大大缩短开发时间。

  4 Linux设备驱动的实现

  对于编写一个Linux设备的驱动程序,大致的流程如下:

  ①查看原理图、数据手册,了解设备的操作方法。

  ②实现驱动程序的初始化,比如向内核注册这个驱动程序,这样应用程序传入文件名时,内核才能找到相应的驱动程序。

  ③设计所要实现的操作,比如open、close、read、write等函数。

  ④实现中断服务(不是必须的)。

  ⑤编译该驱动程序到内核中,或者用insmod命令加载。

1 2 3 4 5 6 7 8 9 10 11

关键词: 频谱仪 内核通信

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版