91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

系統(tǒ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

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

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

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

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

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

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

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

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

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

    關注

    88

    文章

    11764

    瀏覽量

    219097
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式驅動開發(fā),需要掌握哪些技能?

    嵌入式驅動開發(fā)中,方便設備管理、驅動移植等,所以,需要掌握一定的數(shù)據(jù)結構。 3、 操作系統(tǒng)知識如果基于Linux、RTOS等操作系統(tǒng)設計驅動
    發(fā)表于 01-20 16:46

    什么是嵌入式應用開發(fā)?

    、實現(xiàn)和部署,還包括硬件選擇、軟件設計、測試、集成和維護等流程?。 定義和背景 嵌入式應用開發(fā)是指將軟件部署到嵌入式系統(tǒng)中,這些系統(tǒng)廣泛應用于消費電子和工業(yè)自動化中。嵌入式系統(tǒng)通常
    發(fā)表于 01-12 16:13

    迅為Hi3403開發(fā)板驅動教程全面上線,開啟嵌入式Linux開發(fā)新篇章!

    迅為iTOP-Hi3403開發(fā)板linux驅動教程全面上線,開啟嵌入式Linux開發(fā)新篇章!
    的頭像 發(fā)表于 12-18 14:23 ?694次閱讀
    迅為Hi3403開發(fā)板<b class='flag-5'>驅動</b>教程全面上線,開啟<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>開發(fā)新篇章!

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

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

    ARM嵌入式這樣學

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

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

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

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

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

    嵌入式從入門到進階,怎么學?

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

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

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

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

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

    Linux的作用

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

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

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux驅動模塊之helloworld驅動

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux設備驅動的分類

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

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

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