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

时间:2012-04-12来源:网络
4.1.5 模块的编译、加载

  在驱动文件的最后加上如下代码,设置模块加载与释放对应的函数:

  module_init(hpi_init);

  module_exit(hpi_exit);

  完成了驱动程序的编写,将源程序文件在Linux开发环境下编译成.ko的模块文件,使用insmod和rmmod指令来加载和卸载模块。

  4.2 SPI设备驱动程序实现

  在SPI的驱动设计中,大体的框架跟HPI是相同的。包括头文件宏定义的完善、SPI设备的初始化、file_operations结构中函数的实现、资源释放,最后编译、加载。需要说明的是AT91RM9200自带了SPI接口,所以初始化时要根据芯片手册对SPI接口的I/O线、时钟、工作模式

  等进行配置,才能保证硬件的正常工作。在SPI驱动的write函数中,使用了如下代码:

  copy_from_user(Ytos,buf,count);

  在Linux的驱动设计中,经常涉及到用户空间和内核空间的通信问题,即数据的交换。copy_from_user与copy_to_user函数就是为了实现这一功能。上述代码实现的功能就是将用户空间buf的count字节的内容复制到内核中定义的数组Ytos中,从而完成用户空间和内核的数据交换。驱动的其余实现类似HPI,不再详述。

1 2 3 4 5 6 7 8 9 10 11

关键词: 频谱仪 内核通信

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

或用微信扫描左侧二维码

相关文章

查看电脑版