数据传送3.7驱动和应用程序的开发

数据传送3.7驱动和应用程序的开发基于μCLinux操作系统的硬件驱动和应用程序的开发是在交叉编译环境中进行的,首先在PC机上开发,然后移植到目标机上进行调试并最终固化到目标机上

所开发的硬件驱动有以太网卡控制器驱动、LCD驱动、HPI驱动等驱动程序

系统软件结构如图4所示.在μClinux操作系统上运行三个任务:读取压缩数据、通过以太网发送数据、接收和执行来自远端PC机的命令

其中读取DSP压缩数据任务对实时性有要求,它通过中断处理程序来实现,而其他的两个任务则通过用户进程来实现

以太网发送数据的任务和读取压缩数据的任务共享一个缓冲区,通过ioctl函数在其间传递缓冲区双向链表的地址

所以需要为数据处理模块上的通信接口HPI注册一个驱动程序,注册驱动程序的函数是:result=register_chrdev(HPI_MAJOR,"hpi",&hpi_fops)驱动程序的主要结构如下:struct file_operations hpi_fops={owner: THIS MODULE,open: hpi_open,read: hpi_read,write: hpi_write,ioctl: hpi_ioctl,mmap:hpi_mmap,release:hpi_release,};HPI驱动程序编写完成后,将驱动程序源代码置于../linux-2.4.x/driver/char目录下,同时修改同级目录下的Makefile,在../linux-2.4.x/driver/char/Makefile中加入Obj_y +=hpi.o同时,为了能够在?滋Clinux启动时自动初始化此字符设备,还需要修改 ../linux-2.4.x/driver/char/men.c文件,在其中加入:(1)新添加的字符驱动程序初始化函数声明:extern void hpi_init(void);(2)在字符设备统一初始化函数int _init chr_dev_init(void)中调用新设备的初始化函数,需要在int _init chr_dev_init(void)中加入语句:hpi_init();在函数int _init chr_dev_init(void)中,字符设备的初始化函数将被统一调用,并完成字符驱动file_operations数据结构的注册,初始化之后就可以使用HPI字符设备了

本文所设计数据传送总线变换器,不仅解决了由于传输距离远而引起的信号畸变问题,而且满足了信息传递的实时性要求,同时具有网关功能和嵌入式Web功能,能确保系统安全接入Internet

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关