UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67819

Zynq UltraScale+ MPSoC: 2016.3 PMUFW、カスタム初期化コードの追加方法

説明

Performance Monitor Unit Firmware (PMUFW) にカスタム init コードを追加する方法を教えてください。

ソリューション

PMU ファームウェアは一般に、ほとんどのユース ケースで現状のままで使用できます。これは、FSBL がすべての初期化を実行すると想定されているからです。

しかし、とりわけ PMUFW を FSBL の前に実行するなど、場合によっては初期化中にカスタム コードを追加する必要があります。

次に、高レベルでの PMUFW 初期化のフロー チャートを示します。


 

上記のフローによって、スタートアップ時に実行しなければならないユーザー コードは UserStartUp ステージで追加する必要があります。

ソース コードでは、 xpfw_user_startup.c の Xpfw_UserStartUp() ファンクションに含まれます。

次に、変更が必要なサンプル diff を示します。

xpfw_user_startup.c の diff

@@ -43,8 +43,26 @@
 #include "xpfw_mod_rtc.h"
 #include "xpfw_mod_sched.h"
+
+static void InitExample(void)
+{
+       /**
+        * Put your custom init code here.
+        * Limit it to the minimal required functionality
+        * and ensure it doesn't change any registers local to PMU,
+        * to avoid conflicts with other parts of PMUFW
+        */
+}
+
+
+
+
 void XPfw_UserStartUp(void)
 {
+       /*****************************/
+       /* Call the custom init code */
+       InitExample();
+       /****************************/
        ModRtcInit();
        ModEmInit();
        ModPmInit();

注記: XPfw_UserStartUp にあるすべての init コードは、init シーケンスが割り込みされずに確実に実行されるよう、割り込みが無効のときに実行されます。

AR# 67819
日付 10/27/2016
ステータス アクティブ
種類 一般
デバイス
  • Zynq UltraScale+ MPSoC
このページをブックマークに追加