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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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針對一些擴(kuò)展應(yīng)用,實(shí)現(xiàn)了相應(yīng)的驅(qū)動程序,包括有精簡ISA總線的操作驅(qū)動、GPIO、I2C、SPI、LCD、KeyPad、CAN驅(qū)動等。這些設(shè)備的驅(qū)動程序可以在內(nèi)核啟動后,通過啟動腳本來自動加載,但是這種方式往往不夠靈活,因?yàn)樵趯?shí)際的應(yīng)用中,客戶往往會根據(jù)實(shí)際情況加以選擇。

基于這種情況,我們把驅(qū)動程序模塊分為兩類,第一類驅(qū)動針對于嵌入式Linux工控板EM9160直接引出的接口,如ISA總線、GPIO、LCD、I2C、SPI等,則直接通過內(nèi)核啟動腳本來實(shí)現(xiàn)自動載入。第二類針對于利用ISA總線進(jìn)行的擴(kuò)展應(yīng)用驅(qū)動,如:Keypad 、CAN應(yīng)用等,對于這類驅(qū)動在內(nèi)核啟動時并沒有自行載入,需要客戶可根據(jù)實(shí)際情況進(jìn)行選擇。本文將著重介紹如何在應(yīng)用程序中實(shí)現(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指令來實(shí)現(xiàn)向系統(tǒng)內(nèi)核載入模塊,如載入鍵盤驅(qū)動:
# insmod /lib/modules/2.6.30/em9x60_keypad

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

定義一個class KEYManager鍵盤管理類,在該類中主要實(shí)現(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的實(shí)例就實(shí)現(xiàn)了鍵盤模塊的自動載入。后續(xù)就可打開鍵盤設(shè)備文件,讀取鍵碼值,從而實(shí)現(xiàn)對鍵盤響應(yīng)的功能。

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

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

    關(guān)注

    88

    文章

    11635

    瀏覽量

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南

    編寫簡單的 Shell 腳本(如自動備份文件、批量編譯程序)鞏固技能。? 二、能力進(jìn)階:攻克核心技術(shù)模塊? 入門后需聚焦嵌入式
    發(fā)表于 12-16 10:42

    一個面向單片機(jī)、事件驅(qū)動嵌入式開發(fā)平臺介紹

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

    ARM嵌入式這樣學(xué)

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

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

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

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

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

    PCB嵌入式功率模塊介紹

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

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

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

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

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

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

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

    Linux的作用

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

    硬核升級!華清遠(yuǎn)見STM32MP157驅(qū)動開發(fā)課程助力嵌入式Linux底層開發(fā)入門進(jìn)階

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

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

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

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

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

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

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

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

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