新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM+Linux 的儀器控制系統的設計模式分析

        ARM+Linux 的儀器控制系統的設計模式分析

        作者: 時間:2012-07-25 來源:網絡 收藏

        對于AT91RM9200利用如下轉換函數獲取虛擬地址,其中宏AT91_VA_BASE_SYS是系統虛擬基地址:

        讀寫端口對于AT91RM9200還可使用專門函數

        ARM+Linux 的儀器控制系統的設計模式分析

        int at9 1_set_gpio_value(unsigned pin,int value),并包含頭文件asm-arm/arch-at91/gpio.h。一般端口的訪問在驅動模塊初始化時申請資源,在卸載時釋放資源,而對于I/O口的使能則在open方法中實現,相應的禁用在release方法中實現。

        1.3 ioctl方法的實現

        用戶可以通過ioctl方法向內核發送各種命令,必要時傳遞參數,下面展示一個簡單實例。

        ARM+Linux 的儀器控制系統的設計模式分析

        1.4中斷控制實現

        當外部信號的到來時刻不可預測時,使用輪詢方式將使得效率極低,需要使用阻塞型中斷實現。即沒有中斷信號到來時阻塞讀進程,使其處于睡眠狀態,當中斷到來喚醒讀進程,執行預定處理操作。

        首先,在open方法中使用request_irq()安裝中斷處理程序,在release方法中釋放。函數原型如下:

        ARM+Linux 的儀器控制系統的設計模式分析

        其中:參數irq為中斷號;handler為ISR指針;flags為與中斷管理有關的各選項字節掩碼;dev_name即設備名;dev_id為中斷信號線。

        其次,ISR為申請中斷時使用的參數名,假設為irq0_handler,定義原型如下:

        ARM+Linux 的儀器控制系統的設計模式分析

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芒康县| 西峡县| 泾阳县| 伊金霍洛旗| 化州市| 葫芦岛市| 湄潭县| 平罗县| 铁力市| 阿拉善盟| 康平县| 霍邱县| 青冈县| 桐乡市| 体育| 教育| 甘孜县| 启东市| 关岭| 砚山县| 天台县| 佛教| 信丰县| 鄯善县| 蓬莱市| 饶河县| 乌鲁木齐县| 阳原县| 耒阳市| 正宁县| 铜鼓县| 安仁县| 三江| 芮城县| 驻马店市| 安顺市| 工布江达县| 汶上县| 德阳市| 兴业县| 武城县|