chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-14 11:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

系統(tǒng)內(nèi)核自動(dòng)載入驅(qū)動(dòng)功能模塊:
/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ū)動(dòng)功能模塊:
/lib/modules/2.6.30/em9x60_keypad.ko
/lib/modules/2.6.30/em9x60_can.ko

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

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

定義一個(gè)class KEYManager鍵盤(pán)管理類(lèi),在該類(lèi)中主要實(shí)現(xiàn)對(duì)鍵盤(pán)的響應(yīng)功能。

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

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

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

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

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

    關(guān)注

    88

    文章

    11628

    瀏覽量

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

    36952
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一個(gè)面向單片機(jī)、事件驅(qū)動(dòng)嵌入式開(kāi)發(fā)平臺(tái)介紹

    EventOS,是一個(gè)面向單片機(jī)、事件驅(qū)動(dòng)嵌入式開(kāi)發(fā)平臺(tái)。它主要有兩大技術(shù)特色:一是事件驅(qū)動(dòng),二是超輕量。EventOS以及其母項(xiàng)目EventOS,目標(biāo)是開(kāi)發(fā)一個(gè)企業(yè)級(jí)的
    發(fā)表于 12-05 06:26

    ARM嵌入式這樣學(xué)

    )話題大熱,Arm也推出神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)軟件 Arm NN,可在基于Arm的高能效平臺(tái)上輕松構(gòu)建和運(yùn)行機(jī)器學(xué)習(xí)應(yīng)用程序,未來(lái)嵌入式行業(yè)也將不斷革新,嵌入式市場(chǎng)有所可期。 據(jù)知乎某15年從業(yè)人員看
    發(fā)表于 12-04 07:48

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通過(guò)學(xué)習(xí)嵌入式技術(shù)提升就業(yè)競(jìng)爭(zhēng)力,需重點(diǎn)掌握C語(yǔ)言、嵌入式硬件架構(gòu)、RTOS/Linux開(kāi)發(fā)、通信協(xié)議四
    發(fā)表于 10-21 16:25

    嵌入式達(dá)到什么水平才能就業(yè)?

    :包括GPIO、定時(shí)器、中斷、ADC 等外設(shè)的配置與調(diào)試,能實(shí)現(xiàn)如溫濕度采集、電機(jī)控制等功能掌握嵌入式 Linux 驅(qū)動(dòng)開(kāi)發(fā)基礎(chǔ):能編寫(xiě)簡(jiǎn)單字符設(shè)備驅(qū)動(dòng),實(shí)現(xiàn)設(shè)備的初始化、讀寫(xiě)操作,會(huì)
    發(fā)表于 09-15 10:20

    PCB嵌入式功率模塊介紹

    電子發(fā)燒友網(wǎng)站提供《PCB嵌入式功率模塊介紹.docx》資料免費(fèi)下載
    發(fā)表于 09-09 16:19 ?2次下載

    嵌入式從入門(mén)到進(jìn)階,怎么學(xué)?

    嵌入式從入門(mén)到進(jìn)階,怎么學(xué)? 嵌入式學(xué)習(xí)的核心是 “軟硬結(jié)合的技術(shù)壁壘”,科學(xué)分層才能高效突破。以下是從入門(mén)到高階的精簡(jiǎn)路線,幫你避開(kāi)彎路: 1、基礎(chǔ)奠基層:構(gòu)建技術(shù)底座 C 語(yǔ)言聚焦
    發(fā)表于 09-02 09:44

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    :使用Linux操作系統(tǒng),可以運(yùn)行各種復(fù)雜的應(yīng)用程序驅(qū)動(dòng)程序。 4. 資源需求 : 單片機(jī)嵌入式 :對(duì)硬件資源的需求較低,通常只需要一個(gè)單片機(jī)芯片,內(nèi)存和存儲(chǔ)空間較小。
    發(fā)表于 06-20 09:46

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統(tǒng)簡(jiǎn)介

    9.1 文件系統(tǒng)概念文件系統(tǒng)通常提供目錄或文件夾用于記錄文件,在很多系統(tǒng)中目錄本身也是文件,在這些系統(tǒng)中,目錄是管理文件系統(tǒng)結(jié)構(gòu)的系統(tǒng)文件。從文件組織結(jié)構(gòu)上來(lái)說(shuō),嵌入式Linux文件系統(tǒng)與普通PC
    發(fā)表于 06-19 17:22

    嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式

    基礎(chǔ) 3. 學(xué)習(xí)路徑推薦第一階段:熟悉開(kāi)發(fā)環(huán)境(如Keil、IAR、STM32)第二階段:掌握裸機(jī)編程與驅(qū)動(dòng)開(kāi)發(fā)第三階段:學(xué)習(xí)RTOS(實(shí)時(shí)操作系統(tǒng))如FreeRTOS第四階段:深入理解Linux嵌入式
    發(fā)表于 05-15 09:29

    Linux的作用

    。 2、嵌入式系統(tǒng):Linux可以被嵌入到各種嵌入式設(shè)備中,如智能路由器、智能電視等。它提供了一個(gè)靈活的平臺(tái),可以根據(jù)設(shè)備的需求進(jìn)行定制和優(yōu)化。 3、個(gè)人電腦操作系統(tǒng):
    發(fā)表于 04-04 01:57

    硬核升級(jí)!華清遠(yuǎn)見(jiàn)STM32MP157驅(qū)動(dòng)開(kāi)發(fā)課程助力嵌入式Linux底層開(kāi)發(fā)入門(mén)進(jìn)階

    嵌入式Linux系統(tǒng)開(kāi)發(fā)中,驅(qū)動(dòng)程序開(kāi)發(fā)是一項(xiàng)關(guān)鍵技術(shù),它作為硬件與軟件之間的橋梁,實(shí)現(xiàn)了操作系統(tǒng)對(duì)硬件設(shè)備的控制。相較于嵌入式
    的頭像 發(fā)表于 04-03 16:40 ?707次閱讀
    硬核升級(jí)!華清遠(yuǎn)見(jiàn)STM32MP157<b class='flag-5'>驅(qū)動(dòng)</b>開(kāi)發(fā)課程助力<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>底層開(kāi)發(fā)入門(mén)進(jìn)階

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux驅(qū)動(dòng)模塊之helloworld驅(qū)動(dòng)

    是展示驅(qū)動(dòng)程序的基本結(jié)構(gòu)和加載過(guò)程。 源碼編寫(xiě) (一)首先包含頭文件 #include // 包含模塊相關(guān)函數(shù)的頭文件 #include // 包含內(nèi)核相關(guān)函數(shù)的頭文件 #include// 包含初始化
    發(fā)表于 03-12 10:35

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux設(shè)備驅(qū)動(dòng)的分類(lèi)

    內(nèi)核模塊嵌入Linux內(nèi)核中,位于內(nèi)核空間。它們直接與內(nèi)核進(jìn)行交互,通過(guò)內(nèi)核提供的接口與硬件設(shè)備進(jìn)行通信和控制。用戶空間的應(yīng)用程序通過(guò)系統(tǒng)調(diào)用和設(shè)備文件接口與設(shè)備
    發(fā)表于 03-12 10:20

    飛凌嵌入式ElfBoard ELF 1板卡-Linux驅(qū)動(dòng)模塊之helloworld驅(qū)動(dòng)

    驅(qū)動(dòng)程序的基本結(jié)構(gòu)和加載過(guò)程。源碼編寫(xiě)(一)首先包含頭文件#include // 包含模塊相關(guān)函數(shù)的頭文件#include // 包含內(nèi)核相關(guān)函數(shù)的頭文件#include// 包含初始化和清理函數(shù)
    發(fā)表于 03-12 10:15

    飛凌嵌入式ElfBoard ELF 1板卡-Linux設(shè)備驅(qū)動(dòng)的分類(lèi)

    內(nèi)核模塊嵌入Linux內(nèi)核中,位于內(nèi)核空間。它們直接與內(nèi)核進(jìn)行交互,通過(guò)內(nèi)核提供的接口與硬件設(shè)備進(jìn)行通信和控制。用戶空間的應(yīng)用程序通過(guò)系統(tǒng)調(diào)用和設(shè)備文件接口與設(shè)備
    發(fā)表于 03-10 17:00