全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
为相应的设备写好基本驱动程序 并向VFS(virtual file system)注册即可,当上层应用要使用该设备时,VFS就会调用相应的设备函数。设备驱动程序可以归为以下3类: 1 块设备(block)以块为单位,允许随机访问,多用缓存技术 2 字符设备(char)以字节为单位,只能按顺序访问,不用缓存 3 网络接口(net)设备号:系统用主设备号(MAJOR)和次设备号(MINOR)来唯一标示一般设备 相同主设备号表示同一类设备,次设备号表示同类设备的个数,在(/dev目录)下有相应的文件,这样字符设备和块设备都可以通过文件操作的系统调用完成。 字符设备的驱动程序通过在device_struct数据结构的chrdevs向量中增加一项的方法来向内核注册自己注册:int result result=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 gpiotest supportCONFIG_GPIO在make menuconfig时 看见的是gpiotest support 选择这个时,既配置了CONFIG_GPIO3 修改uClinux-dist/linux2.4.x/dirvers/char/Makefile 在适当的位置添加一行: obj-$(CONFIG_GPIO) += gpio.o4 在uClinux-dist/linux2.4.x/dirvers/char/mem.c 中添加初始化 #ifdef CONFIG_GPIOextern int gpio_init(void);/在内核启动的时候对GPIO驱动程序进行注册 #endif 在这个函数中 int _init chr_dev_init(void) #ifdef CONFIG_GPIO gpio_init();/在内核启动的时候对GPIO驱动程序进行注册#endif 测试(应用)程序的编写和添加内核配置make clean 清除之前编译好的make menuconfig vendor/Product Selection-厂商和产品的选择 选择samsung 44b0 Kernel/Library/Defaults Selection内核和库的选择 -Kernel is linux-2.4.x (uClibc)Libc Version压缩的libc 的库 Default all settings(lose changes) * Customize Kernel Settings 内核的设定,添加驱动程序 * Customize Vendor/User Settings根文件系统,ram fs 内核配置目录:Code maturity level options-代码成熟度还在开发阶段的 Loadable module support-Enable Loadable module support内核模块的支持System Type -系统类型 (Samsung)ARM system type Generate big endian code 大小端的选择 *Set flash/sdram size and base addr 选择存储器的大小 (0c000000)(S)DRAM Base Address (00800000)(S)DRAM Size (00000000)FLASH Base Address (00200000)FLASH Size 2M (RAM)Kernel executes from (S3C44B0X-MBA44) Board InplementationGeneral setup-通用设定 Support hot-pluggable devices热拔插 *Networking support 网络的支持 System V IPC进程间通信 Reduced memory footprint BSD Process Accouting Sysct1 support *NMFPE math emulation模拟数字协处理器 (ELF)Kernel core(/proc/kcore) format内核格式 *Support uClinux FLAT format binaries 对没有MMU 的处理器的支持 *Support FLAT format compressed binaries RISC OS personality Compiled-in Kernel Boot Parameter *Timer and CPU usage LEDs *Timer LED *CPU usage LED Kernel -mode alignment trap handler m68knommu-style attached romfs in RAM support Networking options-网络选项Network device support网卡的支持Amateur Radio support 启动无线网络IrDA (infrared)supportATA/IDE/MFM/RLL supportSCSI support 一种存储接口ISDN subsystem数字电话的Parallel port support并行接口Memory Technology Devices(MTD)内存设备Plug and Play configuration即插即用设备Block devices块设备File systems文件系统Character devices字符设备USB supportI2O device supportKernel hackingCryptographic optionsLibrary routinesLoad an Alternate Configuration FileSave Configuration to an Alternate File进行应用程序的配置Core Alications 核心配置*init *enable console shell *execute firewall rulesLibrary Configuration 库的配置FLASH Tools Flash 一些工具Filesystem Applications 文件系统的应用Network Applications 网络配置Miscellaneous ApplicationsBusyBoxTinyloginMicroWindowsGamesNiscellaneous Confiuggur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西河池民族农业学校(河池市桂宜高级中学)招聘编外聘用教师10人考前冲刺试卷及参考答案详解【新】
- 2026湖南张家界市事业单位公开招聘(选调)工作人员37人笔试题库附参考答案详解【完整版】
- 2026湖北襄阳市襄城国有资本投资运营集团有限公司招聘4名考前冲刺密卷【典优】附答案详解
- 2026安徽宿州市萧县选调教师260人考前冲刺密卷(有一套)附答案详解
- 2026江苏南京钟山职业技术学院辅导员招聘考前冲刺密卷及参考答案详解(综合题)
- 2026年初中历史八年级上册期中模拟试卷
- 小学主题班会课件:科技改变生活智慧引领风尚
- 2026年食品营养与健康知识专题测试卷附答案
- 健康管理师三级考试试题及答案
- 2026年医院感染管理办法培训试卷附答案
- 《农业法规普及讲座》课件
- DB33T 1368-2024医院“一站式”综合服务中心建设与服务规范
- DB 5101-T 163-2023 成都市城市精细化管理规范
- 特种设备安全检查表
- JJF 2154-2024亚低温治疗仪校准规范
- CJ/T 123-2016 给水用钢骨架聚乙烯塑料复合管
- 2024年互联网营销师(高级)职业鉴定理论考试题库(含答案)
- 帅哥汽车上憋尿故事作文12篇
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- 会阴裂伤缝合技巧-讲课课件
- 科研绩效考核
评论
0/150
提交评论