基于μCLinux的USB驱动程序实现
3 实现驱动程序的加载
驱动程序可以按照两种方式编译:一种是静态编译进内核;另一种是编译成模块以供动态加载。该设备驱动程序采用静态编译进μClinux内核。下面以在嵌入式μClinux系统中需新增一个USB字符型设备FT245BL为例,介绍设备驱动程序的添加的一系列步骤。
3.1 配置相关信息
首先,将编写好的驱动程序复制到μClinux系统的文件目录中。新建ft245bl目录统一管理USB设备的驱动文件包括C文件、头文件、编译文件、配置文件,存放于目录μClinux-dist/linux-2.6.x/drivers/char/下,在ft245bl下新建Makefile,并在下面两个编译文件中添加编译指令:

在ft245bl下新建配置文件Kconfig,添加驱动名FT245BL_DRIVER、菜单选项名称USB ft245bl Driv-er、菜单有效选项DRIVER_FT245BL及驱动说明,代码如下:

第1项是μClinux系统为设备驱动创建的驱动文件名及所在目录;第2项是设备类型;第3项是设备驱动文件的权限;第4,5项分别为用户ID和组ID;第6,7项为主设备号和次设备号;第8,9,10项分别为次设备号的起始号码、增量和数量。
3.2 编译驱动程序
在/home/μClinux/μClinux-dist目录下运行make menueonfig进行配置,在字符设备选项中可以看见刚刚添加的FT245BL Driver选项,选中它。通过make的一系列编译,所有内核和应用程序源代码将被编译,编译结束后将产生二进制文件uImage。
3.3 加载驱动程序
这里的BF533主板中数据存储器SDRAM大小为32 MB,地址为0~Ox02000000;异步存储区BootFLASH大小为4 MB,地址为0x20000000~0x203FFFFF。在/home/μClinux/μClinux-dist运行指令下,把uImage文件拷贝到/svr/tftp目录,tftp是一个简单的ftp下载:
cp images/uImage/svr/tftp
打开超级终端μClinux,接通目标板电源或按复位键,目标板上的u-boot自动启动,通过超级终端的串口输入命令:
到此,在μClinux中添加设备驱动程序的工作已经完成。
4 结 语
介绍了基于Blackfin ADSP-BF533开发板,在μClinux环境下USB芯片FT245BL驱动程序的设计与加载。简述了设备驱动程序开发的过程,并给出了读函数和中断函数的实例,说明了在μiClinux下如何添加FT245BL驱动程序的方法,实现了DSP主板的USB端口通信。本文引用地址:https://www.eepw.com.cn/article/202492.htm
评论