在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

ElfBoard ? 2024-09-10 10:00 ? 次閱讀

本次源碼適配項(xiàng)目是在NXP i.MX6ULL EVK評估板所搭載的Linux內(nèi)核源碼(版本為Linux-imx_4.1.15)基礎(chǔ)上進(jìn)行的,主要目標(biāo)是通過調(diào)整功能接口引腳配置,使其適應(yīng)ELF 1開發(fā)板。為了深入闡述這一適配過程,我們將以PWM功能的適配作為具體示例,深入解析整個流程。

1、準(zhǔn)備工作

NXP源碼路徑:ELF1開發(fā)板資料包\07-NXP 原廠資料\07-1 NXP官方源碼\linux-imx-imx_4.1.15_2.0.0_ga.tar.bz2
(1)將NXP源碼拷貝到開發(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è)備樹

將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

打開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

wKgZombemAuAJRPCAANOW6pgPJ8196.png

(4)建立交叉編譯腳本

建立一個編譯腳本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

2、適配PWM

(1)硬件原理

開發(fā)板上控制蜂鳴器的引腳網(wǎng)絡(luò)名為PWM2,通過引腳網(wǎng)絡(luò)名可確定到其球號為M15,再通過球號確定到引腳名稱PAD NAME為GPIO1_IO09。

wKgaombemOWAT3pCAAB08ml1Tm0307.pngwKgaombemPyAaPhDAAEzRRnS-b4694.png

(2)IOMUX配置

從上圖可以看出PWM2連接到了連接器的65腳。接下來我們需要找到這個引腳在軟件上的信號名稱。

打開ELF 1開發(fā)板資料包\05-硬件資料\05-4 管腳分配表\ELF 1引腳復(fù)用對照表找到65引腳的信號名稱。

wKgaombemR-AKP6CAAEJJFPm29w031.png

可以看到連接器的65引腳信號名稱為GPIO1_IO09。
因?yàn)樾枰褂肞WM控制蜂鳴器,所以需要把它復(fù)用成PWM功能,在arch/arm/boot/dts/imx6ul-pinfunc.h中找到它們的宏定義,如下:

wKgaombemXyASIXmAACnhtwzD8Q974.png

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

pinctrl_pwm2: pwm2grp { fsl,pins = < MX6UL_PAD_GPIO1_IO09__PWM2_OUT 0x110b0 >; };

效果如下:

wKgZombembSANVsCAAECA1y-pPU473.png

配置完P(guān)WM2之后,檢查設(shè)備樹中是否把GPIO1_IO09復(fù)用成其它功能了。在arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件中搜索引腳PAD NAME“GPIO1_IO09”,在&iomux的子節(jié)點(diǎn)pinctrl_hog_1節(jié)點(diǎn)下搜索到了GPIO1_IO09的另一個功能復(fù)用配置,將該引腳復(fù)用成了GPIO功能,用于TF卡的復(fù)位,ELF 1開發(fā)板沒有使用此功能,可以將其注釋掉。

wKgaombemdGAZxi0AAF476XJmMA811.png

此外,還需要注釋掉節(jié)點(diǎn)下的如下內(nèi)容

wKgZombemeqAe3V2AAFBkJQvkoY914.png

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

在設(shè)備樹文件arch/arm/boot/dts/imx6ull.dtsi中已經(jīng)定義好了8路PWM信號的相關(guān)節(jié)點(diǎn),只需要將PWM2的時鐘配置上即可,將clocks屬性的IMX6UL_CLK_DUMMY更改為IMX6UL_CLK_PWM2。

wKgaombemgiAbMMkAAGdkUyV3IA895.png

打開arch/arm/boot/dts/imx6ull-elf1-emmc.dts文件,已經(jīng)存在PWM1相關(guān)節(jié)點(diǎn),PWM1是輸出給LCD的背光使用的。在&pwm1節(jié)點(diǎn)下添加節(jié)點(diǎn)&pwm2。

&pwm2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm2>; status = "okay"; };

效果如下:

wKgaombemjWAXJl6AAEGnj0Ef-s739.png

(4)編譯

由于pwm只涉及到設(shè)備樹修改,不再使用腳本編譯,單獨(dú)編譯設(shè)備樹即可。

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 dtbs

將編譯生成的imx6ull-elf-emmc.dtb拷貝到ELF 1開發(fā)板的/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/

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

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

3、PWM測試

待開發(fā)板啟動完成,將PWM2設(shè)置為輸出

root@ELF1:~#:~# echo 0 > /sys/class/pwm/pwmchip1/export

使能PWM2功能

root@ELF1:~#:~# echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable

設(shè)置PWM周期,單位為ns

root@ELF1:~#:~# echo 1000000 > /sys/class/pwm/pwmchip1/pwm0/period

設(shè)置PWM占空比為50%

root@ELF1:~#:~# echo 500000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle

此時可以聽到蜂鳴器響起。關(guān)閉蜂鳴器,失能PWM2功能

root@ELF1:~#:~# echo 0 > /sys/class/pwm/pwmchip1/pwm0/enable

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

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

    關(guān)注

    6064

    文章

    44932

    瀏覽量

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

    關(guān)注

    5142

    文章

    19561

    瀏覽量

    315369
  • Linux平臺
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    8248
  • 開發(fā)板系統(tǒng)

    關(guān)注

    0

    文章

    3

    瀏覽量

    4906
  • 學(xué)習(xí)開發(fā)板

    關(guān)注

    0

    文章

    10

    瀏覽量

    440
收藏 人收藏

    評論

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

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

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

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

    UART即通用異步收發(fā)器,是一種支持全雙工串行通信協(xié)議的接口。在i.MX6ULL處理器平臺上,該處理器原生支持多達(dá)8路的UART接口,提供了豐富的串行通信能力。 針對ELF 1開發(fā)板,實(shí)際引出
    的頭像 發(fā)表于 09-25 13:56 ?2724次閱讀
    ElfBoard技術(shù)貼|如<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'>開發(fā)板</b>的UART<b class='flag-5'>功能</b>

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

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

    飛凌ElfBoard ELF 1板卡-如何在ELF 1開發(fā)板實(shí)現(xiàn)對java的支持

    Java作為一種功能強(qiáng)大且廣泛應(yīng)用的編程語言,具有廣泛的適應(yīng)性和實(shí)用性。在ELF 1開發(fā)板上集成Java支持,無疑將賦予嵌入式開發(fā)者更廣闊的
    發(fā)表于 03-20 09:51

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

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

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

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

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

    \\02-Linux 源代碼\\02-0 出廠內(nèi)核和uboot源碼\\內(nèi)核源碼\\linux-4.1.15-elf1.tar.bz2后面我們也會介紹如何在
    發(fā)表于 12-13 09:03

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之移植前的準(zhǔn)備

    ELF 1開發(fā)平臺。 獲取NXP內(nèi)核源碼ELF 1
    發(fā)表于 01-21 14:30

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配PWM

    PWM是Pulse Width Modulation 的縮寫,是指脈沖寬度調(diào)制,通過調(diào)節(jié)脈沖的寬度輸出想要的波形。ELF 1開發(fā)板使用到
    發(fā)表于 02-06 09:56

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

    本次源碼適配工作是在NXPi.MX6ULLEVK評估的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)基礎(chǔ)上進(jìn)行的。主要目
    的頭像 發(fā)表于 12-29 10:04 ?1134次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b>技術(shù)貼|在<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'>開發(fā)板</b>的LED<b class='flag-5'>功能</b>

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

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

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

    本次源碼適配工作是在NXPi.MX6ULLEVK評估的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)基礎(chǔ)上進(jìn)行的。主要目
    的頭像 發(fā)表于 07-10 09:54 ?886次閱讀
    ElfBoard技術(shù)貼|在<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'>開發(fā)板</b>的按鍵<b class='flag-5'>功能</b>

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

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

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

    UART即通用異步收發(fā)器,是一種支持全雙工串行通信協(xié)議的接口。在i.MX6ULL處理器平臺上,該處理器原生支持多達(dá)8路的UART接口,提供了豐富的串行通信能力。 針對ELF 1開發(fā)板,實(shí)際引出了4路
    的頭像 發(fā)表于 09-29 11:49 ?627次閱讀
    在<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'>開發(fā)板</b>的UART<b class='flag-5'>功能</b>
    主站蜘蛛池模板: 一本到视频在线 | 在线观看视频一区二区 | 天天草夜夜骑 | 国产美女视频爽爽爽 | 久久精品免看国产 | 国内精品视频在线 | 曰本aaaaa毛片午夜网站 | 国产午夜剧场 | 高颜值大长腿美女啪啪 | 97影院理论| 午夜爽视频 | 色域综合 | 亚洲 欧美 另类 综合 日韩 | 黄色午夜视频 | 欧美综合在线视频 | 欧美在线性| 欧美资源在线 | 中文字幕欧美日韩 | 天天爽夜爽免费精品视频 | 97色伦人人 | 欧美男女交性过程视频 | 亚洲高清视频一区 | avtt加勒比手机版天堂网 | 亚洲大黑香蕉在线观看75 | 国产午夜视频在线观看 | 一本大道加勒比久久综合 | 最近2018年在线中文字幕高清 | 免费在线观看的视频 | 国产成人精品三级 | 亚洲欧洲一二三区 | 久久青青成人亚洲精品 | 色偷偷综合 | 1000部啪啪勿入十八免费 | 男人的天堂一区二区视频在线观看 | 免费v片网站 | 色网站视频 | 年下系列高h文 | 欧美一级高清免费a | 色婷婷综合激情 | 1024成人 | 亚洲欧美视频在线 |