一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

只需5步,教你添加GPIO按鍵——飛凌教程

飛凌嵌入式 ? 2022-10-17 14:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文將為大家介紹如何在飛凌OKT507-C開發(fā)板上添加兩個(gè)GPIO按鍵,希望能夠?qū)Ω魑?a target="_blank">工程師有所幫助,本文章以PE5、PE6兩個(gè)引腳為例。話不多說,下面我們進(jìn)入主題。

一、GPIO按鍵添加方法

1. 添加內(nèi)核配置

Linux內(nèi)核源代碼中集成了很多功能,一般的用戶只會(huì)用到其中的部分功能。用戶從中挑選自己需要的功能,這就叫內(nèi)核配置。下面我們開始進(jìn)行配置。

注意:

(1)在進(jìn)行配置前,需要對(duì)

OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/configs/sun50iw9p1smp_longan_dcfconfig文件提前做好備份;

(2)以下所有圖中的紅框?yàn)樾薷暮蟮膬?nèi)容。

vi OKT507-linux-sdk/kernel/linux-4.9/.config

pYYBAGNM0lyAC3miAAAeAmBgCG8226.png

2. 添加key節(jié)點(diǎn)

添加結(jié)點(diǎn)需要我們到設(shè)備樹中進(jìn)行添加,設(shè)備樹是一個(gè)描述硬件的數(shù)據(jù)結(jié)構(gòu),甚至你可以將其看成一個(gè)大結(jié)構(gòu)體(這個(gè)結(jié)構(gòu)體就是平臺(tái),成員就是具體的設(shè)備),將硬件的配置從linux內(nèi)核的源碼中提取出來。

下面打開我們的T507設(shè)備樹文件,如下:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

pYYBAGNM0lyAIeRQAAArPkS26ww202.png

其中按鍵鍵值設(shè)置如下。

poYBAGNM0luAS-uoAAAVUZbCktg004.png

相關(guān)鍵值可通過查看input-event-codes.h文件確定。

vi OKT507-linux-sdk/kernel/linux-4.9/include/uapi/linux/input-event-codes.h

poYBAGNM0lyAM6_sAAAVFykAKbM456.pngpoYBAGNM0lyAfkhtAAAQAstjo_Q043.png

3. 添加引腳定義

添加引腳定義需要用到pinctrl,下面給大家簡單介紹下pinctrl。pinctrl就是系統(tǒng)中pin引腳的控制。

假如在使用到GPIO、I2C等功能時(shí),若按引腳逐一地去找對(duì)應(yīng)的寄存器進(jìn)行配置非常浪費(fèi)時(shí)間和精力,所以內(nèi)核引入了pinctrl子系統(tǒng),把引腳的復(fù)用和配置抽象出來,只需要芯片廠商把自家芯片的支持進(jìn)去,就可以很方便的配置引腳。

下面打開我們的pinctrl文件,如下:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

pYYBAGNM0lyAT-iKAAARYiQfzAU649.png

4. 關(guān)閉沖突功能

因?yàn)橛行┕δ芙Y(jié)點(diǎn)使用的引腳與我們這次復(fù)用的引腳發(fā)生沖突,會(huì)發(fā)生引腳不生效的錯(cuò)誤,所以我們一定要檢查好,然后將其關(guān)閉。

如下打開設(shè)備樹文件:

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

poYBAGNM0lyAG6cUAABF-VcBCW0676.pngpoYBAGNM0lyAbBcHAAAVQURMk_0614.png

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

注意:

因攝像頭csi復(fù)用的引腳與我們這里的沖突,雖然前面將狀態(tài)disabled了,pinctrl這里也有可能會(huì)造成沖突,為了避免不必要的麻煩,我們也將這里注釋掉。

pYYBAGNM0l2AdbvXAABc9HA3nkM580.png

5. 驅(qū)動(dòng)修改

gpio-keys是基于input子系統(tǒng)實(shí)現(xiàn)的一個(gè)通用按鍵驅(qū)動(dòng),該驅(qū)動(dòng)基于platform_driver架構(gòu),實(shí)現(xiàn)了驅(qū)動(dòng)和設(shè)備分離,符合Linux設(shè)備驅(qū)動(dòng)模型的思想,也符合linux驅(qū)動(dòng)實(shí)現(xiàn)模型,即driver和device分離模型。

一般按鍵驅(qū)動(dòng),都是基于gpio-keys進(jìn)行開發(fā)的。驅(qū)動(dòng)文件如下:

vi OKT507-linux-sdk/kernel/linux-4.9/drivers/input/keyboard/gpio_keys.c

poYBAGNM0l2AE53yAAAUNSwqy5U695.pngpoYBAGNM0l2AF8SFAAAetbXvkoE328.pngpYYBAGNM0l2AE59wAAArlZ50Jtc681.pngpoYBAGNM0l2AQw80AAAsch6Xa6M661.pngpYYBAGNM0l2AKIvbAAAkauofL_s931.png

二、測試方法

終端窗口輸入evtest,選擇 7。

pYYBAGNM0l2AEU48AABWTXP8OBw298.png

從上圖紅框可以看出,通過evtest測試工具將內(nèi)核設(shè)備讀取并打印設(shè)備描述的事件,到這里,GPIO按鍵就做完了,可以用它來實(shí)現(xiàn)很多的功能,比如說按一下切換燈的狀態(tài),蜂鳴器響等。

當(dāng)然不只是這些啦,我們還可以利用它去實(shí)現(xiàn)很多其他功能,歡迎各位聰明的工程師小伙伴自行發(fā)揮!

以上就是小編為大家?guī)淼脑陲w凌OKT507-C開發(fā)板上添加GPIO按鍵的全過程。

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

    關(guān)注

    16

    文章

    1280

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    T527N開發(fā)板試用】T527N開發(fā)板開箱評(píng)測

    很高興收到嵌入式申請(qǐng)的T527N開發(fā)板,板子的正反面如下圖所示: 可以看到,板子上面的資源非常的豐富,有CAN,485, SIM卡槽,4G模塊,WIFI/Bluetooth,
    發(fā)表于 07-04 11:43

    AS32X601驅(qū)動(dòng)系列教程 GPIO_按鍵檢測詳解

    在嵌入式系統(tǒng)開發(fā)中,GPIO(通用輸入輸出端口)是實(shí)現(xiàn)硬件與軟件交互的關(guān)鍵組件。本節(jié)主要利用的時(shí)GPIO的輸入采集功能,本節(jié)的主要功能為,讀取板載按鍵,當(dāng)按鍵按下時(shí),對(duì)應(yīng)led亮起,抬
    的頭像 發(fā)表于 05-23 16:44 ?272次閱讀
    AS32X601驅(qū)動(dòng)系列教程 <b class='flag-5'>GPIO</b>_<b class='flag-5'>按鍵</b>檢測詳解

    「2025恩智浦創(chuàng)新技術(shù)峰會(huì)」嵌入式亮相上海首站

    2025年5月14日,【2025年恩智浦創(chuàng)新技術(shù)峰會(huì)】首站登陸上海,嵌入式作為恩智浦(NXP)金牌合作伙伴受邀參會(huì),聚焦“工業(yè)與物聯(lián)網(wǎng)”領(lǐng)域,攜多款邊緣側(cè)AI核心板、開發(fā)板以及動(dòng)態(tài)演示方案亮相
    的頭像 發(fā)表于 05-15 13:38 ?701次閱讀
    「2025恩智浦創(chuàng)新技術(shù)峰會(huì)」<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式亮相上海首站

    【迅為電子】一步步教你完成iTOP-RK3568 EDP屏幕適配

    【迅為電子】一步步教你完成iTOP-RK3568 EDP屏幕適配
    的頭像 發(fā)表于 04-23 15:08 ?1027次閱讀
    【迅為電子】一<b class='flag-5'>步步</b><b class='flag-5'>教你</b>完成iTOP-RK3568 EDP屏幕適配

    基于小派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡介本實(shí)驗(yàn)將演示如何在小派-RK2206開發(fā)板上使用IOT庫的GPIO中斷模式,進(jìn)行GPIO編程開發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過配置GPIO引腳為中斷模式,實(shí)現(xiàn)
    的頭像 發(fā)表于 04-21 10:39 ?446次閱讀
    基于小<b class='flag-5'>凌</b>派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>中斷

    嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之基于input子系統(tǒng)的按鍵驅(qū)動(dòng)

    復(fù)用表格,可以得到K2由GPIO5_2控制,所以我們需要配置GPIO5_2引腳為輸入,而且能夠在用戶空間能夠獲取按鍵事件。(二)在設(shè)備樹arch/arm/boot/dts
    發(fā)表于 04-15 10:58

    基于小派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡介本案例主要是如何在小派-RK2206開發(fā)板上使用IOT庫的GPIO接口,進(jìn)行GPIO編程開發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過配置GPIO引腳,實(shí)現(xiàn)
    的頭像 發(fā)表于 04-11 15:36 ?1209次閱讀
    基于小<b class='flag-5'>凌</b>派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>外設(shè)

    嵌入式榮獲瑞芯微2024年度優(yōu)秀合作獎(jiǎng)

    嵌入式榮獲瑞芯微“2024 年度優(yōu)秀合作獎(jiǎng)”,這一榮譽(yù)不僅是對(duì)嵌入式過去一年與瑞芯微緊密合作的高度認(rèn)可,也為未來的合作注入了新動(dòng)力。
    的頭像 發(fā)表于 02-21 10:53 ?865次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式榮獲瑞芯微2024年度優(yōu)秀合作獎(jiǎng)

    嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之按鍵

    在開發(fā)板上有三個(gè)用戶按鍵,K1,K2,K3,Linux系統(tǒng)中也集成了gpio-keys驅(qū)動(dòng),依照上一節(jié)中的步驟,在設(shè)備樹中進(jìn)行按鍵設(shè)備配置。硬件原理IOMUX配置從上圖可以看出GPIO5
    發(fā)表于 02-06 10:03

    嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之按鍵

    在開發(fā)板上有三個(gè)用戶按鍵,K1,K2,K3,Linux系統(tǒng)中也集成了gpio-keys驅(qū)動(dòng),依照上一節(jié)中的步驟,在設(shè)備樹中進(jìn)行按鍵設(shè)備配置。硬件原理IOMUX配置從上圖可以看出GPIO5
    發(fā)表于 01-24 09:32

    嵌入式2024年度盤點(diǎn)】乘風(fēng)破浪,奮力前行

    2024年即將落下帷幕,回首這一年,嵌入式乘風(fēng)破浪,奮力前行,創(chuàng)造了發(fā)展新篇章,站在2025年的開端,讓我們重溫嵌入式2024年的年度大事。一、企業(yè)實(shí)力,穩(wěn)步攀升國家級(jí)榮譽(yù)——
    的頭像 發(fā)表于 01-04 13:22 ?803次閱讀
    【<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式2024年度盤點(diǎn)】乘風(fēng)破浪,奮力前行

    智電子加入槳技術(shù)伙伴計(jì)劃,攜手PaddleX為視覺模組產(chǎn)品賦能添“智”

    近日,福州市睿智捷電子有限公司(以下簡稱智電子)正式加入槳技術(shù)伙伴計(jì)劃。雙方將共同探索人工智能技術(shù)在邊緣端部署中的創(chuàng)新與應(yīng)用。智電子將憑借其在邊緣計(jì)算領(lǐng)域的豐富經(jīng)驗(yàn),結(jié)合
    的頭像 發(fā)表于 11-01 08:07 ?694次閱讀
    <b class='flag-5'>凌</b>智電子加入<b class='flag-5'>飛</b>槳技術(shù)伙伴計(jì)劃,攜手PaddleX為視覺模組產(chǎn)品賦能添“智”

    嵌入式「在線文檔」功能上線 | 開放靈活,盡在掌握

    在忙碌的研發(fā)過程中,效率十分關(guān)鍵,嵌入式深知“便捷獲取最新資料”的重要性,為此全新上線【在線文檔】功能——進(jìn)入嵌入式官網(wǎng),產(chǎn)品資料全面升級(jí)為在線文檔形式,旨在為客戶帶來更加開放
    的頭像 發(fā)表于 09-13 09:46 ?624次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式「在線文檔」功能上線 | 開放靈活,盡在掌握

    嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    向前,5大展區(qū)便映入眼簾。 全產(chǎn)品矩陣展區(qū)展示了嵌入式豐富的產(chǎn)品線,從嵌入式板卡到工控機(jī),再到豐富的動(dòng)態(tài)演示方案,無不體現(xiàn)了嵌入式
    發(fā)表于 08-28 09:06

    思特威公布全新子品牌“微”,M1系列車載視覺處理芯片首發(fā)亮相

    在科技創(chuàng)新的浪潮中,CMOS圖像傳感器領(lǐng)域的佼佼者思特威(SmartSens,股票代碼688213)近日宣布了一項(xiàng)重要戰(zhàn)略舉措,正式推出其全資子公司品牌——微電子(Flyingchip?),簡稱“
    的頭像 發(fā)表于 08-10 17:48 ?2051次閱讀