91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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,下面給大家簡(jiǎn)單介紹下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

二、測(cè)試方法

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

pYYBAGNM0l2AEU48AABWTXP8OBw298.png

從上圖紅框可以看出,通過evtest測(cè)試工具將內(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1329

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式RV1126B開發(fā)板】+基本功能測(cè)試篇(1)

    嵌入式RV1126B開發(fā)板在出廠時(shí),已配置了相應(yīng)系統(tǒng)程序,并內(nèi)置了豐富的命令行工具可供用戶使用,為此可通過串口超級(jí)終端來進(jìn)行相應(yīng)的功能測(cè)試。 我們可以將該測(cè)試分成兩類,即內(nèi)核性能及狀態(tài)的測(cè)試
    發(fā)表于 03-05 12:25

    【正式來襲】2026年嵌賽——瑞芯微 嵌入式賽題解讀

    2026年全國(guó)大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競(jìng)賽應(yīng)用賽道正式開啟!嵌入式作為本次競(jìng)賽的協(xié)辦單位之一,聯(lián)合瑞芯微推出專屬賽題,同時(shí),嵌入式將充分發(fā)揮其在嵌入式領(lǐng)域的深厚積累,為參賽的
    的頭像 發(fā)表于 02-25 09:51 ?596次閱讀
    【正式來襲】2026年嵌賽——瑞芯微 <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式賽題解讀

    嵌入式啟動(dòng)LPDDR5升級(jí)戰(zhàn)略,破局供應(yīng)難題

    嵌入式現(xiàn)已完成對(duì)RK3588及RK3576系列核心板產(chǎn)品向LPDDR5內(nèi)存升級(jí)的全面適配與驗(yàn)證,并且后續(xù)將把此項(xiàng)升級(jí)逐步拓展至更多平臺(tái)。
    的頭像 發(fā)表于 01-16 08:06 ?1.1w次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式啟動(dòng)LPDDR<b class='flag-5'>5</b>升級(jí)戰(zhàn)略,破局供應(yīng)難題

    還在用PDF文檔查資料?嵌入式「產(chǎn)品在線文檔」讓您的開發(fā)效率狂飆

    PDF文件定位問題。 嵌入式在線文檔通過結(jié)構(gòu)化知識(shí)圖譜實(shí)現(xiàn)\"關(guān)鍵詞秒級(jí)檢索+多維度匹配\"。 使用方式非常簡(jiǎn)單,只需3: ①用戶根據(jù)芯片品牌找到自己使用的產(chǎn)品; ②然后按快捷鍵
    發(fā)表于 09-26 08:57

    【作品合集】嵌入式OK527N-C開發(fā)板測(cè)評(píng)

    嵌入式OK527N-C開發(fā)板測(cè)評(píng)作品合集 產(chǎn)品介紹: OK527-C開發(fā)板采用核心板+底板分體式設(shè)計(jì),共320個(gè)引腳,采用4個(gè)80Pin板對(duì)板連接器的方式將處理器的功能引腳以最便利的方式引出,并
    發(fā)表于 09-22 15:54

    嵌入式2026屆校園招聘正式啟動(dòng)!

    嵌入式2026屆校園招聘正式啟動(dòng)!
    的頭像 發(fā)表于 09-19 08:03 ?1098次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式2026屆校園招聘正式啟動(dòng)!

    嵌入式2025上半年新品盤點(diǎn)

    本篇文章,我們以發(fā)布時(shí)間為序,全面回顧一下嵌入式在2025上半年已經(jīng)推出的6款新品矩陣。
    的頭像 發(fā)表于 07-11 13:38 ?2092次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式2025上半年新品盤點(diǎn)

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

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

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

    在嵌入式系統(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 ?843次閱讀
    AS32X601驅(qū)動(dòng)系列教程 <b class='flag-5'>GPIO</b>_<b class='flag-5'>按鍵</b>檢測(cè)詳解

    「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 ?1368次閱讀
    「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 ?2038次閱讀
    【迅為電子】一<b class='flag-5'>步步</b><b class='flag-5'>教你</b>完成iTOP-RK3568 EDP屏幕適配

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

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

    嵌入式學(xué)習(xí)-嵌入式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-16 10:57

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