<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Linux驅動程序開發(fā)要點

          嵌入式Linux驅動程序開發(fā)要點

          作者: 時間:2012-08-27 來源:網絡 收藏

          #include

          int request_irq(unsigned int irq,

          void (*handler)(int irq, void dev_id, struct pt_regs *regs),

          unsigned long flags,

          const char *device,

          void *dev_id);

          void free_irq(unsigned int irq, void *dev_id);

          參數irq表示所要申請的硬件中斷號;handler為向系統(tǒng)登記的中斷處理子程序,中斷產生時由系統(tǒng)來調用,調用時所帶參數irq為中斷號;dev_id為申請時告訴系統(tǒng)的設備標識;regs為中斷發(fā)生時的寄存器內容;device為設備名,將會出現(xiàn)在/proc/interrupts文件里;flag是申請時的選項,它決定中斷處理程序的一些特性,其中最重要的是中斷處理程序是快速處理程序還是慢速處理程序??焖偬幚沓绦蜻\行時,所有中斷都被屏蔽,而慢速處理程序運行時,除了正在處理的中斷外,其他中斷都沒有被屏蔽。在系統(tǒng)中,中斷可以被不同的中斷處理程序共享。

          作為系統(tǒng)核心的一部分,設備程序在申請和釋放內存時不是調用malloc和free,而代之以調用kmalloc和kfree,它們被定義為:

          #include

          void *kmalloc(unsigned int len, int priority);

          void kfree(void *obj);

          參數len為希望申請的字節(jié)數;obj為要釋放的內存指針;priority為分配內存操作的優(yōu)先級,即在沒有足夠空閑內存時如何操作,一般用GFP_KERNEL。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();