当前位置: 首页 > news >正文

闽侯网站建设网站维护主要需要会什么

闽侯网站建设,网站维护主要需要会什么,网站用的是什么语言,个人简历电子版模板免费BQ27501驱动编译进内核 一、 驱动程序编译进内核的步骤 在 linux 内核中增加程序需要完成以下三项工作#xff1a; 1. 将编写的源代码复制到 Linux 内核源代码的相应目录#xff1b; 2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项#xff1b; 3. 在… BQ27501驱动编译进内核 一、       驱动程序编译进内核的步骤 在 linux 内核中增加程序需要完成以下三项工作 1. 将编写的源代码复制到 Linux 内核源代码的相应目录 2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项 3. 在目录的 Makefile 文件中增加对新源代码的编译条目。   bq27501驱动编译到内核中具体步骤如下 1.      先将驱动代码bq27501文件夹复制到 ti-davinci/drivers/ 目录下。 确定bq27501驱动模块应在内核源代码树中处于何处。 设备驱动程序存放在内核源码树根目录 drivers/ 的子目录下在其内部设备驱动文件进一步按照类别类型等有序地组织起来。 a. 字符设备存在于 drivers/char/ 目录下 b. 块设备存放在 drivers/block/ 目录下 c. USB 设备则存放在 drivers/usb/ 目录下。 注意 (1) 此处的文件组织规则并非绝对不变例如 USB 设备也属于字符设备也可以存放在 drivers/usb/ 目录下。 (2) 在 drivers/char/ 目录下在该目录下同时存在大量的 C 源代码文件和许多其他目录。所有对于仅仅只有一两个源文件的设备驱动程序可以直接存放在该目录下但如果驱动程序包含许多源文件和其他辅助文件那么可以创建一个新子目录。 (3) bq27501的驱动是属于字符设备驱动类别虽然驱动相关的文件只有两个但是为了方面查看将相关文件放在了bq27501的文件夹中。在drivers/char/目录下增加新的设备过程比较简单但是在drivers/下直接添加新的设备稍微复杂点。所以下面首先给出在drivers/下添加bq27501驱动的过程然后再简单说明在drivers/char/目录下添加的过程。   2.      在/bq27501下面新建一个Makefile文件。向里面添加代码 obj-$(CONFIG_BQ27501)bq27501.o 此时构建系统运行就将会进入 bq27501/ 目录下并且将bq27501.c 编译为 bq27501.o 3.      在/bq27501下面新建Kconfig文件。添加代码 menu bq27501 driver   config BQ27501 tristateBQ27501 default y ---help---   Say Y here, it will be compiled into thekernel; If you choose M, it will be compiled into a module named asbq27501.ko. endmenu 注意help中的文字不能加回车符否则make menuconfig编译的时候会报错。 4.     修改/drivers目录下的Kconfig文件在endmenu之前添加一条语句‘source drivers/bq27501/Kconfig’ 对于驱动程序Kconfig 通常和源代码处于同一目录。 若建立了一个新的目录而且也希望 Kconfig 文件存在于该目录中的话那么就必须在一个已存在的 Kconfig 文件中将它引入需要用上面的语句将其挂接在 drivers 目录中的Kconfig 中。   5.      修改/drivers目下Makefile文件添加‘obj-$(CONFIG_BQ27501)         bq27501/’。这行编译指令告诉模块构建系统在编译模块时需要进入 bq27501/ 子目录中。此时的驱动程序的编译取决于一个特殊配置 CONFIG_BQ27501 配置选项。   6.      修改arch/arm目录下的Kconfig文件在menu Device Drivers……endmenu直接添加语句 [cpp] view plaincopy source drivers/bq27501/Kconfig     7.      正确配置好之后使用make menuconfig命令在DeviceDrivers菜单下面可以找到bq27501 driver的选项如下图1所示 图1   使用“空格”键选择“*”号表示将该模块编译进内核中。如下图2所示 图2   8.      删除驱动模块。首先删除drivers目录下的bq27501文件夹然后再删除Makefile和Kconfig中添加的语句。 9.      以上将bq27501的驱动放在drivers目录下若将该驱动模块放在drivers/char目录下那么修改的是drivers/char下的Makefile和Kconfig文件arch/arm/Kconfig不需要修改。 二、        驱动模块自动执行 bq27501驱动作为模块动态加载到内核中的时候是使用“insmod bq27501.ko”这个命令手动加载。bq27501驱动选择编入到内核中在内核启动过程中会自动加载内核并且调用module_init函数指向的驱动模块初始化函数。所以在不需要添加额外的代码来加载驱动模块。 三、        自动创建设备节点 在动态加载驱动模块时是利用mknod命令手动创建设备节点Linux内核提供了一组函数可以在模块加载时自动在/dev目录下创建相应的设备节点并在卸载该模块时删除该节点。 在bq27501_init函数中的register_chrdev后面添加下面语句 bq27501_classclass_create(THIS_MODULE,bq27501_class);        if(IS_ERR(bq27501_class)){               printk(KERN_ALERTErr:failed in creating class.\n);               return-1;        }        class_device_create(bq27501_class,MKDEV(BQ27501_MAJOR,0),NULL,bq27501,0); class_create函数在/sysfs下面创建自己的类第一参数指定类的所有者是哪个模块第二个参数指定类名。 class_device_create函数在sysfs中注册设备并会创建一个相应的节点第一参数指定所要创建的设备所从属的类第二个参数是设备号第三个参数是这个设备的父设备如果没有就指定为NULL第四个参数是设备名称第五个参数是从设备号。新的内核版本该函数为device_create参数的顺序有所变化。 内核启动完成之后使用“cat /proc/devices”命令可以查看到bq27501已经成功添加到系统中。如下 Character devices:   1 mem   2 pty   3 ttyp   4 /dev/vc/0   4 tty   4 ttyS   5 /dev/tty   5 /dev/console   5 /dev/ptmx   7 vcs  10 misc  13 input  14 sound  29 fb  81 video4linux  89 i2c  90 mtd 128 ptm 136 pts 225 bq27501 249 csl 250 DM355_IPC_MSGQ 251 dm350mmap 252 cmem 253 DM355AEW 254 DM355IPIPE   Block devices:   1 ramdisk   7 loop   8 sd  31 mtdblock  65 sd  66 sd  67 sd  68 sd  69 sd  70 sd  71 sd 128 sd 129 sd 130 sd 131 sd 132 sd 133 sd 134 sd 135 sd 253 sbull 254 mmc 有部分知识参考http://blog.csdn.net/tigerjb/article/details/6426321在此表示感谢
http://www.pierceye.com/news/280419/

相关文章:

  • 网站建设制作设计开发福建网站开发文档撰写
  • 钢管公司网站建设国外平面设计欣赏网站
  • 网站建设如何销售济南专门做网站的公司
  • 2018年淘宝客网站怎么做iis网站建设中
  • 网站倒计时代码企业网站建设运营方案
  • 课程网站开发过程东莞外贸模板建站
  • asp.net 网站提速廊坊企业官网搭建
  • 网站开发全过程电商数据分析
  • 代理 指定网站 hostwordpress图片无限放大
  • 中材建设有限公司招标网站包装设计网课答案
  • python云服务器网站开发实例外贸小家电网站推广
  • 郑州做网站公司中天猫商城的商品来源
  • 织梦网站首页互联网保险平台排名
  • 免费做链接的网站做动画相册在哪个网站好
  • 做思维导图好看的网站可以做富集分析的网站
  • wordpress 媒体库 cos百度网站怎样优化排名
  • 自助建站程序html样式模板
  • 公主岭网站建设筑梦网站建设
  • 昊源建设监理有限公司网站广州住房与城乡建设部网站
  • 如何免费建立自己网站wordpress媒体优化
  • 南京企业做网站网站建设的类型有几种
  • 不需要证件做网站相城区建设网站
  • 游戏推广网站如何做的全网投放广告的渠道有哪些
  • 飞数石家庄网站建设seo 关键词优化
  • 织梦新手网站建设建筑工程公司资质
  • 网站建设开什么名目外贸网站建设关键点
  • 大学生网站设计河南省建筑工程信息网
  • 安徽省住房和城乡建设厅网站首页wordpress评论框中加文字提示
  • 南京营销型网站建设公司杭州模板建站代理
  • 网页设计比较优秀的网站沈阳网站推广公司