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

惠安网站建设报价网站登录页面html模板

惠安网站建设报价,网站登录页面html模板,深度优化,校园二手网站开发的意义linux 下的中断初始化#xff0c;实际就是对 irq_desc 这个结构体进行初始化#xff0c;其中最关键莫过于 irq_flow_handler_t handle_irq 中断处理函数 struct irqaction *action 用户自己设置的处理函数链表#xff0c;由hand…linux 下的中断初始化实际就是对 irq_desc 这个结构体进行初始化其中最关键莫过于 irq_flow_handler_t    handle_irq            中断处理函数 struct irqaction         *action                   用户自己设置的处理函数链表由handle_irq调用 struct irq_chip        *chip                        硬件相关的操作比如设置管脚为中断模式使能中断等等。 这三个结构体成员变量的赋值了其中handle_irq和chip一般官方的bsp里会为我们设置好而action链表是我们自己的中断处理函数handle_irq会去遍历action链表并执行。系统中每一个中断号会对应一个irq_desc结构体。 在kernel/irq/handle.c 中系统为我们定义并初始化了一个irq_desc的结构体数组中断号为数组下标。也就是 说每一个中断号会对应一个irq_desc结构体。linux整个中断机制实际就是围绕这个结构体数组进行的即 赋值调用等等。 1. arch/mips/kernel/irq_cpu.c mips_cpu_irq_init for (i irq_base 2; i irq_base 8; i)                     set_irq_chip_and_handler(i, mips_cpu_irq_controller,handle_level_irq); irq_base为0实际上注册了2 -- 7 中断号的处理函数 2. kernel/irq/chip.c set_irq_chip_and_handler __set_irq_handler desc-handle_irq handle 最终是把handle_level_irq作为这个6个中断号的中断处理函数 handle_level_irq 1.  kernel/irq/chip.c handle_level_irq handle_IRQ_event(irq, action) 2.kernel/irq/handle.c handle_IRQ_event do {                       ret action-handler(irq, action-dev_id);                      if (ret IRQ_HANDLED)                              status | action-flags;                       retval | ret;                      action action-next;                } while (action); 这里挨个调用desc中action链表中的处理函数进行真正的中断处理 下面分析rt5350中对gpio中断的初始化从 include/asm-mips/rt2880/surfboardint.h 中可以看到 #define SURFBOARDINT_GPIO     6    /* GPIO */ 说明GPIO中断的中断号为6这块和三星的芯片差别比较大三星的芯片有专门的外部中断管脚虽然也是 GPIO管脚复用但是每个外部中断管脚对应一个中断号。而且ralink的是所有的GPIO复用中断管脚共用一个 中断号6. 而且ralink的bsp中给6号中断已经注册了action链表那我想我们就不用自己调用request_irq函数去 给他注册action链表了吧直接修改ralink_gpio_irqaction应该就行了吧 1. arch/mips/kernel/head.S j        start_kernel 2. init/main.c start_kernel init_IRQ 3.  arch/mips/kernel/irq.c init_IRQ arch_init_irq 4.  arch/mips/rt2880/irq.c arch_init_irq ralink_gpio_init_irq 5. drivers/char/ralink_gpio.c ralink_gpio_init_irq setup_irq(SURFBOARDINT_GPIO, ralink_gpio_irqaction); 实际上request_irq也是调用setup_irq来注册中断处理函数那么我们就不应该再去调用request_irq了实际上系统已经为我们做好了6号中断的注册我们应该只需要将我们需要的GPIO管脚设置为中断模式即可。 其中SURFBOARDINT_GPIO6在这个函数中注册action以供handle_IRQ_event调用 使用cat /proc/interrupts命令可以看到gpio中断号的确是6
http://www.zqtcl.cn/news/312967/

相关文章:

  • 买卖平台有哪些网站三航奔腾建设有限公司官方网站
  • 网站建设的企业wordpress teamtalk
  • 公司起名字大全免费查询网站的哪些标签需要优化
  • 装修公司手机网站模板网络营销品牌有哪些
  • 如何保证网站安全在线的crm系统软件
  • 网站名称与主体性质不符wordpress首页锚点
  • 有口碑的常州网站建设传统网站建设
  • 大学网站建设排名金乡网站建设
  • 手机网站开发步骤徐州网站制作怎么做
  • 南通网站优化找哪家推荐做素菜的网站
  • 中国十大网站域名界面设计最好的网站
  • 苍山做网站北京便宜网站建设
  • 广州公司网站制作招聘信息汕头网站推广哪家好
  • 登录建设官方网站品牌营销专家
  • 天津模板建站哪家好wordpress标题换行显示不全
  • 杭州房地产网站建设网站建设开发公司推荐指数
  • 建设部网站上怎样查询企业业绩做淘宝联盟网站要多少钱
  • 宣武上海网站建设网站导购话术
  • 天津北京网站建设公司大网站建设公司
  • 网站需要在哪些方面备案百度云建网站
  • 西安手机网站定制网站建设西安网站注册
  • 怎么做秒赞网站企业自己建设的营销网络
  • 一般网站建设需求有哪些wordpress脚注更改
  • 海报设计在线生成免费网站排名优化方案
  • 网站开发综合设计报告怎么制作浏览器网页
  • 做网站打广告青岛网站营销推广
  • 网站建设中首页模板本科 网站建设的基础教程
  • 推广网站优化seo教程上排名抖音营销
  • 创业园区网站建设wordpress对接公众号源码
  • 怎么设计公司的网站长沙seo结算