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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

本文將為大家介紹如何在飛凌OKT507-C開發(fā)板上添加兩個GPIO按鍵,希望能夠對各位工程師有所幫助,本文章以PE5、PE6兩個引腳為例。話不多說,下面我們進入主題。

一、GPIO按鍵添加方法

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

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

注意:

(1)在進行配置前,需要對

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

(2)以下所有圖中的紅框為修改后的內(nèi)容。

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

pYYBAGNM0lyAC3miAAAeAmBgCG8226.png

2. 添加key節(jié)點

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

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

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

pYYBAGNM0lyAIeRQAAArPkS26ww202.png

其中按鍵鍵值設置如下。

poYBAGNM0luAS-uoAAAVUZbCktg004.png

相關鍵值可通過查看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等功能時,若按引腳逐一地去找對應的寄存器進行配置非常浪費時間和精力,所以內(nèi)核引入了pinctrl子系統(tǒng),把引腳的復用和配置抽象出來,只需要芯片廠商把自家芯片的支持進去,就可以很方便的配置引腳。

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

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

pYYBAGNM0lyAT-iKAAARYiQfzAU649.png

4. 關閉沖突功能

因為有些功能結點使用的引腳與我們這次復用的引腳發(fā)生沖突,會發(fā)生引腳不生效的錯誤,所以我們一定要檢查好,然后將其關閉。

如下打開設備樹文件:

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復用的引腳與我們這里的沖突,雖然前面將狀態(tài)disabled了,pinctrl這里也有可能會造成沖突,為了避免不必要的麻煩,我們也將這里注釋掉。

pYYBAGNM0l2AdbvXAABc9HA3nkM580.png

5. 驅動修改

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

一般按鍵驅動,都是基于gpio-keys進行開發(fā)的。驅動文件如下:

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)核設備讀取并打印設備描述的事件,到這里,GPIO按鍵就做完了,可以用它來實現(xiàn)很多的功能,比如說按一下切換燈的狀態(tài),蜂鳴器響等。

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

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

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

    關注

    16

    文章

    1329

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    嵌入式啟動LPDDR5升級戰(zhàn)略,破局供應難題

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

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

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

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

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

    嵌入式2026屆校園招聘正式啟動!

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

    嵌入式2025上半年新品盤點

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

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

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

    AS32X601驅動系列教程 GPIO_按鍵檢測詳解

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

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

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

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

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

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

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

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

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

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

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

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

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