99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

飛凌嵌入式技術(shù)帖——i.MX9352的GPIO怎么用?

飛凌嵌入式 ? 2023-05-16 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前小編為大家介紹過在飛凌嵌入式i.MX6ULL開發(fā)板上操作GPIO的方法。本期,讓我們一起走近i.MX9352處理器,深入了解這位i.MX系列新成員的GPIO該如何操作,以及它與前輩i.MX6ULL處理器又有哪些異同。

01 硬件原理分析

以點(diǎn)燈和按鍵為例,打開飛凌嵌入式OK-MX9352-C開發(fā)板的原理圖,可以看到一顆LED燈,它由MX93_PAD_CCM_CLKO4控制。由于這一個(gè)GPIO屬于1.8V電平域,所以在OK-MX9352-C開發(fā)板的底板上并沒有直接將GPIO接到LED上,而是用GPIO控制了一個(gè)MOS管,再由MOS管去控制LED的亮滅——當(dāng)GPIO電平為高時(shí),MOS導(dǎo)通,LED點(diǎn)亮;當(dāng)GPIO電平為低時(shí),MOS關(guān)斷,LED熄滅。

wKgaomRjF1-AWSTsAABGtg1BjBM254.pngwKgaomRjF1-AVW1EAAAerCuNmac840.png

02 設(shè)備樹引腳復(fù)用

打開飛凌嵌入式OK-MX9352-C開發(fā)板的設(shè)備樹:

OKMX93-linux-kernel/arch/arm64/boot/dts/freescale/OK-MX93-C.dts

在iomuxc節(jié)點(diǎn)下新建一組引腳復(fù)用,復(fù)用的兩個(gè)GPIO分別是底板上的LED燈D6和按鍵K1。

wKgZomRjF16ACL_MAAATfyF_Olg250.png

接下來(lái)新建一個(gè)GPIO節(jié)點(diǎn),內(nèi)容如下:

wKgaomRjF16AKpUNAAAmjqr9Eow472.png

注釋掉LED和KEY部分,防止復(fù)用沖突:

wKgZomRjF16AbyaBAABZpM4COkY809.png

保存退出后重新編譯設(shè)備樹。

執(zhí)行環(huán)境變量:

forlinx@ubuntu:~/ok-mx93/OKMX93-linux-sdk$ . environment-setup-aarch64-toolchain

單獨(dú)編譯設(shè)備樹:

forlinx@ubuntu:~/ok-mx93/OKMX93-linux-sdk/OKMX93-linux-kernel$ make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- dtbs

編譯完成后,單獨(dú)更新設(shè)備樹。首先將U盤插到虛擬機(jī)上,將生成的設(shè)備樹文件拷貝到U盤:

forlinx@ubuntu:~/ok-mx93/OKMX93-linux-sdk/OKMX93-linux-kernel$ cp arch/arm64/boot/dts/freescale/OK-MX93-C.dtb /media/forlinx/2075-A0A7/

將生成的dtb文件使用U盤拷貝到OK-MX9352-C開發(fā)板上,替換掉:/run/media/Boot-mmcblk0p1/OK-MX93-C.dtb

root@ok-mx93:/run/media/Boot-mmcblk0p1# cp /run/media/sda/OK-MX93-C.dtb ./

重啟OK-MX9352-C開發(fā)板。

03 通過命令測(cè)試

在OKMX6ULL-S開發(fā)板中,操作GPIO的方式是通過操作/sys/class/gpio下的文件來(lái)實(shí)現(xiàn)的。而在OK-MX9352-C上,引入了新的Lingpiod的方式,而原有的基于sysfs的操作方式已經(jīng)不再被支持。

Libgpiod是一種字符設(shè)備接口,GPIO訪問控制是通過操作字符設(shè)備文件(比如/dev/gpiodchip0)實(shí)現(xiàn)的。OK-MX9352-C共有4組GPIO,可以在/dev下查看GPIO設(shè)備文件。

Libgpiod可以通過shell終端和C庫(kù)兩種方式使用,本節(jié)介紹在shell終端控制GPIO的方法,下一節(jié)我們將會(huì)介紹使用C庫(kù)的方式控制GPIO。

wKgZomRjF1-AQoHrAAAHLminmek601.png

3.1 gpiodetect

查看所有GPIO設(shè)備

wKgZomRjF1-AbcnMAAAMpimzTtA883.png

這里的gpiochip0- gpiochip4分別對(duì)應(yīng)的是設(shè)備樹當(dāng)中的GPIO1-GPIO4這四組GPIO,但是順序并不是一一對(duì)應(yīng)的,這是由于對(duì)應(yīng)的寄存器地址順序問題導(dǎo)致的。那么goiochip0如何跟設(shè)備樹對(duì)應(yīng)起來(lái)呢?我們可以打開設(shè)備樹當(dāng)中的dtsi文件,文件路徑為:

OKMX93-linux-kernel/arch/arm64/boot/dts/freescale/imx93.dtsi

forlinx@ubuntu:~/ok-mx93/OKMX93-linux-sdk$ vi OKMX93-linux-kernel/arch/arm64/boot/dts/freescale/imx93.dtsi

查看GPIO3的寄存器基地址為:gpio3: gpio@43820080,對(duì)應(yīng)的是gpiochip1,而GPIO4對(duì)應(yīng)的是gpiochip2。

wKgZomRjF2CAHik-AAB1NzeewXk669.png

其余GPIO的對(duì)應(yīng)關(guān)系如下,可供大家參考:

wKgaomRjF1-AWclaAAAV7bS4So8225.png

3.2 gpioinfo

由3.1可知,LED燈對(duì)應(yīng)的是GPIO4,即gpiochip2;按鍵對(duì)應(yīng)的是GPIO3,即gpiochip1。列出gpiochip2控制器的引腳情況:

wKgaomRjF2CAHSkaAAAhG0pXgmU001.png

3.3 gpioset

該命令用于設(shè)置GPIO電平,2代表gpiochip2,即GPIO4,28是GPIO pin,當(dāng)設(shè)置該GPIO為1時(shí),底板上的D6點(diǎn)亮。

wKgaomRjF2CAF1sVAAAGNfjER6Q831.png

3.4 gpioget

該命令用于獲取GPIO引腳狀態(tài),以按鍵為例,按鍵對(duì)應(yīng)的是GPIO3-27,即gpiochip1 27。按鍵沒有按下時(shí),讀取到按鍵狀態(tài)為1,當(dāng)按鍵按下時(shí),讀到按鍵狀態(tài)為0。

wKgZomRjF2CANHvRAAAL40vcZt8746.png

3.5 gpiomon

監(jiān)控GPIO的狀態(tài)是否發(fā)生變化,同樣以按鍵為例,當(dāng)按鍵按下時(shí):

wKgZomRjF2CANHvRAAAL40vcZt8746.png

04 使用Libgpiod庫(kù)編程

Libgpiod是用于與Linux GPIO交互的C庫(kù)和工具,Linux官方于Linux 4.8 版本引入了Libgpiod的功能。而在OK-MX9352-C開發(fā)板搭載的Linux5.15內(nèi)核版本中,已經(jīng)不再支持sysfs的方式操作GPIO。與sysfs相比,Libgpiod更加可靠,具備更多功能,例如,可一次讀寫多個(gè)GPIO值。

4.1 源碼獲取

如果想要在PC上交叉編譯出能夠在開發(fā)板上運(yùn)行的應(yīng)用,則交叉編譯時(shí)鏈接的庫(kù)文件應(yīng)該與開發(fā)板上的保持一致,可以直接把開發(fā)板上的庫(kù)拷貝到開發(fā)環(huán)境進(jìn)行使用。該庫(kù)文件在開發(fā)板上的路徑為:

wKgZomRjF2GARzmWAAAM_nXlj88959.png

從上圖可以看出,Libgpiod庫(kù)的版本為libgpiod.so.2.2.2,軟鏈接到libgpiod.so.2。

在飛凌嵌入式提供的OK-MX9352-C開發(fā)板資料中,已經(jīng)將所需的庫(kù)文件、頭文件以及相關(guān)例程進(jìn)行了打包,用戶可以直接使用。資料路徑為:用戶資料/應(yīng)用筆記/ OK-MX9352-C-GPIO接口_Linux應(yīng)用筆記/Libgpiod測(cè)試源碼

4.2 編譯測(cè)試?yán)?/strong>

將Libgpiod測(cè)試源碼目錄下的gpiotest.c、gpio-toggle.c、lib.tar.bz2拷貝到開發(fā)環(huán)境中:

wKgaomRjF2GAY8-jAAAQ5gIV5o4612.png

將lib.tar.bz2解壓到本目錄下,編譯時(shí)會(huì)使用到里邊的gpiod.h文件和Libgpiod庫(kù)文件:

wKgZomRjF2GALoDlAAATjAvwfrw081.png

示例1

循環(huán)控制LED亮和滅,時(shí)間間隔為1s

交叉編譯gpio-toggle.c

設(shè)置環(huán)境變量(注意 . 后邊有空格)

wKgaomRjF2GABx-iAAAVJNGqGrE241.png

交叉編譯

wKgaomRjF2KAZjX0AAARcZZaIII411.png

將可執(zhí)行文件gpio-toggle拷貝到開發(fā)板中并執(zhí)行可看到LED(D6)燈1s亮,1s滅。其中輸入?yún)?shù)2、28為:gpiochip2 line28。

wKgZomRjF2GAMFPqAAAIC66XYOg923.png

示例2

按鍵控制LED亮滅,每按一次狀態(tài)翻轉(zhuǎn)

交叉編譯gpio-test.c

設(shè)置環(huán)境變量(注意點(diǎn)后邊有空格)

交叉編譯

wKgZomRjF2KAcLYtAAAc_uLCE9c706.png

將可執(zhí)行文件gpio-test拷貝到OK-MX9352-C開發(fā)板中并執(zhí)行,可看到每按一次按鍵,LED燈的狀態(tài)就翻轉(zhuǎn)一次,其中輸入?yún)?shù)1、27為:gpiochip1 line27 ;2、28為:gpiochip2 line28。

wKgaomRjF2KAFWIBAAANjFPs8Uo836.png

以上就是為OK-MX9352-C開發(fā)板配置GPIO的過程,希望能夠?qū)ζ聊磺暗母魑?a target="_blank">工程師小伙伴有所幫助。

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

    關(guān)注

    5152

    文章

    19678

    瀏覽量

    317791
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    61

    文章

    1349

    瀏覽量

    189487
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1280

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    5分鐘學(xué)會(huì)網(wǎng)絡(luò)服務(wù)搭建!i.MX9352開發(fā)板 + Linux 6.1實(shí)戰(zhàn)示例

    本文就將以嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領(lǐng)域廣泛應(yīng)用的NXP i.MX9352處理器)為平臺(tái),介紹如何在Linu
    的頭像 發(fā)表于 06-13 16:42 ?697次閱讀
    5分鐘學(xué)會(huì)網(wǎng)絡(luò)服務(wù)搭建!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>i.MX9352</b>開發(fā)板 + Linux 6.1實(shí)戰(zhàn)示例

    嵌入式】基于i.MX9352開發(fā)板M核的FreeRTOS設(shè)計(jì)例程

    i.MX 9352作為NXP 推出的新一代輕量級(jí)邊緣AI處理器,集成2個(gè)Cortex-A55核和1個(gè)Cortex-M33實(shí)時(shí)核,其架構(gòu)設(shè)計(jì)充分體現(xiàn)了對(duì)實(shí)時(shí)性與復(fù)雜任務(wù)處理能力的兼顧。為了幫助開發(fā)者充分利用i.MX
    的頭像 發(fā)表于 06-13 16:14 ?1366次閱讀
    【<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>】基于<b class='flag-5'>i.MX9352</b>開發(fā)板M核的FreeRTOS設(shè)計(jì)例程

    5分鐘學(xué)會(huì)網(wǎng)絡(luò)服務(wù)搭建,i.MX9352 + Linux 6.1實(shí)戰(zhàn)示例

    本文將以嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領(lǐng)域廣泛應(yīng)用的NXP i.MX9352處理器)為平臺(tái),介紹如何在Linux
    的頭像 發(fā)表于 05-30 11:08 ?1711次閱讀
    5分鐘學(xué)會(huì)網(wǎng)絡(luò)服務(wù)搭建,<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>i.MX9352</b> + Linux 6.1實(shí)戰(zhàn)示例

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

    ,展示其在低成本人工智能、工業(yè)物聯(lián)網(wǎng)等領(lǐng)域的創(chuàng)新成果。此次峰會(huì),嵌入式帶來(lái)了基于恩智浦i.MX95xx、i.MX9352、
    的頭像 發(fā)表于 05-15 13:38 ?707次閱讀
    「2025恩智浦創(chuàng)新<b class='flag-5'>技術(shù)</b>峰會(huì)」<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>亮相上海首站

    煥新登場(chǎng)!嵌入式FET-MX8MPQ-SMARC核心板發(fā)布

    嵌入式FET-MX8MPQ-SMARC核心板基于NXP i.MX8MPQ處理器開發(fā)設(shè)計(jì),該系列處理器專注于機(jī)器學(xué)習(xí)與視覺處理、高級(jí)多媒體
    的頭像 發(fā)表于 05-07 11:29 ?576次閱讀
    煥新登場(chǎng)!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET-<b class='flag-5'>MX</b>8MPQ-SMARC核心板發(fā)布

    嵌入式2025嵌入式及邊緣AI技術(shù)論壇圓滿結(jié)束

    嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動(dòng)邀請(qǐng)到了200余位
    的頭像 發(fā)表于 04-28 13:57 ?3361次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI<b class='flag-5'>技術(shù)</b>論壇圓滿結(jié)束

    嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」議程公布

    4月22日,嵌入式“2025嵌入式及邊緣AI技術(shù)論壇”將在深圳舉行,論壇以“新生態(tài),智未來(lái)”為主題,旨在匯聚行業(yè)智慧,探討
    的頭像 發(fā)表于 04-02 15:12 ?643次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI<b class='flag-5'>技術(shù)</b>論壇」議程公布

    嵌入式攜手瑞芯微成為2025年全國(guó)大學(xué)生嵌入式大賽命題企業(yè)

    近日,保定嵌入式技術(shù)有限公司(以下簡(jiǎn)稱“嵌入式
    的頭像 發(fā)表于 03-19 16:32 ?720次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>攜手瑞芯微成為2025年全國(guó)大學(xué)生<b class='flag-5'>嵌入式</b>大賽命題企業(yè)

    3.1s啟動(dòng)!嵌入式i.MX93開發(fā)板部署LVGL,打造更高效的GUI

    近期,嵌入式為基于NXP i.MX93系列處理器打造的OK-MX9352-C開發(fā)板成功移植了LVGL v8.3,不僅界面美觀精致,啟動(dòng)速
    的頭像 發(fā)表于 01-16 11:52 ?781次閱讀
    3.1s啟動(dòng)!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>i.MX</b>93開發(fā)板部署LVGL,打造更高效的GUI

    嵌入式2024年度盤點(diǎn)】乘風(fēng)破浪,奮力前行

    嵌入式入選國(guó)家級(jí)專精特新重點(diǎn)“小巨人”企業(yè),代表著國(guó)家對(duì)嵌入式技術(shù)實(shí)力與創(chuàng)新能力的認(rèn)可。
    的頭像 發(fā)表于 01-04 13:22 ?813次閱讀
    【<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>2024年度盤點(diǎn)】乘風(fēng)破浪,奮力前行

    嵌入式受邀亮相TI嵌入式技術(shù)創(chuàng)新發(fā)展研討會(huì)

    10月22日,“2024年德州儀器嵌入式技術(shù)創(chuàng)新發(fā)展研討會(huì)”(北京站)順利舉行,本次研討會(huì)邀請(qǐng)了眾多業(yè)界領(lǐng)先的企業(yè)和專家到場(chǎng),嵌入式作為
    的頭像 發(fā)表于 10-23 14:27 ?1488次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>受邀亮相TI<b class='flag-5'>嵌入式</b><b class='flag-5'>技術(shù)</b>創(chuàng)新發(fā)展研討會(huì)

    嵌入式作為首個(gè)嵌入式板卡合作伙伴入駐「恩智浦云實(shí)驗(yàn)室」

    嵌入式作為恩智浦云實(shí)驗(yàn)室的首個(gè)嵌入式板卡合作伙伴,已經(jīng)攜OK-MX95xx-C和OK-MX8
    的頭像 發(fā)表于 10-15 08:01 ?699次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>作為首個(gè)<b class='flag-5'>嵌入式</b>板卡合作伙伴入駐「恩智浦云實(shí)驗(yàn)室」

    嵌入式技術(shù)創(chuàng)新日(深圳站)圓滿落幕

    2024年8月26日下午,嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯英迪格酒店盛大舉行,此次活動(dòng)匯聚了近200位嵌入式
    的頭像 發(fā)表于 08-30 15:42 ?615次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>技術(shù)</b>創(chuàng)新日(深圳站)圓滿落幕

    再見深圳!嵌入式技術(shù)創(chuàng)新日?qǐng)A滿落幕

    2024年8月26日下午,嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯英迪格酒店盛大舉行,此次活動(dòng)匯聚了近200位嵌入式
    的頭像 發(fā)表于 08-29 16:35 ?1366次閱讀
    再見深圳!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>技術(shù)</b>創(chuàng)新日?qǐng)A滿落幕

    嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    2024年8月26日下午,嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯英迪格酒店盛大舉行,此次活動(dòng)匯聚了近200位嵌入式
    發(fā)表于 08-28 09:06