本文介紹瑞芯微RK3588芯片平臺(tái)RT-Linux系統(tǒng)實(shí)時(shí)性及硬件中斷延遲測(cè)試,基于觸覺智能RK3588核心板/開發(fā)板演示。
Linux-RT實(shí)時(shí)性測(cè)試
- 測(cè)試環(huán)境說明
本次測(cè)試是使用Cyclictest延遲檢測(cè)工具測(cè)試Linux系統(tǒng)實(shí)時(shí)性。Cyclictest 是一款專門用于測(cè)試和評(píng)估系統(tǒng)實(shí)時(shí)性(Real-Time)的工具,主要用于測(cè)量 Linux 系統(tǒng)中線程調(diào)度的延遲(即從線程被喚醒到實(shí)際開始執(zhí)行之間的時(shí)間差)。它是 rt-tests 工具集的核心組件之一,廣泛應(yīng)用于實(shí)時(shí)系統(tǒng)(如 RT-Linux)的性能驗(yàn)證和優(yōu)化。
- Preempt_RT
可參考網(wǎng)盤文檔,使用Cyclictest程序測(cè)試系統(tǒng)實(shí)時(shí)性(Linux內(nèi)核版本:Kernel 5.10.226)。
空載測(cè)試12小時(shí):

負(fù)載測(cè)試12小時(shí):

負(fù)載隔離CPU測(cè)試12小時(shí):

測(cè)試結(jié)果匯總:

- Xenomai RT
空載測(cè)試12小時(shí):

負(fù)載測(cè)試12小時(shí):

負(fù)載隔離CPU測(cè)試12小時(shí):

Xenomai RT內(nèi)核測(cè)試結(jié)果匯總:

結(jié)論如下:對(duì)比RK3588平臺(tái)Preempt_RT與Xenomai RT兩大實(shí)時(shí)性內(nèi)核數(shù)據(jù),Xenomai RT在負(fù)載情況下險(xiǎn)勝Preempt_RT,整體表現(xiàn)不相上下。
觸覺智能作為專業(yè)RK方案商,不僅RK3588這款還測(cè)試了RK3576等多款芯片平臺(tái),詳細(xì)可關(guān)注往期文章瀏覽。
Linux-RT硬件中斷延遲測(cè)試
- 測(cè)試基本原理
基于Preempt_RT內(nèi)核在隔離CPU的情況下,使用一個(gè)GPIO引腳(簡(jiǎn)稱GPIO1)作為中斷輸入,使用另一個(gè)GPIO引腳(簡(jiǎn)稱GPIO2)作為響應(yīng)中斷輸出,當(dāng)GPIO1接收到信號(hào)觸發(fā)中斷后立即控制GPIO2輸出,使用示波器抓取“觸發(fā)信號(hào)”與“響應(yīng)信號(hào)”之間的時(shí)間差(簡(jiǎn)稱中斷延遲)。
- 測(cè)試結(jié)果
(1)配置隔離CPU,配置GPIO1作為按鍵輸入(中斷信號(hào)輸入),配置GPIO2作為LED輸出(中斷響應(yīng)信號(hào)輸出)
chosen: chosen { bootargs = "earlycon=uart8250,mmio32,0xfeb50000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=0 root=PARTUUID=614e0000-0000 rw rootwait isolcpus=3"; };
--- a/arch/arm64/boot/dts/rockchip/ido-evb3588-v1b.dtsi +++ b/arch/arm64/boot/dts/rockchip/ido-evb3588-v1b.dtsi @@ -290,12 +290,32 @@ WIFI,poweren_gpio = <&pca9539 2 GPIO_ACTIVE_HIGH>; status = "okay"; }; - + + gpio_keys: gpio-keys { + status = "okay"; + compatible = "gpio-keys"; + autorepeat; + pinctrl-names = "default"; + pinctrl-0 = <&key1_user>; + + user_key1 { + label = "user-key1"; + linux,code = ; + gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>; + debounce-interval = <0>; + }; + }; + leds: leds { status = "okay"; compatible = "gpio-leds"; pinctrl-names = "default"; - pinctrl-0 =<&leds_gpio>; + pinctrl-0 =<&leds_gpio &led1_gpio>; + + user_led0: user-led0 { + gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; pcie_clk_en { gpios = <&pca9539 1 GPIO_ACTIVE_HIGH>; @@ -816,7 +836,18 @@ //<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>, <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; }; + + led1_gpio: led1-gpio { + rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; + }; }; + + keys { + key1_user: key1-user { + rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; +
例程通過創(chuàng)建一個(gè)基本的實(shí)時(shí)線程,在線程內(nèi)實(shí)現(xiàn)打開GPIO1對(duì)應(yīng)的按鍵input設(shè)備并對(duì)按鍵事件進(jìn)行監(jiān)聽從而觸發(fā)GPIO2對(duì)應(yīng)的LED的亮滅控制:

完成交叉編譯應(yīng)用程序后,執(zhí)行測(cè)試程序等待接收觸發(fā)信號(hào),硬件使用示波器捕獲觸發(fā)信號(hào)。

紅色信號(hào)為GPIO1,黃色信號(hào)為GPIO2,示波器實(shí)測(cè)中斷延遲為:21us。
-
實(shí)時(shí)性
+關(guān)注
關(guān)注
0文章
23瀏覽量
10269 -
核心板
+關(guān)注
關(guān)注
6文章
1354瀏覽量
31838 -
RK3588
+關(guān)注
關(guān)注
8文章
503瀏覽量
7101
發(fā)布評(píng)論請(qǐng)先 登錄
探索巔峰性能 |迅為 RK3588開發(fā)板深度剖析
迅為RK3588開發(fā)板深度剖析丨首選的性能
探索巔峰性能 |迅為瑞芯微RK3588開發(fā)板/核心板深度剖析
迅為瑞芯微RK3588開發(fā)板深度剖析丨首選的性能
RK3588核心板硬件手冊(cè)
貝啟科技RK3588核心板通過嚴(yán)格高低溫環(huán)境測(cè)試
極小極輕LGA封裝 |RK3588核心板SOM-3588-LGA現(xiàn)貨發(fā)售!
能力再次提升! 迅為RK3588/RK3568開發(fā)板&amp;核心板新增定制分區(qū)鏡像
PET_RK3588_CORE核心板
【性能強(qiáng)者再升級(jí)】迅為RK3588開發(fā)板16GB+128GB高配3588核心板發(fā)布!
觸覺智能RK3506核心板,工業(yè)應(yīng)用之RK3506 RT-Linux實(shí)時(shí)性測(cè)試
RK3506開發(fā)板Xenomai內(nèi)核RT-Linux實(shí)時(shí)性系統(tǒng)適配教程與性能實(shí)測(cè),實(shí)測(cè)僅7μs穩(wěn)定延時(shí)
RK3576核心板/開發(fā)板RT-Linux系統(tǒng)實(shí)時(shí)性及硬件中斷延遲測(cè)試

RK3588核心板/開發(fā)板RT-Linux系統(tǒng)實(shí)時(shí)性及硬件中斷延遲測(cè)試
評(píng)論