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

网站建设都有哪些书免费网站建设大全

网站建设都有哪些书,免费网站建设大全,wordpress文章编辑页面,产品经理如何看待网站开发编译OpenWrt内核驱动可以参考OpenWrt内部其它驱动的编写例程#xff0c;来修改成自己需要的驱动 一、OpenWrt源代码获取与编译 1.1、搭建环境 下载OpenWrt的官方源码#xff1a; git clone https://github.com/openwrt/openwrt.git1.2、安装编译依赖项 sudo apt update -…  编译OpenWrt内核驱动可以参考OpenWrt内部其它驱动的编写例程来修改成自己需要的驱动 一、OpenWrt源代码获取与编译 1.1、搭建环境 下载OpenWrt的官方源码 git clone https://github.com/openwrt/openwrt.git 1.2、安装编译依赖项 sudo apt update -y sudo apt full-upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \ libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \ vim wget xmlto xxd zlib1g-dev python3-setuptools 1.3、更新 feeds 进入openwrt目录后执行以下指令 ./scripts/feeds update -a ./scripts/feeds install -a 1.4、配置编译选项 根据自己的平台来选择编译选项 make menuconfig1.5、下载 dl 库 进入openwrt目录后执行以下指令 make download -j81.6、编译 make Vs -j1二、OpenWrt驱动源代码分析 OpenWrt驱动存放目录为openwrt\package\kernel   以gpio-button-hotplug驱动为例进行分析。在gpio-button-hotplug文件夹下面有一个Makefile文件和src文件夹而src文件夹下有模块源码gpio-button-hotplug.c和源码编译Makefile 2.1、顶层makefile分析 顶层makefile如下 # # Copyright (C) 2008-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. #include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mkPKG_NAME:gpio-button-hotplug PKG_RELEASE:3 PKG_LICENSE:GPL-2.0include $(INCLUDE_DIR)/package.mkdefine KernelPackage/gpio-button-hotplugSUBMENU:Other modulesTITLE:Simple GPIO Button Hotplug driverFILES:$(PKG_BUILD_DIR)/gpio-button-hotplug.koAUTOLOAD:$(call AutoLoad,30,gpio-button-hotplug,1)KCONFIG: endefdefine KernelPackage/gpio-button-hotplug/descriptionThis is a replacement for the following in-kernel drivers:1) gpio_keys (KEYBOARD_GPIO)2) gpio_keys_polled (KEYBOARD_GPIO_POLLED)Instead of generating input events (like in-kernel drivers do) it generatesuevent-s and broadcasts them. This allows disabling input subsystem which isan overkill for OpenWrt simple needs. endefdefine Build/Compile$(KERNEL_MAKE) M$(PKG_BUILD_DIR) modules endef$(eval $(call KernelPackage,gpio-button-hotplug)) 2.1.1、第一步 首先包含rules.mk、kernel.mk和package.mk文件。接着将驱动模块的名称定义为“gpio-button-hotplug”并设置版本编号为“3”。 2.1.2、第二步 在软件包定义中的一些变量赋值   SUBMENU我们内核模块放置于“Other modules”。我们在make menuconfig时可以在Kernel modules/other modules菜单下找到这个模块。   TITLE标题驱动模块的简短描述。   FILES生成的驱动模块的存放位置。此处为设置为在编译目录下就是编译过程中的临时目录build_dir。   AUTOLOAD代表是否在系统启动时自动装载到内核中后面括号内有3个参数参数1不变参数2为驱动模块的装载顺序(可以省略这个参数省略后系统自动分配状态顺序)参数3代表驱动模块名称。   DEPENDS如果驱动模块还需要依赖则此变量设置为依赖文件名此处没有依赖所以就未设置。 2.1.3、第三步 配置menuconfig时的描述信息 2.1.4、第四步 编译源代码选项在大多数情况下应该不用定义而使用默认值 2.1.5、第五步 最后KernelPackage将驱动模块的名称作为参数传递给KernelPackage 2.2、源码makefile obj-m gpio-button-hotplug.o2.3、源码gpio-button-hotplug.c gpio-button-hotplug.c就是驱动的实际代码 三、编写自己的OpenWrt驱动代码 将gpio-button-hotplug文件夹复制为mykernel_test放置到gpio-button-hotplug相同的目录下 3.1、顶层makefile 修改顶层makefile如下 # # Copyright (C) 2008-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. #include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mkPKG_NAME:mykernel_test PKG_RELEASE:3 PKG_LICENSE:GPL-2.0include $(INCLUDE_DIR)/package.mkdefine KernelPackage/mykernel_testSUBMENU:Other modulesTITLE:Simple GPIO Button Hotplug driverFILES:$(PKG_BUILD_DIR)/mykernel_test.koAUTOLOAD:$(call AutoLoad,30,mykernel_test,1)KCONFIG: endefdefine KernelPackage/mykernel_test/descriptionThis is a replacement for the following in-kernel drivers:1) gpio_keys (KEYBOARD_GPIO)2) gpio_keys_polled (KEYBOARD_GPIO_POLLED)Instead of generating input events (like in-kernel drivers do) it generatesuevent-s and broadcasts them. This allows disabling input subsystem which isan overkill for OpenWrt simple needs. endefdefine Build/Compile$(KERNEL_MAKE) M$(PKG_BUILD_DIR) modules endef$(eval $(call KernelPackage,mykernel_test)) 3.2、源码makefile obj-m mykernel_test.o3.3、源码mykernel_test.c.c #include linux/init.h #include linux/module.hstatic int __init mykernel_test_init(void) {printk(KERN_INFO mykernel_test enter\n);return 0; }static void __exit mykernel_test_exit(void) {printk(KERN_INFO mykernel_test exit\n ); } module_init(mykernel_test_init); module_exit(mykernel_test_exit); MODULE_LICENSE(GPL v2); 四、编译自己的OpenWrt驱动代码 4.1、配置 在OpenWrt源码顶级目录下输入下面的命令配置内核 make menuconfig依次按照如下顺序选择 4.2、编译 在OpenWrt源码顶级目录下输入下面的命令编译驱动模块 make package/kernel/mykernel_test/compile Vs编译完成之后会在下面的目录中看到我们的内核模块   此ko模块和普通的linux内核的驱动模块的装载方法一样不再赘述。
http://www.zqtcl.cn/news/605211/

相关文章:

  • 郑州企业建设网站北京企业网站模板建站开发
  • 宣传旅游网站建设的观点是什么公众号怎么推广和引流
  • 企业网站制作多少钱山西网络营销方案
  • 焦作住房和城乡建设局网站旅行网站模板
  • 男做基视频网站国家重点高新技术企业名单
  • 公司官方网站开发网站建设电子商务
  • seo网站优化系统搜索引擎优化排名案例
  • 郑州网站建设工作室网站建设全流程 知乎
  • 如何利用源码做网站外贸网站制作推广
  • 国内做网站哪家公司好免费查找资料的网站
  • 自己做的网站百度搜不到搭建网站seo
  • 奇墙网站建设高端网站建设公司联系电话
  • 宁波那家公司做网站好中企动力科技股份有限公司招聘
  • 水果网站推广网站首页静态好还是动态好
  • iis网站属性小程序源码无需服务器
  • 景区网站建设材料代运营有哪些套路坑
  • 六安电商网站建设哪家好有关做美食的网站
  • 卸载wordpress插件网店seo关键词
  • 金山网站制作赤城seo网站优化排名
  • 提供坪山网站建设深圳商城网站哪家做的好
  • 有什么网站可以帮人做模具吗热搜榜百度一下你就知道
  • 深圳网站优化技巧邹城住房城乡建设部网站
  • 小型企业网站建站桂林市中考信息网官网
  • 雏鸟app网站推广做网站用宋体有版权问题吗
  • 建立网站数据库开公司流程及费用2022最新
  • 外贸谷歌网站推广wordpress调用上传图片
  • 360提示危险网站原因威海 网站开发
  • 赣州本地网站网站怎么写
  • 物业公司网站设计湛江做网站软件
  • 做招聘求职网站wordpress启用插件出错