衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術嵌入式Linux應用程序自動載入驅動模塊方法簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 11:21 ? 次閱讀

英利公司推出的嵌入式Linux工控板EM9160針對一些擴展應用,實現了相應的驅動程序,包括有精簡ISA總線的操作驅動、GPIO、I2C、SPI、LCD、KeyPad、CAN驅動等。這些設備的驅動程序可以在內核啟動后,通過啟動腳本來自動加載,但是這種方式往往不夠靈活,因為在實際的應用中,客戶往往會根據實際情況加以選擇。

基于這種情況,我們把驅動程序模塊分為兩類,第一類驅動針對于嵌入式Linux工控板EM9160直接引出的接口,如ISA總線、GPIO、LCD、I2C、SPI等,則直接通過內核啟動腳本來實現自動載入。第二類針對于利用ISA總線進行的擴展應用驅動,如:Keypad 、CAN應用等,對于這類驅動在內核啟動時并沒有自行載入,需要客戶可根據實際情況進行選擇。本文將著重介紹如何在應用程序中實現自動載入第二類驅動模塊的方法。

英利所提供的嵌入式Linux工控板的所有驅動庫文件均放置在文件系統/lib/modules/2.6.30目錄下。

系統內核自動載入驅動功能模塊:
/lib/modules/2.6.30/em9x60_sysinfo.ko
/lib/modules/2.6.30/em9x60_isa.ko
/lib/modules/2.6.30/em9x60_gpio.ko
/lib/modules/2.6.30/em9x60_irq.ko
/lib/modules/2.6.30/em9x60_pwm.ko
/lib/modules/2.6.30/em9x60_i2c.ko
/lib/modules/2.6.30/em9x60_lcd.ko

需要客戶自行入載驅動功能模塊:
/lib/modules/2.6.30/em9x60_keypad.ko
/lib/modules/2.6.30/em9x60_can.ko

在嵌入式Linux操作系統下,一般是利用insmod指令來實現向系統內核載入模塊,如載入鍵盤驅動:
# insmod /lib/modules/2.6.30/em9x60_keypad

在嵌入式應用中,往往是需要自動運行模式,這就需要通過編程來實現。因此在應用編程代碼中,利用C++中的構造函數以及析構函數可以很好地實現驅動功能模塊的自動載入和自動卸載,下面是以鍵盤為例來加以說明。

定義一個class KEYManager鍵盤管理類,在該類中主要實現對鍵盤的響應功能。

其構造函數:
KEYManager::KEYManager( )
{
m_ExitThreadFlag = 0;
system( 'insmod /lib/modules/2.6.30/em9x60_keypad.ko' ); // 載入鍵盤驅動模塊
}

對應的析構函數:
KEYManager::~KEYManager( )
{
system( 'rmmod em9x60_key' ); // 卸載鍵盤驅動模塊
}

應用程序中,一旦定義了class KEYManager的實例就實現了鍵盤模塊的自動載入。后續就可打開鍵盤設備文件,讀取鍵碼值,從而實現對鍵盤響應的功能。

在英利公司所提供的嵌入式Linux開發光盤上均有以上介紹的相關源碼提供,以供客戶參考。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210407
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6086

    瀏覽量

    35619
收藏 人收藏

    評論

    相關推薦

    嵌入式工程師都在找的【Linux內核調試技術】建議收藏!

    嵌入式系統的開發中,Linux內核調試是一個至關重要的環節。 隨著處理器技術的不斷進步和嵌入式領域的蓬勃發展,掌握有效的內核調試技術成為
    發表于 11-28 15:37

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+
    的頭像 發表于 09-04 15:29 ?618次閱讀
    北京迅為RK3568開發板<b class='flag-5'>嵌入式</b>學習之<b class='flag-5'>Linux</b><b class='flag-5'>驅動</b>全新更新-CAN+

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式
    的頭像 發表于 09-02 09:11 ?635次閱讀

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一個基于L
    的頭像 發表于 09-02 09:09 ?467次閱讀

    嵌入式linux開發板芯片的工作原理

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺,它廣泛應用于工業控制、智能家居、智能交通、醫療設備等領域。 嵌入式
    的頭像 發表于 09-02 09:07 ?475次閱讀

    C28x嵌入式應用程序二進制接口

    電子發燒友網站提供《C28x嵌入式應用程序二進制接口.pdf》資料免費下載
    發表于 08-31 09:39 ?0次下載
    C28x<b class='flag-5'>嵌入式</b><b class='flag-5'>應用程序</b>二進制接口

    linux驅動程序的編譯方法是什么

    Linux驅動程序的編譯方法主要包括兩種: 與內核一起編譯 和 編譯成獨立的內核模塊 。以下是對這兩種方法的介紹: 一、與內核一起編譯 與內
    的頭像 發表于 08-30 14:46 ?765次閱讀

    MSP430嵌入式應用程序二進制接口

    電子發燒友網站提供《MSP430嵌入式應用程序二進制接口.pdf》資料免費下載
    發表于 08-30 11:43 ?0次下載
    MSP430<b class='flag-5'>嵌入式</b><b class='flag-5'>應用程序</b>二進制接口

    C6000嵌入式應用程序二進制接口

    電子發燒友網站提供《C6000嵌入式應用程序二進制接口.pdf》資料免費下載
    發表于 08-29 14:52 ?0次下載
    C6000<b class='flag-5'>嵌入式</b><b class='flag-5'>應用程序</b>二進制接口

    飛凌嵌入式技術創新日(深圳站)精彩回顧

    2024年8月26日下午,飛凌嵌入式技術創新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術領域的專家和企業代表,
    發表于 08-28 09:06

    嵌入式設備中的4G/5G模塊管理

    在高度數字化的智能時代,Linux嵌入式板卡在各個領域都發揮著重要作用,然而,隨著4G/5G技術的普及,如何高效、穩定地管理這些嵌入式設備上的無線
    發表于 07-13 16:45

    Linux是做什么用的?

    流行,因為它穩定、安全且可靠。許多大型互聯網公司和數據中心都使用Linux作為服務器操作系統,用于托管網站、數據庫、應用程序等。 2、嵌入式系統:Linux可以被
    發表于 04-28 15:40

    提升嵌入式系統可靠性的有效策略

    嵌入式工程師來說一個很大的好處是,我們的IDE和工具鏈可以自動產生應用程序或內存空間校驗和(Checksum),從而根據這個校驗和驗證應用程序是否完好。有
    發表于 04-26 14:50 ?601次閱讀
    提升<b class='flag-5'>嵌入式</b>系統可靠性的有效策略

    嵌入式人工智能的就業方向有哪些?

    網絡編程開發及實戰下 數據庫開發 Linux應用開發綜合實戰 三:嵌入式Linux系統工程師,Linuxkernel工程師,嵌入式Linux
    發表于 02-26 10:17

    嵌入式軟件開發應該掌握哪些知識?

    兩個部分組成,其中嵌入式軟件是指在嵌入式系統中運行的程序,用于控制硬件并提供特定的功能和服務。嵌入式軟件應用廣泛,包括汽車、醫療設備、智能家居、智能穿戴、工業
    發表于 02-19 11:23
    六合彩150期| 大发888 188| 大发888官网客服| 钻石娱乐开户| 百家乐官网保单破解方法| 百家乐官网论坛博彩拉| 百家乐官网缩水工具| 百家乐桌颜色可定制| 天猫百家乐娱乐城| 十六浦娱乐城信誉| 真人百家乐官网在线玩| 百家乐官网国际赌场娱乐网规则 | 百家乐官网缩水软件| 百家乐翻天粤语版| 大发888下载安全的| 原平市| 木星百家乐官网的玩法技巧和规则| 豪华百家乐桌子厂家| 水果机遥控器多少钱| 在线百家乐投注| 什么事百家乐官网的路单| 波音百家乐自动投注| 全讯网123| 百家乐官网优惠现金| 永利博百家乐官网的玩法技巧和规则 | 申博太阳城官网| 左云县| 百家乐官网真人游戏娱乐| 百家乐讯特| 优博平台| 葡京百家乐官网的玩法技巧和规则| 百家乐买闲打法| 必博365| 伯爵百家乐官网的玩法技巧和规则| 百家乐智能系统| 都江堰市| 风水做生意店铺的门| 大发888-娱乐场| 百家乐官网赌博论坛在线| 伟博百家乐娱乐城| 百家乐官网现场网络|