RK3562J技術分享 | AMP雙系統下的裸核中斷嵌套初體驗

原創 2024-11-11 15:14:00 RK3562J AMP
多核異構系統是?種使同?顆SoC芯片中不同核心分別獨立運行不同平臺的計算系統。通過合理的處理器核心及外設資源劃分,使?顆SoC芯片能夠獨立運行Linux系統和實時性系統,在滿足系統軟件功能和硬件外設豐富性要求的同時,也滿足系統的實時性要求,具有突出的性價比優勢和產品體積優勢。

1. 瑞芯微多核異構系統

“瑞芯微多核異構系統”是瑞芯微提供的?套通用多核異構系統解決方案

在運行平臺方面:

Linux提供標準的Linux Kernel,RTOS提供開源的RT-Thread ,Bare-metal提供基于RK HAL硬件抽象層的裸機開發庫。同時,瑞芯微多核異構系統支持客戶自行適配更多的運行平臺,例如可以基于RK HAL硬件抽象層適配指定的RTOS等。

在處理器核心方面:

瑞芯微多核異構系統支持SoC中同構的ARM Cortex-A核心獨立運行。也支持SoC中異構的ARM Cortex-M或RISC-V核心獨立運行。瑞芯微多核異構系統通過合理的處理器核心資源劃分,將適當的任務分配到最適合的核心進行處理,從而使SoC發揮出更優秀的性能和能效表現。

目前,瑞芯微多核異構系統采用無監督的AMP方案。不使用虛擬化管理,從而在運行實時性系統時獲得更快的中斷響應,以滿足電力工控行業應用中嚴苛的硬實時性要求。

2. RK3562J處理器核心及AMP支持情況

處理器核心

AMP支持情況


3. 中斷嵌套機制

中斷嵌套是一種有效的中斷處理機制,它允許系統根據中斷的優先級來響應和處理中斷,從而確保關鍵任務能夠及時得到處理,具有實時性高、靈活性好、響應快速等特點,但傳統的Linux系統為了簡化設計、提高系統的穩定性和可預測性、減少資源競爭和死鎖等風險、以及提高兼容性和可維護性,不支持中斷嵌套。這種設計選擇使得Linux內核在許多應用場景中表現出色,但對于高實時性場景下的應用就顯得力不從心了。

4. 案例實踐分享

開發板型號:OK3562J-C

資料版本:OK3562-C_Linux 5.10.198_用戶資料_R1

測試思路:

使用兩個GPIO,分別為GPIO4B1和GPIO0B0,其中GPIO4B1設置為輸出,GPIO設置為輸入并且中斷配置為下降沿觸發。硬件上短接GPIO4B1和GPIO0B0。

使用Timer4定時器每秒產生一個定時器中斷,在中斷處理函數中控制GPIO4B1產生一個下降沿并延時,如果出現了GPIO0B0中斷處理函數中的打印信息則證明成功發生了中斷搶占。

測試步驟:

(1)編寫測試程序fltest_irq_preempt.c開啟TIEMR4和GPIO0B0的中斷并且將GPIO0B0配置為下降沿觸發,在定時器中斷處理函數中將GPIO4B1拉高拉低,使之觸發GPIO0B0的中斷,在GPIO0B0的中斷處理函數中打印一句話來表明當前進入了GPIO0B0的中斷;

(2)修改中斷路由,添加TIMER4和GPIO0的中斷并使之綁定給CPU3,并設置TIMER4的中斷優先級高于GPIO0;

(3)重新編譯鏡像并燒寫;

(4)在uboot菜單中打開AMP并重啟OK3562J-C開發板,此時RTOS調試串口打印如下:


按tab鍵可以打印出當前的所有命令


可以看到我們的命令已經注冊成功了。

現在執行我們剛剛編寫的fl_irq_test這條命令,即可看到效果:


可以看到GPIO0B0的中斷搶占了當前的TIMER4中斷。

我們將二者的優先級調換一下再重新編譯燒寫,然后再次執行該程序,可以看到GPIO0B0的中斷在TIMER4中斷結束之后才被處理,未發生搶占。



飛凌嵌入式OK3562J-C開發板及FET3562J-C核心板現貨發售中,點擊下圖進入RK3562系列產品頁,即可了解更多產品詳情,火點擊左側在線客服,索取RK3562系列產品規格書。



相關產品 >

  • OK3562J-C開發板

    RK3562開發板,采用核心板+底板分體式設計,CPU采用瑞芯微工業級芯片RK3562J設計,RK3562J是瑞芯微專為工業自動化及消費類電子設備打造的一款高性能、低功耗國產化應用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設計便于產品的安裝與維護。 了解詳情
    OK3562J-C開發板
  • FET3562J-C核心板

    RK3562核心板,采用高性能低功耗工業級芯片RK3562J設計,RK3562J是瑞芯微專為工業自動化及消費類電子設備打造的一款高性能、低功耗國產化應用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設計便于產品的安裝與維護。 了解詳情
    FET3562J-C核心板

推薦閱讀 換一批 換一批