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

合肥网站建设教程中国建筑官网一测二测成绩多少算及格

合肥网站建设教程,中国建筑官网一测二测成绩多少算及格,一个空间做多个网站,技术开发包括哪些内容一、thread_irq在内核中#xff0c; 除了可以通过request_irq() 、 devm_request_irq()申请中断以外#xff0c; 还可以通过以下二个函数申请( 它们比request_irq和devm_request_irq多了一个参数thread_fn)。 用这两个API申请中断的时候#xff0c; 内核会为相应的中断号分配…一、thread_irq在内核中 除了可以通过request_irq() 、 devm_request_irq()申请中断以外 还可以通过以下二个函数申请( 它们比request_irq和devm_request_irq多了一个参数thread_fn)。 用这两个API申请中断的时候 内核会为相应的中断号分配一个对应的内核线程。 注意这个线程只针对这个中断号 如果其他中断也通过request_threaded_irq 申请 自然会得到新的内核线程。int request_threaded_irq(unsigned int irq, irq_handler_t handler,irq_handler_t thread_fn, unsigned long irqflags,const char *devname, void *dev_id)int devm_request_threaded_irq(struct device *dev, unsigned int irq,irq_handler_t handler, irq_handler_t thread_fn,unsigned long irqflags, const char *devname,void *dev_id)参数handler对应的函数执行于中断上下文 thread_fn参数对应的函数则执行于内核线程。 如果handler结束的时候 返回值是IRQ_WAKE_THREAD 内核会调度对应线程执行thread_fn对应的函数。另外这二个函数支持在irqflags中设置IRQF_ONESHOT标记这样内核会自动帮助我们在中断上下文中屏蔽对应的中断号 而在内核调度thread_fn执行后 重新使能该中断号。 对于我们无法在上半部清除中断的情况 IRQF_ONESHOT特别有用 避免了中断服务程序一退出 中断就洪泛的情况。handler参数可以设置为NULL 这种情况下 内核会用默认的irq_default_primary_handler()代替handler 并会使用IRQF_ONESHOT标记。/** Default primary interrupt handler for threaded interrupts. Is* assigned as primary handler when request_threaded_irq is called* with handler NULL. Useful for oneshot interrupts.*/ static irqreturn_t irq_default_primary_handler(int irq, void *dev_id) {return IRQ_WAKE_THREAD; }二、中断共享(IRQF_SHARED)多个设备共享一根硬件中断线的情况在实际的硬件系统中广泛存在 Linux支持这种中断共享。 下面是中断共享的使用方法。使用共享中断的设备驱动程序的模板仅包含与共享中断机制相关的部分/* 在中断到来时 会遍历执行共享此中断的所有中断处理程序 直到某一个函数返回 IRQ_HANDLED。 在中断处理程序顶半部中 应根据硬件寄存器中的信息比照传入的dev参数 迅速地判断是否为本设备的中断 若不是 应迅速返回IRQ_NONE*/ irqreturn_t xxx_interrupt(int irq, void *dev) {....../*获知中断源*/int status read_int_status();/*判断是否为本设备中断若不是立即返回*/if(!is_myint(dev, status))return IRQ_NONE;/*若是本设备中断进行处理*/....../*表明中断已被处理*/return IRQ_HANDLED; }/*设备驱动模块加载函数*/ int xxx_init(void) {....../*共享中断的多个设备在申请中断时 都应该使用IRQF_SHARED标志 而且一个设备以IRQF_SHARED申请某中断成功的前提是该中断未被申请,或该中断虽然被申请了但是之前申请该中断的所有设备也都以IRQF_SHARED标志申请该中断。内核为每个中断维护一个中断共享处理例程列表dev就是区别不同处理例程的签名因此最后一个参数dev必须唯一任何指向模块地址空间的指针都行但 dev绝不能设置为 NULL。一般将设备结构体指针作为参数。*/result request_irq(sh_irq, xxx_interrupt, IRQF_SHARED, xxx, xxx_dev);...... }/*设备驱动模块卸载*/ void xxx_exit(void) {......free_irq(xxx_irq, xxx_interrupt);...... }一个使用共享处理例程的驱动需要小心不能使用 enable_irq 或 disable_irq否则对其他共享这条线的设备就无法正常工作了。即便短时间禁止中断另一设备也可能产生延时而为设备和其用户带来问题。三、使能禁止中断API1使能或者禁止某一个中断APIvoid enable_irq(unsigned int irq) void disable_irq(unsigned int irq)用于使能和禁止指定的中断 irq 就是要禁止的中断号。disable_irq 函数要等到当前正在执行的中断处理函数执行完才返回因此使用者需要保证不会产生新的中断并且确保所有已经开始执行的中断处理程序已经全部退出。在这种情况下可以使用另外一个中断禁止函数void disable_irq_nosync(unsigned int irq)函数调用以后立即返回不会等待当前中断处理程序执行完毕。2使能或者禁止当前处理器的整个中断系统APIlocal_irq_enable() local_irq_disable()以下这两个函数是一对 local_irq_save 函数用于禁止中断并且将中断状态保存在 flags中。 local_irq_restore 用于恢复中断将中断到 flags 状态。local_irq_save(flags) local_irq_restore(flags)四、五、六、
http://www.dnsts.com.cn/news/163113.html

相关文章:

  • 防水补漏在哪个网站做宣传好全网营销一站式推广
  • 济南建筑设计公司西安官网seo推广
  • 网站维护必须要会什么附近有木有做网站
  • 怎么做搜索网站京津冀协同发展的首要任务有
  • 旅游休闲类网站的建设中国十大公关公司
  • wordpress软件站主题在线建筑设计
  • 深圳最好的网站制作公司中国金融外包公司十强
  • 清远做网站工程建设网站怎么提交
  • 东莞营销网站建设优化wordpress商城插件
  • 网站服务器和网站做网站编程的电脑配置
  • wamp做的网站外网怎么访问不了怎么做网站注册名密码
  • 网站毕业设计代做搭建网站大概需要多少钱
  • 网站建设支出贵阳查房子备案的网站
  • 如何用表格做网站网站开发net源码
  • 网站备案是先做网站上线还是呼市网站优化
  • 浏览器无法打开住房和建设网站邢台网站建设的地方
  • 网站做的相似做设计网站赚钱吗
  • wap网站自动电商运营是做什么的
  • 网站开发背景绪论姓名查询
  • 服务器如何搭建网站怎么入驻京东商家平台
  • 西安网站建设制作价格低audio for wordpress
  • 中国建设银行网站主页连云港市住房和城乡建设局网站
  • 群晖套件做网站全球贸易平台
  • 网站的销售怎么做网站内部链接优化方法
  • 嘉兴php网站开发做风控的网站
  • 扬州市广陵区建设局网站wordpress mysql 权限
  • 国内php开发的电商网站有哪些自己做的网站打不开
  • 如何在网站发广告黑龙江省建设厅网站首页
  • 佛山市网站建站网站一般的网站建设
  • 网站开发语言查询 蔡学镛互联网怎么学