衡阳派盒市场营销有限公司

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

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

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

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

ElfBoard ? 2023-12-29 10:04 ? 次閱讀

本次源碼適配工作是在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ā)板。下面以LED適配為例,詳細(xì)說(shuō)明整個(gè)適配過(guò)程。

01準(zhǔn)備工作

NXP源碼路徑

ELF1開(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ù)

復(fù)制一份imx6ull-14x14-evk.dts,命名為imx6ull-elf1-emmc.dts作為我們ELF 1的設(shè)備樹(shù):

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

將imx6ull-elf1-emmc.dts添加到Makefile,

打開(kāi)arch/arm/boot/dts/Makefile

找到CONFIG_SOC_IMX6ULL,添加我們剛剛創(chuàng)建的設(shè)備樹(shù):

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

wKgZomWOJ9CALLScAARCc0VvZ-E662.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

02適配LED

1.在主控板原理圖中找到LED_R、LED_G、LED_Y三個(gè)小燈:

wKgZomWOKA2AO0OwAA1jYtEp3cs677.png

2.IOMUX配置

從上圖可以看出LED_Y連接到了連接器的30腳,LED_R連到了60腳,LED_G連接到了64腳,接下來(lái)需要找到這幾個(gè)引腳在軟件上的信號(hào)名稱。

打開(kāi)ELF 1開(kāi)發(fā)板資料包\05-硬件資料\05-4 管腳分配表\ELF 1引腳復(fù)用對(duì)照表-20230921找到30、60、64引腳的信號(hào)名稱。30引腳信號(hào)名稱為UART1_CTS_B;60引腳的信號(hào)名稱為JTAG_MOD;64引腳的信號(hào)名稱為GPIO1_IO00。使用這三個(gè)引腳控制LED,所以需要把它們復(fù)用成GPIO功能。

在arch/arm/boot/dts/imx6ul-pinfunc.h中找到它們的宏定義,分別如下:

wKgaomWOKC6AFpzmAAEhXRzbIfo089.png

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

pinctrl_leds0:pinctrl_leds0:leds0grp { fsl,pins = < MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x10b0 MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x10b0 MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0x10b0 >; };

效果如下:

wKgZomWOKFmAdMiRAADhtZmw4ck113.png

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

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

在設(shè)備樹(shù)中添加完IOMUX配置相關(guān)代碼之后,接下來(lái)在設(shè)備樹(shù)中添加供GPIO子系統(tǒng)使用的相關(guān)配置。在根節(jié)點(diǎn)的backlight節(jié)點(diǎn)上面添加子節(jié)點(diǎn)leds:

leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_leds0 >; status = "okay"; led1{ lable = "led1"; gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; default-state = "off"; }; led2{ lable = "led2"; gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; default-state = "on"; }; led3{ lable = "led3"; gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; default-state = "on"; }; };

效果如下:

wKgaomWOKHqAeIs_AAHMRI8y4SM940.png

4.配置LED驅(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

搜索LEDS_GPIO,看到LEDS_GPIO [=y]說(shuō)明此驅(qū)動(dòng)已經(jīng)編譯進(jìn)內(nèi)核:

wKgZomWOKJqATrhiAALS0Pe5XQA781.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@192.168.2.101:/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@192.168.2.101:/run/media/mmcblk1p1

6.開(kāi)發(fā)板保存重啟

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

重啟后可以看到開(kāi)發(fā)板上的綠色和黃色LED為點(diǎn)亮狀態(tài)。在設(shè)備樹(shù)中LED2和LED3的default-state屬性配置為on,所以這兩個(gè)LED默認(rèn)是打開(kāi)的狀態(tài)。

03LED測(cè)試

1.查看節(jié)點(diǎn),可以看到在/sys/class/leds下已經(jīng)生成了我們配置的3個(gè)LED

root@ELF1:~# ls /sys/class/leds/ led1 led2 led3 mmc0:: mmc1::

2.控制LED1亮

root@ELF1:~# echo 1 > /sys/class/leds/led1/brightness

3.控制LED1滅

root@ELF1:~# echo 0 > /sys/class/leds/led1/brightness

4.設(shè)置LED1為心跳燈

root@ELF1:~# cat /sys/class/leds/led1/trigger

默認(rèn)led1的觸發(fā)器為none,現(xiàn)在把它改為heartbeat,就可以實(shí)現(xiàn)心跳燈的效果。

root@ELF1:~# echo heartbeat > /sys/class/leds/led1/trigger

現(xiàn)在就可以看到紅色LED燈為心跳閃爍的狀態(tài)。

以上就完成了在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的LED功能,希望能對(duì)屏幕前的小伙伴提供幫助。

聲明:本文內(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)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23355

    瀏覽量

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

    關(guān)注

    5092

    文章

    19177

    瀏覽量

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

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98192
收藏 人收藏

    評(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開(kāi)發(fā)
    的頭像 發(fā)表于 03-08 16:58 ?1008次閱讀
    <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>

    如何在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 ?988次閱讀
    如何在<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 ?2421次閱讀
    ElfBoard<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 ?791次閱讀
    ElfBoard<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

    關(guān)于ELF1/ELF1S開(kāi)發(fā)板的音頻接口,你需要知道的都在這!

    音樂(lè)可以將平凡的畫(huà)面賦予深厚的意義,那么音頻接口就是這個(gè)支點(diǎn);今天就來(lái)給大家詳細(xì)介紹一下ELF1/ELF1S開(kāi)發(fā)板的音頻接口。ELF1/ELF1
    的頭像 發(fā)表于 10-31 14:10 ?753次閱讀
    關(guān)于<b class='flag-5'>ELF1</b>/<b class='flag-5'>ELF1</b>S<b class='flag-5'>開(kāi)發(fā)板</b>的音頻接口,你需要知道的都在這!

    學(xué)習(xí)筆記分享|使用C庫(kù)函數(shù)控制ELF 1開(kāi)發(fā)板LED

    ELF1/ELF1S開(kāi)發(fā)板及顯示屏)嵌入式Linux系統(tǒng)開(kāi)發(fā)中,通過(guò)編程控制硬件資源是至關(guān)重要的技能之一,今天跟各位小伙伴分享一篇專注于
    的頭像 發(fā)表于 01-19 11:12 ?627次閱讀
    學(xué)習(xí)筆記分享|使用C庫(kù)函數(shù)控制<b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>LED</b>

    ELF 1 開(kāi)發(fā)板實(shí)現(xiàn)讀取攝像頭視頻進(jìn)行目標(biāo)檢測(cè)

    當(dāng)前,將AI或深度學(xué)習(xí)算法(如分類、目標(biāo)檢測(cè)和軌跡追蹤)部署到嵌入式設(shè)備,進(jìn)而實(shí)現(xiàn)邊緣計(jì)算,正成為輕量級(jí)深度學(xué)習(xí)算法發(fā)展的一個(gè)重要趨勢(shì)。今天將與各位小伙伴分享一個(gè)實(shí)際案例:ELF1開(kāi)發(fā)板上成功部署
    的頭像 發(fā)表于 01-24 10:38 ?756次閱讀
    <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>實(shí)現(xiàn)讀取攝像頭視頻進(jìn)行目標(biāo)檢測(cè)

    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 ?474次閱讀
    <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 ?545次閱讀
    <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ù)|NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的按鍵功能

    本次源碼適配工作是NXPi.MX6ULLEVK評(píng)估的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)
    的頭像 發(fā)表于 07-10 09:54 ?695次閱讀
    ElfBoard<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>的按鍵<b class='flag-5'>功能</b>

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

    流媒體服務(wù)器是一種專門(mén)用于傳輸實(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 ?639次閱讀
    ElfBoard<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 ?431次閱讀
    <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>
    威尼斯人娱乐城佣金| 大发888网页版下载| 百家乐游戏机压法| 澳门百家乐官网单注下注| 网上百家乐官网好玩吗| 八大胜开户| 大发888游戏代充省钱技巧| 联合百家乐的玩法技巧和规则| 属马做生意坐向| 网站百家乐官网假| 百家乐官网游戏规则介绍| 天柱县| 娱乐城注册送18| 大发888娱乐场下载samplingid112 | 百家乐官网光纤冼牌机| 闲和庄百家乐官网娱乐平台| 新大发888pt老虎机| 申博太阳城官方网站| 骰子百家乐的玩法技巧和规则| 百家乐平台哪个有在线支付呢| 做生意门面对着什么方向好| 万龙百家乐官网的玩法技巧和规则| 线上百家乐官网赌法| 百家乐官网注册送免费金| 百家乐官网转盘技巧| 真钱百家乐| 优博娱乐在线| 名仕国际棋牌下载| 大发888官网www.dafa888.com| 百家乐是娱乐场最不公平的游戏| 网上百家乐哪家较安全| 赌场百家乐攻略| 百家乐最全打法| 百家乐技巧阅读| 杨公24山分金兼向吉凶| 百家乐官网QQ群娱乐| 线上百家乐官网的玩法技巧和规则| 百家乐官网看图赢| 誉博百家乐官网327589| 网上百家乐官网软件大全酷| 百家乐官网游戏源码手机|