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

企业网站建设的必要性及维护微信开发者社区

企业网站建设的必要性及维护,微信开发者社区,景德镇市城市建设规划网站,湖州小程序开发//编译驱动 (注意Makefile的编译到移植到开发板的内核) make archarm //清除编译生成文件 make clean ****************************************** //安装驱动 insmod mycdev.ko //卸载驱动 rmmod mycdev 需要在内核路径/arch/arm/boot/dts/ 修改 stm32mp157a-fsm… //编译驱动  (注意Makefile的编译到移植到开发板的内核)         make archarm //清除编译生成文件         make clean ****************************************** //安装驱动         insmod mycdev.ko //卸载驱动         rmmod mycdev   需要在内核路径/arch/arm/boot/dts/  修改 stm32mp157a-fsmp1a-dts 文件 *************************** 添加以下内容 leds{led1-gpiosgpioe 10 0;//10表示引脚编号 0表示默认led2-gpiosgpiof 10 0;led3-gpiosgpioe 8 0; };myirq{interrupt-parentgpiof;//引用中断父节点interrupts9 0,7 0,8 0;//声明和中断父节点的关系 9表示索引号0表示默认设置 };mycdev.c #include linux/init.h #include linux/module.h #include linux/of.h #include linux/of_irq.h #include linux/of_gpio.h #include linux/gpio.h #include linux/interrupt.hstruct device_node *dev; /* leds{led1-gpiosgpioe 10 0;//10表示引脚编号 0表示默认led2-gpiosgpiof 10 0;led3-gpiosgpioe 8 0; };*/ struct gpio_desc *gpiono1; // led1 struct gpio_desc *gpiono2; // led2 struct gpio_desc *gpiono3; // led3 /*myirq{interrupt-parentgpiof;//引用中断父节点interrupts9 0,7 0,8 0;//声明和中断父节点的关系 9表示索引号0表示默认设置 }; */ unsigned int irqno1; // key1 unsigned int irqno2; // key2 unsigned int irqno3; // key3// 定时器处理函数 void ctl_led(struct gpio_desc *gpiono) {// led状态取反gpiod_set_value(gpiono, !gpiod_get_value(gpiono)); } // 中断处理函数 irqreturn_t myirq_handler(int irq, void *dev) {if (irq irqno1){printk(KEY1_INTERRUPT\n);ctl_led(gpiono3);}else if (irq irqno2){printk(KEY2_INTERRUPT\n);ctl_led(gpiono2);}else if (irq irqno3){printk(KEY3_INTERRUPT\n);ctl_led(gpiono1);}return IRQ_HANDLED; }static int myled_to_init(int a) {// 根据设备树节点的路径解析设备树信息dev of_find_node_by_path(/leds);if (dev NULL){printk(解析设备树节点失败\n);return -EFAULT;}printk(解析设备树节点成功\n);// 申请gpio_desc对象并设置输出为低电平gpiono1 gpiod_get_from_of_node(dev, led1-gpios, 0, GPIOD_OUT_LOW, NULL);if (IS_ERR(gpiono1)){printk(申请gpio对象失败\n);return -PTR_ERR(gpiono1);}printk(申请gpio对象成功\n);gpiono2 gpiod_get_from_of_node(dev, led2-gpios, 0, GPIOD_OUT_LOW, NULL);if (IS_ERR(gpiono2)){printk(申请gpio对象失败\n);return -PTR_ERR(gpiono2);}printk(申请gpio对象成功\n);gpiono3 gpiod_get_from_of_node(dev, led3-gpios, 0, GPIOD_OUT_LOW, NULL);if (IS_ERR(gpiono3)){printk(申请gpio对象失败\n);return -PTR_ERR(gpiono3);}printk(申请gpio对象成功\n);return 0; }static void myled_to_exit(int a) {// 灭灯gpiod_set_value(gpiono1, 0);gpiod_set_value(gpiono2, 0);gpiod_set_value(gpiono3, 0);// 释放gpio编号gpiod_put(gpiono1);gpiod_put(gpiono2);gpiod_put(gpiono3);printk(led注销成功); }static int __init mycdev_init(void) {int ret;myled_to_init(1);// 解析按键的设备树节点dev of_find_node_by_path(/myirq);if (dev NULL){printk(解析设备树节点失败\n);return -EFAULT;}printk(解析设备树节点成功\n);// 根据设备树节点解析出软中断号irqno1 irq_of_parse_and_map(dev, 0); // 按键1索引号为0if (!irqno1){printk(解析软中断号1失败\n);return -ENXIO;}printk(解析软中断号1成功 irqno%d\n, irqno1);irqno2 irq_of_parse_and_map(dev, 1); // 按键2索引号为1if (!irqno2){printk(解析软中断号2失败\n);return -ENXIO;}printk(解析软中断号2成功 irqno%d\n, irqno2);irqno3 irq_of_parse_and_map(dev, 2); // 按键3索引号为2if (!irqno3){printk(解析软中断号3失败\n);return -ENXIO;}printk(解析软中断号3成功 irqno%d\n, irqno3);// 注册中断ret request_irq(irqno1, myirq_handler, IRQF_TRIGGER_FALLING, key1, NULL);if (ret){printk(注册中断1失败\n);return ret;}printk(注册中断1成功\n);ret request_irq(irqno2, myirq_handler, IRQF_TRIGGER_FALLING, key2, NULL);if (ret){printk(注册中断2失败\n);return ret;}printk(注册中断2成功\n);ret request_irq(irqno3, myirq_handler, IRQF_TRIGGER_FALLING, key3, NULL);if (ret){printk(注册中断3失败\n);return ret;}printk(注册中断3成功\n);return 0; } static void __exit mycdev_exit(void) {myled_to_exit(1);// 注销中断free_irq(irqno1, NULL);free_irq(irqno2, NULL);free_irq(irqno3, NULL);printk(irq注销成功\n); } module_init(mycdev_init); module_exit(mycdev_exit); MODULE_LICENSE(GPL); Makefile  KERNELDIR 赋予的路径可能有所不同 modname ? mycdev arch ? armifeq ($(arch),arm) KERNELDIR : /home/ubuntu/13_UBOOT/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61 else KERNELDIR : /lib/modules/$(shell uname -r)/build endifPWD : $(shell pwd)all:make -C $(KERNELDIR) M$(PWD) modulesclean:make -C $(KERNELDIR) M$(PWD) cleandistclean:make -C $(KERNELDIR) M$(PWD) cleanobj-m : $(modname).o
http://www.hkea.cn/news/14431860/

相关文章:

  • 桥西网站建设网站开发取名
  • 动漫设计工作室网站建设公司怎么做网站小图标
  • 网站建设与程序编辑北京网站建设排名
  • 上海网站建设托管纯免费聊天的app
  • 网站后台管理系统进入wordpress 博客页面至多显示
  • 重庆网站建设 熊掌号睢阳区网
  • 做资料分享网站有哪些html网页设计实训报告范文
  • 做的网站客户拿去维违法简述电子商务网站开发过程
  • 网站关键词用什么隔开桐乡 网站建设
  • 建设网站优化荆门网站seo
  • 白云区网站开发企业课程培训
  • 做网站怎么把背景变成纯色推广型网站如何建站
  • 宿豫区建设局网站thinkphp 网站下载
  • 公司网站备案要多久l流行wordpress
  • 和平天津网站建设谢岗镇网站建设公司
  • 罗湖做网站联系电话庆祝公司网站上线
  • 嵊州市建设局网站北京那家建网站好
  • 有网址 有空间怎么做网站怎么在平台上做推广
  • 网站建设纪念币发售建设生活app官方下载
  • 国外优秀论文网站小程序介绍怎么写吸引人
  • 织梦网站怎么做下载地址网页游戏排行榜图标
  • 怎么做国外的网站吗一般淘宝网站做几个月赚钱
  • 做单页网站要多少钱上海建站seo
  • 特别酷炫网站邢台企业做网站报价
  • 东莞网站优化排名诊断网站主题栏目分类
  • 河南专业网站建设创新中心襄阳市网站建设
  • 郑州网站建设有限公司重庆网站空间费用
  • 婺源做微信网站徐州沛县网站建设
  • 诸城哪里做网站青岛市住房城乡建设厅网站
  • 湖南常德地图佛山seo优化