添加驱动程序的步骤

添加驱动程序的步骤

ID:41032440

大小:30.00 KB

页数:4页

时间:2019-08-14

添加驱动程序的步骤_第1页
添加驱动程序的步骤_第2页
添加驱动程序的步骤_第3页
添加驱动程序的步骤_第4页
资源描述:

《添加驱动程序的步骤》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、为相应的设备写好基本驱动程序并向VFS(virtualfilesystem)注册即可,当上层应用要使用该设备时,VFS就会调用相应的设备函数。设备驱动程序可以归为以下3类:1块设备(block)以块为单位,允许随机访问,多用缓存技术2字符设备(char)以字节为单位,只能按顺序访问,不用缓存3网络接口(net)设备号:系统用主设备号(MAJOR)和次设备号(MINOR)来唯一标示一般设备相同主设备号表示同一类设备,次设备号表示同类设备的个数,在(/dev目录)下有相应的文件,这样字符设备和块设备都可以通过文件操作的系统调用完成。字符设备的驱动程序通过在device_s

2、truct数据结构的chrdevs向量中增加一项的方法来向内核注册自己注册:intresultresult=register_chrdev(主设备号,设备名,&结构体)(GPIO_MAJOR_NR,DEVICE_NAME,&gpio_fops)字符设备驱动驱动程序编译进内核的步骤:1在uClinux-dist/linux2.4.x/drivers/char目录下编写驱动程序(gpio.h,gpio.c)2修改uClinux-dist/linux2.4.x/dirvers/char/Config.in,在适当的位置添加一行:bool'gpiotestsupport'CO

3、NFIG_GPIO在makemenuconfig时看见的是gpiotestsupport选择这个时,既配置了CONFIG_GPIO3修改uClinux-dist/linux2.4.x/dirvers/char/Makefile在适当的位置添加一行:obj-$(CONFIG_GPIO)+=gpio.o4在uClinux-dist/linux2.4.x/dirvers/char/mem.c中添加初始化#ifdefCONFIG_GPIOexternintgpio_init(void);//在内核启动的时候对GPIO驱动程序进行注册#endif在这个函数中int__initc

4、hr_dev_init(void){#ifdefCONFIG_GPIOgpio_init();//在内核启动的时候对GPIO驱动程序进行注册#endif}测试(应用)程序的编写和添加内核配置makeclean清除之前编译好的makemenuconfigvendor/ProductSelection-->厂商和产品的选择选择samsung44b0Kernel/Library/DefaultsSelection内核和库的选择--Kernelislinux-2.4.x(uClibc)LibcVersion压缩的libc的库[]Defaultallsettings(losec

5、hanges)[*]CustomizeKernelSettings内核的设定,添加驱动程序[*]CustomizeVendor/UserSettings根文件系统,ramfs内核配置目录:Codematurityleveloptions-->代码成熟度[]还在开发阶段的[]Loadablemodulesupport-->[]EnableLoadablemodulesupport内核模块的支持SystemType-->系统类型(Samsung)ARMsystemtype[]Generatebigendiancode大小端的选择[*]Setflash/sdramsizea

6、ndbaseaddr选择存储器的大小(0c000000)(S)DRAMBaseAddress(00800000)(S)DRAMSize(00000000)FLASHBaseAddress(00200000)FLASHSize2M(RAM)Kernelexecutesfrom(S3C44B0X-MBA44)BoardInplementationGeneralsetup-->通用设定[]Supporthot-pluggabledevices热拔插[*]Networkingsupport网络的支持[]SystemVIPC进程间通信[]Reducedmemoryfootpri

7、nt[]BSDProcessAccouting[]Sysct1support[*]NMFPEmathemulation模拟数字协处理器(ELF)Kernelcore(/proc/kcore)format内核格式[*]SupportuClinuxFLATformatbinaries对没有MMU的处理器的支持[*]SupportFLATformatcompressedbinaries[]RISCOSpersonality[]Compiled-inKernelBootParameter[*]TimerandCPUusageLEDs[*]TimerLED[*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。