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

装饰网站建设策划书焦作焦煤电子商务网站建设

装饰网站建设策划书,焦作焦煤电子商务网站建设,装修公司网站设计规划,免费网站建站 网页1、在OpenWrt系统上移植SPI驱动前#xff0c;首先要确保SPI相关引脚未被复用为其他功能#xff0c;比如GPIO#xff1b;以下操作已假定该条件成立#xff0c;否则请修改相关dts和c文件中复用配置#xff1b; 2、打开dts配置文件进行修改#xff0c;这里我是用的硬件为WR…1、在OpenWrt系统上移植SPI驱动前首先要确保SPI相关引脚未被复用为其他功能比如GPIO以下操作已假定该条件成立否则请修改相关dts和c文件中复用配置 2、打开dts配置文件进行修改这里我是用的硬件为WRTNODE2R所以文件路径为/target/linux/ramips/dts/WRTNODE2R.dts。在SPI控制器节点下添加与我们要添加的SPI设备及驱动匹配的信息如下所示 要注意该段代码要添加到SPI控制器节点下为防止添加错误后面会给出这部分整段的SPI配置。 Note1 配置中“reg”属性有2个CELL第一个用于指定片选 Note2 配置中“compatible”参数需要与SPI设备驱动中字段相匹配如下为我使用的第三方SPI设备驱动中相关配置 #define CH43X_NAME_SPI ch43x_spistatic const struct of_device_id __maybe_unused ch43x_dt_ids[] {{ .compatible wch,ch43x, .data ch43x_devtype, },{}, }; MODULE_DEVICE_TABLE(of, ch43x_dt_ids);static struct spi_driver ch43x_spi_uart_driver {.driver {.name CH43X_NAME_SPI,.bus spi_bus_type,.owner THIS_MODULE,.of_match_table of_match_ptr(ch43x_dt_ids),},.probe ch43x_spi_probe,.remove ch43x_spi_remove, }; 在一般情况下匹配的信息应该是代码中“compatible ”的字符串也即“wch,ch43x”但这里匹配的具有特殊性原因可能为系统修改过有关。匹配的是spi_drvier中driver的name字符串也即ch43x_spi Note3 如上的dts配置中有2行信息是与中断相关的。本意是想实现通过dts配置interrupts节点后在spi设备驱动中通过struct spi_device *spi结构体中的spi-irq获取相应IO口的中断号实现中断功能奈何在本硬件平台上用不了之所以保留是因为很多其他平台可以通过这种方式来配置和获取中断。本平台使用中断方法会在其他博客中涉及。 完整SPI部分的dts配置 spi0: spib00 {status okay;m25p800 {#address-cells 1;#size-cells 1;compatible w25q256;reg 0 0;linux,modalias m25p80, w25q256;spi-max-frequency 10000000;m25p,chunked-io 32;partition0 {label u-boot;reg 0x0 0x30000;read-only;};partition30000 {label u-boot-env;reg 0x30000 0x10000;read-only;};factory: partition40000 {label factory;reg 0x40000 0x10000;read-only;};partition50000 {label firmware;reg 0x50000 0x1fb0000;};};spidev1 {#address-cells 1;#size-cells 1;// compatible wch,ch43x;compatible ch43x_spi;reg 1 0;spi-max-frequency 5000000;interrupt-parent gpio0;interrupts 0 2;};};3、OpenWrt系统中添加驱动模块 首先在目录package/kernel下创建自己的模块目录ch432目录结构如下 ramboubuntu:~/OpenWrt/wrtnode/package/kernel$ tree ch432 ch432 ├── Makefile └── src├── ch432.c├── Kconfig└── Makefile1 directory, 4 files至于里面的Makefile文件和Kconfig文件如何写不建议照抄我的或网上找的直接在package/kernel拷贝其他模块的基于那个调整最快捷有效而且拷贝那种最简单的就可以。这里拷贝button-hotplug这个驱动模块然后照葫芦画瓢修改成编译我们驱动的样式。傻瓜式做法直接把里面涉及到驱动文件名的统一换成你要编译的驱动文件名就可以比如这里第一级的Makefile如下 # # Copyright (C) 2008-2010 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:ch432 PKG_RELEASE:3include $(INCLUDE_DIR)/package.mkdefine KernelPackage/ch432SUBMENU:Other modulesTITLE:ch432 spi driverDEPENDS:kmod-input-coreFILES:$(PKG_BUILD_DIR)/ch432.koAUTOLOAD:$(call AutoLoad,30,ch432,1)KCONFIG: endefdefine KernelPackage/ch432/descriptionKernel module to generate button uevent-s from input subsystem events.If your device uses GPIO buttons, see gpio-button-hotplug. endefEXTRA_KCONFIG: \CONFIG_CH432mEXTRA_CFLAGS: \$(patsubst CONFIG_%, -DCONFIG_%1, $(patsubst %m,%,$(filter %m,$(EXTRA_KCONFIG)))) \$(patsubst CONFIG_%, -DCONFIG_%1, $(patsubst %y,%,$(filter %y,$(EXTRA_KCONFIG)))) \MAKE_OPTS: \ARCH$(LINUX_KARCH) \CROSS_COMPILE$(TARGET_CROSS) \SUBDIRS$(PKG_BUILD_DIR) \EXTRA_CFLAGS$(EXTRA_CFLAGS) \$(EXTRA_KCONFIG)define Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/ endefdefine Build/Compile$(MAKE) -C $(LINUX_DIR) \$(MAKE_OPTS) \modules endef$(eval $(call KernelPackage,ch432))第二级src目录下的Kconfig文件如下 config CH432tristate This is CH432 Makefile如下 obj-$(CONFIG_CH432) ch432.o 实际上我就把这3个文件中原有的字符串“button-hotplug”换成了“ch432”而已。 Note1 你要编译的驱动源文件和头文件一定也要放在这个src目录下。 4、下面配置内核把我们添加到package中的模块选中就可以了。执行“make menuconfig” 然后在“Kernel Modules” - Other Modules下找到我们添加的模块选中它就可以了。 配置结束下面只编译模块就可以了。不需要编译整个内核。编译命令为 make package/kernel/ch432/compile Vs Note1 因为spi驱动可以动态加载调试所以建议编译成模块不要静态编译不然调试和看驱动log都不方便。 5、编译生成的驱动模块路径为 ko原生驱动模块路径 build_dir/target-mipsel_24kecdsp_uClibc-0.9.33.2/linux-ramips_mt7628/ch432/ ipk文件路径为 bin/ramips/packages/base/将如上ko文件或者ipk拷贝到硬件上面就可以正常使用了。记得SPI驱动调试第一步insmod之后确认spi_probe有没有正常执行
http://www.zqtcl.cn/news/628217/

相关文章:

  • wordpress 企业网站教程网站开发集成软件
  • 专业的西安免费做网站wordpress手机端插件
  • 口碑好网站建设优化大师win10下载
  • 网站建设普及型小程序开发平台好的有哪些
  • 网站建设与管理专业凡科做的网站好吗
  • wordpress添加变量福州seo网站管理
  • 哔哩哔哩免费网站观看网站制作合同书
  • 自流井移动网站建设建设网站的一般步骤
  • 手机导航网站模板上海低价网站建设
  • 如何开公司注册需要多少钱东莞网站推广优化网上推广公司
  • 新闻门户网站制作教育培训网站开发
  • 网站建设公司哪个好一点最近一周的热点新闻
  • 做最优秀的自己的视频网站佛山搜索引擎优化
  • 六盘水市网站建设免费封面设计在线制作生成
  • 北京快速建站制作公司wordpress wpoptions
  • iis如何建立网站门源县住房和城乡建设局网站
  • 装修素材图片都从什么网站找铁门关网站建设
  • 网站服务器环境不支持mysql数据库免费商标图案logo
  • 以什么主题做网站好wordpress怎么设置404
  • 为什么手机进网站乱码网络营销工具的特点
  • DW怎么做网站下拉菜单网站建设外包网站
  • 手机做兼职的网站设计公司注册记账代理公司
  • 如何在vs做网站建筑工程电影网
  • 甘肃网站开发网站建设自己在家接单
  • 龙岗网站制作资讯福田区龙岗区发布通告
  • 百度如何快速收录网站嘉兴手机建站模板
  • 服务注册中心有哪些给你一个网站你如何做优化
  • 我做网站如何分流客户openwrt 做视频网站
  • 徐州微信网站建设建设工程项目
  • 便宜网站建设公司envision wordpress