色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

ElfBoard技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的按鍵功能

ElfBoard ? 2024-07-10 09:54 ? 次閱讀

本次源碼適配工作是在NXP i.MX6ULL EVK評(píng)估板的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)基礎(chǔ)上進(jìn)行的。主要目標(biāo)是調(diào)整功能接口引腳配置,以適應(yīng)ELF 1開(kāi)發(fā)板。接下來(lái),將以按鍵功能的適配作為具體示例,深入解析整個(gè)適配的流程。

一、準(zhǔn)備工作

NXP源碼路徑:ELF 1開(kāi)發(fā)板資料包\07-NXP 原廠資料\07-1 NXP官方源碼\linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2

1、將NXP源碼拷貝到開(kāi)發(fā)環(huán)境home/root/work目錄下解壓

elf@ubuntu:~/work$ tar jvxf linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2 elf@ubuntu:~/work$ cd linux-imx-imx_4.1.15_2.0.0_ga/ elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ls

2、添加默認(rèn)配置文件

將arch/arm/configs路徑下的imx_v7_mfg_defconfig復(fù)制一份,命名為imx6ull_elf1_defconfig:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp arch/arm/configs/imx_v7_mfg_defconfig arch/arm/configs/imx6ull_elf1_defconfig

3、添加ELF 1設(shè)備樹(shù)將arch/arm/boot/dts路徑下的imx6ull-14x14-evk.dts復(fù)制一份,命名為imx6ull-elf1-emmc.dts:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp arch/arm/boot/dts/imx6ull-14x14-evk.dts arch/arm/boot/dts/imx6ull-elf1-emmc.dts

打開(kāi)arch/arm/boot/dts/Makefile,找到CONFIG_SOC_IMX6ULL,將imx6ull-elf1-emmc.dts添加到Makefile中:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vi arch/arm/boot/dts/Makefile

wKgZomaN5z-AGSyRAAf8Vzjsc0Y763.png

4、建立交叉編譯腳本

建立一個(gè)編譯腳本build.sh:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vim build.sh

添加以下內(nèi)容,保存退出:

#!/bin/bash export CPUS=`grep -c processor /proc/cpuinfo` source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi make distclean make imx6ull_elf1_defconfig make -j${CPUS} rm -rf ./.tmp make modules_install INSTALL_MOD_PATH=./.tmp/rootfs/ cd .tmp/rootfs/ tar -jcvf modules.tar.bz2 *

給予腳本權(quán)限:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ chmod 777 build.sh

二、適配按鍵

1、硬件原理

wKgaomaN55KAL2hCAASNGSaEL7U300.pngwKgaomaN58eAeVYeAAPx6h_fvm8762.png

2、IOMUX配置

從上圖可以看出GPIO5_4連接到了連接器的22腳,GPIO5_2連到了34腳,GPIO5_9連接到了43腳。接下來(lái)需要找到這幾個(gè)引腳在軟件上的信號(hào)名稱。

打開(kāi)ELF 1開(kāi)發(fā)板資料包\05-硬件資料\05-4 管腳分配表\ELF 1引腳復(fù)用對(duì)照表找到22、34、43引腳的信號(hào)名稱。

wKgZomaN5_-AHrOWAAJU9cOAKFQ104.png

34引腳信號(hào)名稱為SNVS_TAMPER2;

22引腳的信號(hào)名稱為SNVS_TAMPER4;

43引腳的信號(hào)名稱為SNVS_TAMPER9。

因?yàn)樾枰褂眠@幾個(gè)引腳控制按鍵,所以需要把它們復(fù)用成GPIO功能,在arch/arm/boot/dts/imx6ull-pinfunc-snvs.h中找到它們的宏定義,分別如下:

wKgaomaN6DWAEsuCAA1UORyLZp0520.png

打開(kāi)設(shè)備樹(shù)文件arch/arm/boot/dts/imx6ull-elf1-emmc.dts,在&iomux_snvs節(jié)點(diǎn)下添加子節(jié)點(diǎn)pinctrl_keys:

pinctrl_keys: keysgrp { fsl,pins = < MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x80000000 MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x80000000 MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x80000000 >; };

效果如下:

wKgZomaN6F2AHbh4AARG-pjHYQc365.png

(注意:在IOMUX配置環(huán)節(jié),一定要確保一個(gè)引腳只被復(fù)用為一個(gè)功能,如果同一個(gè)引腳在其它地方被復(fù)用成另一個(gè)功能,很可能影響到我們期望的功能。)

3、設(shè)備節(jié)點(diǎn)配置

在根節(jié)點(diǎn)下添加子節(jié)點(diǎn)gpio-keys:

gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_keys>; #address-cells = <1>; #size-cells = <0>; autorepeat; key1 { label = "KEY1"; linux,code = ; gpios = <&gpio5 4 GPIO_ACTIVE_LOW>; }; key2 { label = "KEY2"; linux,code = ; gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; }; key3 { label = "KEY3"; linux,code = ; gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; }; };

wKgZomaN6I-AP2C7AAZvzZoSJlw513.png

4、配置按鍵驅(qū)動(dòng)編譯進(jìn)內(nèi)核

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ make imx6ull_elf1_defconfig elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ make menuconfig

找到以下位置,Keyboards驅(qū)動(dòng)默認(rèn)已經(jīng)編譯進(jìn)內(nèi)核。

-> Device Drivers ->Input device support ->Keyboards

wKgaomaN6NeAREFdAAnK5IMWB0E125.png

5、編譯

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ./build.sh

將編譯生成的zImage和imx6ull-elf-emmc.dtb拷貝到ELF 1開(kāi)發(fā)板的/run/media/mmcblk1p1 路徑下:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/zImage root@172.16.0.175:/run/media/mmcblk1p1/ elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/dts/imx6ull-elf1-emmc.dtb root@172.16.0.175:/run/media/mmcblk1p1/

保存并重啟開(kāi)發(fā)板:

root@ELF1~# sync root@ELF1~# reboot

三、按鍵測(cè)試

查看key設(shè)備對(duì)應(yīng)的event事件:

root@ELF1:~# cat /proc/bus/input/devices

wKgZomaN6USAfmQ6AAbElvspIjU467.png

可以看到其對(duì)應(yīng)的是event2,如果連接了其他設(shè)備,比如觸摸屏,event事件可能會(huì)有變化,請(qǐng)以實(shí)際為準(zhǔn)。

終端輸入evtest命令,選擇event number為2,然后分別按下按鍵K1,K2,K3,會(huì)看到上報(bào)數(shù)據(jù)。

root@ELF1:~# evtest

wKgaomaN6XCAcRF6AAtK9168RtA118.png

可以看到KEY1上報(bào)的鍵值是28,KEY2上報(bào)的鍵值是103,KEY3上報(bào)的鍵值是108,與在設(shè)備樹(shù)中配置的鍵值一致。

至此,就完成了在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的按鍵功能,期望這份詳實(shí)的指南能為正在閱讀的小伙伴帶來(lái)實(shí)質(zhì)性的助益與啟發(fā)。在開(kāi)發(fā)之旅上,愿我們攜手共進(jìn),探索無(wú)限可能。

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

    關(guān)注

    6037

    文章

    44569

    瀏覽量

    636195
  • 嵌入式
    +關(guān)注

    關(guān)注

    5086

    文章

    19141

    瀏覽量

    305976
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5074

    瀏覽量

    97661
  • 嵌入式開(kāi)發(fā)板

    關(guān)注

    5

    文章

    82

    瀏覽量

    18764
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ELF 1技術(shù)|NXP源碼基礎(chǔ)上適配開(kāi)發(fā)板按鍵功能

    ELF1開(kāi)發(fā)板。接下來(lái),我們將詳細(xì)闡述適配過(guò)程中關(guān)于按鍵功能實(shí)現(xiàn)的完整步驟。值得一提的是,ELF1
    的頭像 發(fā)表于 03-08 16:58 ?976次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|<b class='flag-5'>在</b><b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎(chǔ)上</b><b class='flag-5'>適配</b><b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>按鍵</b><b class='flag-5'>功能</b>

    如何在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的PWM功能

    本次源碼適配項(xiàng)目是NXP i.MX6ULL EVK評(píng)估所搭載的Linux內(nèi)核源碼(版本為L(zhǎng)i
    的頭像 發(fā)表于 09-10 10:00 ?954次閱讀
    如何在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎(chǔ)上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>的PWM<b class='flag-5'>功能</b>

    ElfBoard技術(shù)|如何在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的UART功能

    UART即通用異步收發(fā)器,是一種支持全雙工串行通信協(xié)議的接口。i.MX6ULL處理器平臺(tái)上,該處理器原生支持多達(dá)8路的UART接口,提供了豐富的串行通信能力。 針對(duì)ELF 1開(kāi)發(fā)板
    的頭像 發(fā)表于 09-25 13:56 ?2335次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何在<b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎(chǔ)上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>的UART<b class='flag-5'>功能</b>

    ElfBoard技術(shù)|ELF 1開(kāi)發(fā)板適配攝像頭詳解

    ELF1ELF1S開(kāi)發(fā)板適配的OV5640攝像頭,集成了CMOS圖像傳感器,作為一款500萬(wàn)像素級(jí)別的攝像頭,不僅能夠支持最高達(dá)2592x1944分辨率的QSXGA圖像輸出,幀率可達(dá)
    的頭像 發(fā)表于 12-27 10:16 ?609次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>適配</b>攝像頭詳解

    嵌入式學(xué)習(xí)-ElfBoard ELF 1板卡-nxp源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的LED功能

    源碼適配即在NXP i.MX6ULL EVK評(píng)估對(duì)應(yīng)的Linux內(nèi)核源碼(linux-imx_4.1.15 版本)
    發(fā)表于 01-05 14:35

    飛凌嵌入式ElfBoard ELF 1板卡-NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板按鍵功能

    的鍵值是103,KEY3上報(bào)的鍵值是108,與設(shè)備樹(shù)中配置的鍵值一致。 至此,就完成了NXP源碼基礎(chǔ)上
    發(fā)表于 07-03 09:07

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板按鍵功能

    的鍵值是103,KEY3上報(bào)的鍵值是108,與設(shè)備樹(shù)中配置的鍵值一致。 至此,就完成了NXP源碼基礎(chǔ)上
    發(fā)表于 07-04 09:11

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡(jiǎn)介

    ,所以講解均以4.1.15版本內(nèi)核為例。(二)可以選擇使用git克隆,也可以選擇下載ZIP壓縮包。獲取ELF 1開(kāi)發(fā)板源碼ELF
    發(fā)表于 12-13 09:03

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡(jiǎn)介

    開(kāi)發(fā)板資料包\\02-Linux 源代碼\\02-0 出廠內(nèi)核和uboot源碼\\內(nèi)核源碼\\linux-4.1.15-elf1.tar.bz2 后面我們也會(huì)介紹如何在
    發(fā)表于 12-16 13:08

    ELF 1技術(shù)|NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的LED功能

    本次源碼適配工作是NXPi.MX6ULLEVK評(píng)估的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)
    的頭像 發(fā)表于 12-29 10:04 ?870次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|<b class='flag-5'>在</b><b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎(chǔ)上</b><b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>的LED<b class='flag-5'>功能</b>

    如何將Go程序編譯到ELF 1開(kāi)發(fā)板

    編譯并運(yùn)行在ELF1開(kāi)發(fā)板的。一、GoLand中配置(一)配置SSH連接Ubuntu虛擬機(jī)以及ELF1
    的頭像 發(fā)表于 01-29 10:42 ?554次閱讀
    如何將Go程序編譯到<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>

    ELF 1技術(shù)|如何將Python3.6.9移植到開(kāi)發(fā)板

    ELF1開(kāi)發(fā)板的Linux4.1.15eMMC鏡像中,默認(rèn)預(yù)裝了Python2.7。為了適應(yīng)更多應(yīng)用場(chǎng)景,有些小伙伴可能需要移植其他版本的Python,下面將以Python3.6.9為例詳細(xì)介紹
    的頭像 發(fā)表于 02-22 14:06 ?442次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何將Python3.6.9移植到<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>上</b>

    ELF技術(shù)|如何在開(kāi)發(fā)板實(shí)現(xiàn)對(duì)Java的支持

    Java作為一種功能強(qiáng)大且廣泛應(yīng)用的編程語(yǔ)言,具有廣泛的適應(yīng)性和實(shí)用性。ELF1開(kāi)發(fā)板上集成Java支持,無(wú)疑將賦予嵌入式開(kāi)發(fā)者更廣闊的選
    的頭像 發(fā)表于 03-13 16:47 ?521次閱讀
    <b class='flag-5'>ELF</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何在<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>上</b>實(shí)現(xiàn)對(duì)Java的支持

    ElfBoard技術(shù)|如何在ELF 1開(kāi)發(fā)板搭建流媒體服務(wù)器

    流媒體服務(wù)器是一種專門用于傳輸實(shí)時(shí)數(shù)據(jù)流的服務(wù)器軟件,廣泛用于視頻直播、視頻會(huì)議、音頻播放等應(yīng)用場(chǎng)景。嵌入式開(kāi)發(fā)領(lǐng)域,將流媒體服務(wù)器部署到開(kāi)發(fā)板可以實(shí)現(xiàn)諸如視頻監(jiān)控、實(shí)時(shí)數(shù)據(jù)傳輸?shù)?/div>
    的頭像 發(fā)表于 08-20 14:48 ?587次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何在<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>上</b>搭建流媒體服務(wù)器

    NXP源碼基礎(chǔ)上如何適配ELF 1開(kāi)發(fā)板的UART功能

    UART即通用異步收發(fā)器,是一種支持全雙工串行通信協(xié)議的接口。i.MX6ULL處理器平臺(tái)上,該處理器原生支持多達(dá)8路的UART接口,提供了豐富的串行通信能力。 針對(duì)ELF 1開(kāi)發(fā)板
    的頭像 發(fā)表于 09-29 11:49 ?378次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>NXP</b><b class='flag-5'>源碼</b><b class='flag-5'>基礎(chǔ)上</b>如何<b class='flag-5'>適配</b><b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>的UART<b class='flag-5'>功能</b>
    主站蜘蛛池模板: 在教室做啊好大用力| 狼群影院视频在线观看WWW| 久久久午夜精品福利内容| 秋霞伦理机在线看片| 亚洲精品欧美精品中文字幕| a4you销魂gogo人体| 黄瓜视频苹果直接安装| 日韩精品欧美亚洲高清有无| 曰本熟妇乱妇色A片在线| 国产成人免费观看在线视频| 母乳女神春日もな| 亚洲人成电影网站在线观看| 高清撒尿hdtube撒尿| 绿巨人www在线观看| 亚洲精品久久久无码一区二区| 擦擦擦在线视频观看| 老湿机一区午夜精品免费福利| 亚洲AV 中文字幕 国产 欧美| 草莓视频cm.888tw| 两个人的视频免费| 亚洲男人天堂2018av| 广播电台在线收听| 欧美麻豆一精品一AV一免费| 早乙女由依在线观看| 国精产品砖一区二区三区糖心| 日本一区二区三区在线观看网站| 2018久久视频在线视频观看| 河南老太XXXXXHD| 卫生间被教官做好爽HH视频| NANANA在线观看高清影院| 久久伊人精品青青草原2021| 亚洲AV无码专区国产乱码网站 | 中国女人内谢69xxxxxx直播| 国产一区日韩二区欧美三区| 色姐妹久久综合在线av| japonensis护士| 蜜臀AV99无码精品国产专区| 一区三区三区不卡| 吉吉影音先锋av资源| 亚洲成人一区| 国产日韩精品一区二区三区在线|