在嵌入式系統(tǒng)設(shè)計中,引腳復(fù)用功能通常是通過設(shè)備樹(Device Tree)預(yù)先配置設(shè)定的。出廠的設(shè)備樹中UART2_TX_DATA和UART2_RX_DATA兩個引腳被復(fù)用成了UART2功能,如果想要在不更換系統(tǒng)鏡像的情況下,將這兩個引腳的功能轉(zhuǎn)換為GPIO,并作為數(shù)字輸出(DO)引腳來控制高低電平信號,該如何實(shí)現(xiàn)呢?
下面我們將逐步解析如何在應(yīng)用層修改IOMUX復(fù)用寄存器,從而實(shí)現(xiàn)將上述兩個引腳重新復(fù)用為GPIO功能的操作。
在ElfBoard官方資料中的05-硬件資料\05-2芯片數(shù)據(jù)手冊\IMX6ULLARM手冊中找到這兩個引腳的MUX寄存器和PAD寄存器。
UART2_TX_DATA和UART2_RX_DATA的MUX寄存器如下圖:


UART2_TX_DATA和UART2_RX_DATA的PAD寄存器如下圖:


可以直接使用memtool工具進(jìn)行修改。
鏈接:https://pan.baidu.com/s/10ixxhbwf4yGajS8SYUIATQ
提取碼:ju2x
(1)測試
在修改之前先進(jìn)行測試,直接在文件系統(tǒng)中,使用以下命令操作,通過萬用表測量發(fā)現(xiàn)不能成功輸出高低電平:
echo 20 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio20/direction echo "1" > /sys/class/gpio/gpio20/value echo "0" > /sys/class/gpio/gpio20/value echo 21 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio21/direction echo "1" > /sys/class/gpio/gpio21/value echo "0" > /sys/class/gpio/gpio21/value
(2)用memtool工具讀一下這兩個寄存器

因?yàn)檫@兩個寄存器是連續(xù)的,所以也可以使用這個命令直接讀兩個寄存器:

可以看出,這兩個MUX寄存器的值為0,以UART2_TX_DATA為例,通過下圖得知0表示復(fù)用成UART2功能:

同時也讀一下這兩個引腳的PAD寄存器:

可以看到讀出來的電氣參數(shù)跟設(shè)備樹中配置一致:

(3)現(xiàn)在使用memtool工具設(shè)置寄存器
設(shè)置這兩個引腳的MUX寄存器值為0x05,即復(fù)用成GPIO功能。

設(shè)置這兩個引腳的PAD寄存器值為0x10b0。

(4)測試驗(yàn)證
此時,再去將這兩個引腳當(dāng)做GPIO去操作:通過萬用表測量,能夠控制引腳高低電平的輸出。
完成以上所有步驟后,即可實(shí)現(xiàn)應(yīng)用層對引腳復(fù)用功能的動態(tài)調(diào)整。期待以上的指南能對各位小伙伴提供切實(shí)的幫助!
-
嵌入式
+關(guān)注
關(guān)注
5198文章
20445瀏覽量
333997 -
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219013 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6290瀏覽量
118067
發(fā)布評論請先 登錄
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板上進(jìn)行UART引腳復(fù)用配置
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板實(shí)現(xiàn)I2C功能復(fù)用
嵌入式學(xué)習(xí)-飛凌ElfBoard ELF 1板卡 - 應(yīng)用層更改引腳復(fù)用的方法
I.MX6ULL-飛凌 ElfBoard ELF1板卡- 應(yīng)用層更改引腳復(fù)用的方法
應(yīng)用層通信安全
從應(yīng)用層和后臺分析便攜式電子產(chǎn)品的節(jié)能技術(shù)
SIP應(yīng)用層網(wǎng)關(guān)技術(shù)
認(rèn)知無線電MAC層與應(yīng)用層仿真軟件
嵌入式Linux應(yīng)用層開發(fā)教程(一)基本概念
嵌入式的編程思想:應(yīng)用層與硬件層的“藕斷絲連”
物聯(lián)網(wǎng)的技術(shù)架構(gòu)及應(yīng)用層是什么?
ELF 1技術(shù)貼|LCD作為終端控制臺的方法
ELF 1技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的LED功能
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板實(shí)現(xiàn)GPIO功能復(fù)用
ELF 1技術(shù)貼|應(yīng)用層更改引腳復(fù)用的方法
評論