エンベデッド システムでカーネルがサポートされるようにするには、IP ブロックを追加して次のハードウェア要件を満たす必要があります。IP インテグレーター ブロック図で + アイコンをクリックして、検索ボックスにブロック名を入力して IP を追加します。次のようなブロック図になります。
- ブロック デザインにクロックを追加します。
- Add IP コマンドをクリックするか、+ ボタンをクリックして IP を検索するダイアログ ボックスで Clocking Wizard を検索して追加します。
-
clk_wiz_0
IP ブロックをダブルクリックして [Re-Customize IP] ダイアログ ボックスを開きます。 - Output Clocks タグをクリックします。
-
Output Clock 列の
clk_out1
~clk_out5
をオンにし、Requested Output Freq を次のように設定します。-
clk_out1
: 100 MHz -
clk_out2
: 200 MHz -
clk_out3
: 300 MHz -
clk_out4
: 400 MHz -
clk_out5
: 500 MHz
-
- ダイアログ ボックスの一番下の Reset Type を [Active Low] に設定します。
- OK をクリックしてダイアログ ボックスを閉じます。
- Processor System Reset ブロックを追加します。
- Add IP コマンドをクリックするか、+ ボタンをクリックして IP を検索するダイアログ ボックスで Processor System Reset を検索して追加します。
- この手順を使用して、さらに 4 つの Processor System Reset ブロックを追加するか、
proc_sys_reset_0
ブロックを選択してブロック図で 4 回コピー (Ctrl + C) および貼り付け (Ctrl + V) を繰り返します。
- クロックとリセットを接続します。
-
Run Connection Automation をクリックし、
proc_sys_reset
ブロックをクロッキング ウィザードのクロック出力に接続するためのダイアログ ボックスを開きます。 - [Run Connection Automation] ダイアログ ボックスの左側で All Automation をオンにします。
-
clk_wiz_0
のclk_in1
を選択し、Clock Source を/zynq_ultra_ps_e_0/pl_clk0
に設定します。 -
proc_sys_reset
インスタンスごとにslowest_sync_clk
を選択し、次のように Clock Source を設定します。-
proc_sys_reset_0
は/clk_wiz_0/clk_out1
に設定 -
proc_sys_reset_1
は/clk_wiz_0/clk_out2
に設定 -
proc_sys_reset_2
は/clk_wiz_0/clk_out3
に設定 -
proc_sys_reset_3
は/clk_wiz_0/clk_out4
に設定 -
proc_sys_reset_4
は/clk_wiz_0/clk_out5
に設定
-
-
proc_sys_reset
インスタンスごとにext_reset_in
を選択し、次のように Select Manual Source を/zynq_ultra_ps_e_0/pl_resetn0
に設定します。 - すべてのチェック ボックスをオンにし、OK をクリックしてダイアログ ボックスを閉じ、接続を作成します。
-
Run Connection Automation をクリックし、
- 各
proc_sys_reset
インスタンスのdcm_locked
信号すべてをclk_wiz_0
のロックされた信号に接続します。
上記の手順が終了したら、ブロック デザインは次のようになります。
図 1. 基本的なプラットフォーム ブロック デザイン
次は、ターゲット プラットフォームのプロパティを追加し、v++
リンカーに使用可能なインターフェイスを宣言して、カーネルをベースのハードウェア デザインと統合します。