色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 1629|回復(fù): 0
打印 上一主題 下一主題

AM6254的A核如何引腳復(fù)用成GPIO

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-10-22 09:42:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: GPIO
飛凌嵌入式FET6254-C核心板基于TI Sitara™ AM62x系列工業(yè)級處理器設(shè)計(jì)開發(fā),由于AM6254采用了Cortex-A53+Cortex-M4F的處理核+控制核架構(gòu)組合,因此引腳自然也是分為A核的引腳和M核的引腳。



如果A核的引腳不夠用怎么辦?可以把M核的引腳用作A核嗎?答案是肯定的。

今天小編將為大家分別介紹這顆核心板的GPIO引腳信號描述、A核使用A核的引腳、用戶空間如何控制GPIO以及A核如何調(diào)用M核的引腳并復(fù)用成GPIO。

關(guān)于AM6254的GPIO信號描述

我們通過GPIO可以了解有關(guān)AM6254這顆CPU的引腳框架,CPU手冊目錄:用戶資料/原廠資料/SPRSP58_AM62x_DS_AI_2_16_2022

在6.3.10GPIO章節(jié)有如下描述:













AM6254的GPIO信號一共有兩大組:分別是MAINDomainMCUDomain,其中MAINDomain是A核的GPIO,有兩組GPIO0和GPIO1,分別是92和52個(gè)引腳。



















MCUDomain是M核的GPIO,有一組GPIO0,24個(gè)引腳。













6.2Pin Attributes章節(jié)描述了引腳的控制寄存器PADCONFIG名稱以及地址,以及每個(gè)引腳的屬性。例如B13引腳,引腳名稱是SPI0_D0,寄存器名稱為PADCONFIG112,寄存器地址為0x000F41C0,可以復(fù)用的功能如下:













Linux系統(tǒng)可以使用devmem2查看寄存器值。

root@ok6254:~# devmem2 0x000F41C0

/dev/mem opened.

Memory mapped at address 0xffff969c0000.

Read at address  0x000F41C0(0xffff969c41c0): 0x00010007

root@ok6254:~#




5.1.2.3Pad Configuration Register Functional Description章節(jié)。




















A核使用A核的引腳




了解了引腳信號的描述,先不要著急,接下來先熟悉一下A核的引腳復(fù)用方法,以將SPI_D0用作GPIO為例,設(shè)備樹配置修改如下:

arch/arm64/boot/dts/ti/OK6254-C.dts





















修改完成后編譯設(shè)備樹,會在Image目錄下生成鏡像,然后替換dtb鏡像,替換目錄:/boot/OK6254-C.dtb。執(zhí)行sync保存后重啟。




用戶空間如何控制GPIO




為了查看是否修改成功,可以使用如下命令查看GPIO使用情況

  1. root@ok6254:~#cat /sys/kernel/debug/gpio
復(fù)制代碼




方式1:
使用內(nèi)核的gpio-leds驅(qū)動(dòng)

root@ok6254:~# cd /sys/class/leds/root@ok6254:/sys/class/leds#lsheartbeat  led1  led2 led3  mmc0::  mmc1::  mmc2::root@ok6254:/sys/class/leds#
進(jìn)入其中一個(gè)led1

root@ok6254:/sys/class/leds#cd led1/root@ok6254:/sys/class/leds/led1#lsbrightness  device max_brightness  power  subsystem  trigger  ueventroot@ok6254:/sys/class/leds/led1#
設(shè)備樹默認(rèn)配置觸發(fā)方式trigger為timer,此時(shí)的led是按照定時(shí)亮滅的,可以改成手動(dòng)控制。

  1. root@ok6254:/sys/class/leds/led1#echo none > trigger  將方式改成正常模式
復(fù)制代碼

方式2:

使用/sys/class/gpio,注意,該方式不需要再設(shè)備配置leds節(jié)點(diǎn),只需要配置引腳即可。如下是將gpmc_ad15引腳配置成GPIO。





















關(guān)于gpiochip的計(jì)算公式如下:











Gpmc_ad15的引腳是gpio0_30,chip值為402+30=432,導(dǎo)出gpio:

root@ok6254:~#echo 432 >/sys/class/gpio/export






設(shè)置方向:

root@ok6254:~# echo out >/sys/class/gpio/gpio432/direction



設(shè)置高低電平:

  1. root@ok6254:~# echo 1 >/sys/class/gpio/gpio432/value  置高
復(fù)制代碼

A核如何調(diào)用M核的引腳

并復(fù)用成GPIO?




設(shè)備樹配置:

  1. &mcu_pmx0 {mymcugpio1_pins_default:mymcugpio1-pins-default
復(fù)制代碼





使用gpio-leds驅(qū)動(dòng)的配置,在leds節(jié)點(diǎn)中添加如下(若您正在使用手機(jī)閱讀,建議您關(guān)掉“深色模式”):

  1. ---a/arch/arm64/boot/dts/ti/OK6254-C.dts+++b/arch/arm64/boot/dts/ti/OK6254-C.dts
復(fù)制代碼

控制方式與前面提到的方式1和方式2一樣,至此GPIO的復(fù)位完成。




當(dāng)然其他接口I2C、CAN、SPI、UART也是類似,想要了解更詳細(xì)的使用方式,大家可以關(guān)注后續(xù)的應(yīng)用筆記。

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表