0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式Linux應(yīng)用程序自動載入驅(qū)動模塊方法簡介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-14 11:21 ? 次閱讀

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

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

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

系統(tǒng)內(nèi)核自動載入驅(qū)動功能模塊:
/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

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

在嵌入式Linux操作系統(tǒng)下,一般是利用insmod指令來實現(xiàn)向系統(tǒng)內(nèi)核載入模塊,如載入鍵盤驅(qū)動:
# insmod /lib/modules/2.6.30/em9x60_keypad

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

定義一個class KEYManager鍵盤管理類,在該類中主要實現(xiàn)對鍵盤的響應(yīng)功能。

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

對應(yīng)的析構(gòu)函數(shù):
KEYManager::~KEYManager( )
{
system( 'rmmod em9x60_key' ); // 卸載鍵盤驅(qū)動模塊
}

應(yīng)用程序中,一旦定義了class KEYManager的實例就實現(xiàn)了鍵盤模塊的自動載入。后續(xù)就可打開鍵盤設(shè)備文件,讀取鍵碼值,從而實現(xiàn)對鍵盤響應(yīng)的功能。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11208

    瀏覽量

    208721
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
收藏 人收藏

    評論

    相關(guān)推薦

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-CAN+

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?360次閱讀
    北京迅為RK3568開發(fā)板<b class='flag-5'>嵌入式</b>學(xué)習(xí)之<b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b>全新更新-CAN+

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式
    的頭像 發(fā)表于 09-02 09:11 ?345次閱讀

    嵌入式linux開發(fā)板怎么操作

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

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式
    的頭像 發(fā)表于 09-02 09:07 ?302次閱讀

    C28x嵌入式應(yīng)用程序二進制接口

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

    MSP430嵌入式應(yīng)用程序二進制接口

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

    C6000嵌入式應(yīng)用程序二進制接口

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

    嵌入式設(shè)備中的4G/5G模塊管理

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

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識?

    兩個部分組成,其中嵌入式軟件是指在嵌入式系統(tǒng)中運行的程序,用于控制硬件并提供特定的功能和服務(wù)。嵌入式軟件應(yīng)用廣泛,包括汽車、醫(yī)療設(shè)備、智能家居、智能穿戴、工業(yè)
    發(fā)表于 02-19 11:23

    嵌入式Linux開發(fā)的三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機開發(fā)、SDK開發(fā)和驅(qū)動開發(fā)。
    的頭像 發(fā)表于 01-22 14:22 ?899次閱讀

    【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到嵌入式Linux平臺運行

    。搭建Linux平臺交叉編譯環(huán)境在上一篇文章我們介紹了使用AWTK開發(fā)簡單的應(yīng)用并在PC上模擬運行,本篇文章就來介紹一下怎么讓應(yīng)用程序運行在嵌入式Linux平臺上。1
    的頭像 發(fā)表于 12-07 12:08 ?649次閱讀
    【從0開始創(chuàng)建AWTK<b class='flag-5'>應(yīng)用程序</b>】編譯應(yīng)用到<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>平臺運行

    嵌入式系統(tǒng)的原理(簡介與入門)

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)的原理(簡介與入門).pdf》資料免費下載
    發(fā)表于 11-17 14:36 ?2次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的原理(<b class='flag-5'>簡介</b>與入門)

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第3章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第3章.pdf》資料免費下載
    發(fā)表于 11-16 11:19 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第3章

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第2章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第2章.pdf》資料免費下載
    發(fā)表于 11-16 11:18 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第2章

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第1章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第1章.pdf》資料免費下載
    發(fā)表于 11-16 11:17 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第1章