www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > OpenFPGA

AMD-Xilinx MPSoC 和 Versal ACAP 系列均具有復雜的內部電源結構,其中包括全功率域 (FPD) 、低功耗域 (LPD) 、單個處理器電源域、外設等節(jié)點以及存儲器電源域。

這些域可以通過通、斷電,優(yōu)化整個解決方案的功耗。并且允許在運行時進行動態(tài)電源管理,為當前用例實現(xiàn)最低功耗。在 MPSoC 和 Versal 器件中,系統(tǒng)電源管理均由專用 MicroBlaze 處理器控制。它由 MPSoC 器件中的平臺管理單元 (PMU) 和 Versal 器件中的平臺管理控制器 (PMC) 執(zhí)行。

PMU 在 MPSoC 的運行中扮演著多種角色。這些角色可以概括為平臺管理:

  • 在引導期間執(zhí)行初始化。此過程使用 Sysmon 檢查電源、初始化 PLL、運行內置測試并在釋放 CSU 之前檢查錯誤。

  • 在操作期間執(zhí)行電源管理。PMU 可以關閉電源域或單個電源島或進入深度睡眠模式。一旦進入深度睡眠模式,PMU 也會暫停。只有 PMU 可以接收喚醒觸發(fā)信號。

  • 監(jiān)視系統(tǒng)的錯誤,并能夠通過專用 MIO 上的 PS_ERROR_STATUS 引腳在內部和外部報告這些錯誤。

  • 為功能安全應用程序可能需要的更高級別的系統(tǒng)管理提供支持。例如,用戶可以上傳自己的更高級的PMU軟件來運行軟件測試庫(STL)。

電源管理角色很有趣,因為處理器中斷允許 APU、RPU 或 PL MicroBlaze 等電源主設備管理電源從設備。

首先,我們需要創(chuàng)建 PMU 固件,該固件是在 Vitis 中的新應用程序向導中針對 PMU 處理器創(chuàng)建的??驁D非常簡單,只使用 PS即可。

如果我們需要對 PMU 固件進行更改確保調試可見性,可以使用多個標志指示。這些在Zynq UltraScale+ MPSoC 軟件開發(fā)人員指南 UG1137 的第 139 頁上進行了定義,并且可以作為符號添加到 PMU 固件的 C/C++ 設置中。

構建 PMU 固件后,我們需要在板支持設置中啟用 XilPM 庫。

在我們的應用程序 BSP 中啟用該庫時就允許應用程序與 PMU 及其電源管理軟件進行通信。運行該軟件使我們能夠觀察電源域和島的狀態(tài),并根據(jù)需要關閉和打開域/島的電源。API 調用的完整列表在UG643中的操作系統(tǒng)和庫文檔集中有詳細說明。

?

https://docs.xilinx.com/r/en-US/oslib_rm/BSP-and-Libraries-Overview

?

對于這個簡單的示例,創(chuàng)建一個應用程序,該應用程序將循環(huán)檢查所有電源島和域,并輸出節(jié)點狀態(tài)報告。

以下是上面使用的術語的一些定義

  • 要求Requirements – 這些是每個節(jié)點的特定要求,并且對于每個節(jié)點/島/域來說都是不同的。

  • 狀態(tài)Status - 顯示島、域或節(jié)點的狀態(tài)。對于 CPU 節(jié)點,顯示 CPU 狀態(tài)為 CPU OFF(0)、CPU Active (1)、CPU Sleep (2) 或 CPU suspending (3)。對于電源島,它只是位于打開 (1) 或關閉 (0) 的島。節(jié)點有三種狀態(tài):開 (1)、關 (0) 和保留 (2)。

  • 使用情況Usage – 節(jié)點當前未使用(0),由調用者獨占使用(1),節(jié)點被其他權力使用

該應用程序查看 Zynq MPSoC 中的所有 70 個電源島、節(jié)點和域,并通過XilPM 客戶端的源代碼pm_defs.h(https://github.com/Xilinx/embeddedsw/blob/master/lib/sw_services/xilpm/src/zynqmp/client/common/pm_defs.h)進行到節(jié)點的映射。

在加載 PMU 固件時,配置內存有兩個選項。

  • 引導 ROM 加載 – 在這種情況下,PMU 由引導 ROM 加載并在 FSBL 之前開始運行。由于設備 IO 尚未配置,因此不會有終端輸出。但是,如果未找到 PMU 固件,F(xiàn)SBL 將報告警告。

  • 由 FSBL 加載 - 在這種情況下,F(xiàn)SBL 加載 PMU 固件,然后 PMU 將能夠輸出其版本等。

這些選擇引導 ROM 或 FSBL 加載由引導文件創(chuàng)建(bif 文件)中 PMU elf 的標記方式控制。如果 PMU elf 分區(qū)被定義為發(fā)往 PMU 的數(shù)據(jù)文件,它將由 FSBL 加載。

如果我們將分區(qū)類型設置為由引導ROM加載的PMU,它將由引導ROM加載。

如果我們想要調試應用程序,我們首先需要確保 PMU 在 FSBL 等之前加載并運行。這是因為如果不刪除安全門,PU MicroBlaze 在 XSDB 中不可見。

為此,我們可以使用 XSCT 并創(chuàng)建一個簡單的 TCL 腳本,如下所示。請注意,需要在應用程序中編輯軟件的名稱和路徑。

#Disable Security gates to view PMU MB target targets -set -filter {name =~ "PSU"}
mwr 0xffca0038 0x1ff
after 500 #Load and run PMU FW targets -set -filter {name =~ "MicroBlaze PMU"}
dow xpfw.elf
con
after 500 #Reset A53, load and run FSBL targets -set -filter {name =~ "Cortex-A53 #0"}
rst -processor
dow fsbl_a53.elf
con #Give FSBL time to run after 5000
stop

今天關于 PMU 就介紹到這里,后續(xù)我們會更詳細的介紹其功能。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉