如何修改RK3568核心板的心跳燈引腳
在嵌入式開發(fā)中,LED 指示燈是監(jiān)控系統(tǒng)狀態(tài)最直觀的方式之一。心跳燈(Heartbeat LED) 更是其中的核心,它通過周期性閃爍來指示系統(tǒng)正在正常運(yùn)行。本文將以杭州維芯科電子的 RK3568 核心板為例,詳細(xì)介紹如何在 Linux 環(huán)境中修改心跳燈的默認(rèn) GPIO 引腳,使其指向你指定的硬件 LED。

1. 確定硬件與引腳
首先,你需要確認(rèn)你的硬件上用于心跳燈的 LED 引腳。在本例中,我們假設(shè)心跳燈連接到 GPIO1_A4 引腳。
要將 GPIO1_A4 映射到 Linux 內(nèi)核,我們需要知道其對(duì)應(yīng)的 GPIO 編號(hào)。在 Rockchip 平臺(tái)中,GPIO 編號(hào)通常以 &gpioRK_P的格式表示。因此,GPIO1_A4 對(duì)應(yīng)的設(shè)備樹表示為 &gpio1 RK_PA4。
2. 設(shè)備樹 (Device Tree) 修改
Linux 內(nèi)核通過設(shè)備樹來管理硬件資源。要修改心跳燈的引腳,我們需要修改設(shè)備樹文件。通常,這個(gè)文件位于 arch/arm64/boot/dts/rockchip/ 目錄下,文件名可能類似于 rk3568-xxxx-board.dts。
在設(shè)備樹文件中,你需要找到或添加一個(gè)名為 leds 的節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)用于定義系統(tǒng)中的所有 LED 燈。在 leds 節(jié)點(diǎn)中,添加一個(gè)名為 led-alive 的子節(jié)點(diǎn)來配置心跳燈。
下面是具體的修改代碼,請(qǐng)將其添加到你的設(shè)備樹文件中:
// leds 節(jié)點(diǎn)定義了系統(tǒng)中的所有 LED
leds {
compatible = "gpio-leds"; // 兼容性屬性,指定使用 GPIO 控制的 LED 驅(qū)動(dòng)
// led-alive 子節(jié)點(diǎn)用于配置心跳燈
led-alive {
status = "disabled"; // 默認(rèn)禁用,由 led-trigger 控制
gpios = <&gpio1 rk_pa4="" gpio_active_high="">; // 關(guān)鍵配置:指定 LED 連接到 GPIO1_A4
default-state = "off"; // 系統(tǒng)啟動(dòng)后 LED 默認(rèn)關(guān)閉
linux,default-trigger = "heartbeat"; // 指定 LED 的默認(rèn)觸發(fā)器為“心跳”
function = LED_FUNCTION_HEARTBEAT; // 指定 LED 的功能為心跳燈
};
};
關(guān)鍵屬性解釋:
gpios = <&gpio1 rk_pa4="" gpio_active_high="">: 這是最重要的一行。它告訴內(nèi)核心跳燈連接到了 GPIO1_A4 引腳。GPIO_ACTIVE_HIGH 表示當(dāng) GPIO 輸出高電平時(shí),LED 會(huì)點(diǎn)亮。如果你的硬件是低電平點(diǎn)亮,則需要使用 GPIO_ACTIVE_LOW。
linux,default-trigger = "heartbeat": 這行指定了 LED 的默認(rèn)行為。系統(tǒng)啟動(dòng)后,內(nèi)核的 heartbeat 驅(qū)動(dòng)會(huì)自動(dòng)接管這個(gè) LED,讓它開始周期性閃爍。
status = "disabled": 這一行通常用于在設(shè)備樹中預(yù)先定義好一個(gè)節(jié)點(diǎn),但默認(rèn)不啟用。在本例中,heartbeat 觸發(fā)器會(huì)自動(dòng)啟用該 LED,因此此處的 disabled 并不影響心跳燈的正常功能。
修改完成后,你需要重新編譯設(shè)備樹并將其更新到核心板上。
3. 驗(yàn)證與測(cè)試
在核心板啟動(dòng)后,觀察物理 LED:
如果你已經(jīng)正確連接了硬件 LED,此時(shí)它應(yīng)該開始以緩慢而有規(guī)律的頻率閃爍。
4. 總結(jié)
通過以上步驟,你就可以成功地將 杭州維芯科電子的 RK3568 核心板 的心跳燈引腳修改到你指定的 GPIO 上。這個(gè)方法同樣適用于其他基于 gpio-leds 驅(qū)動(dòng)的指示燈配置。
相關(guān)產(chǎn)品>
-
RK3588工控板
●CPU:Rockchip RK3588●架構(gòu):四核Cortex-A76 + 四核Cortex-A55●NPU:6TOPS●內(nèi)存:4GB 8GB 16GB LPDDR4x●Flash:32GB
了解詳情
-
瑞芯微RK3588核心板
●CPU:RK3588 RK3588J●架構(gòu):四核Cortex-A76 +四核Cortex-A55●NPU:6TOPS●RAM:4GB(默認(rèn)) 8GB 16GB LPDDR4x●ROM:32GB(默認(rèn)
了解詳情
-
G2L工業(yè)網(wǎng)關(guān)
CPU:瑞薩G2L 架構(gòu):Cortex A55 主頻:1 2GHz 內(nèi)存:2Gyte DDR4工業(yè)級(jí) Flash:16Mbyte SPI f...
了解詳情
-

EN