わざわざAXI UART Liteを追加しなくても、PS UARTをEMIO経由でPLに接続すればよいのかと思い、試してみました。
まずはZynqのみのハードウェアから、PROG/UARTに接続されているPS UART1をEMIOに切り替えます。
さらに、UART_1を展開し、UART1_TXとUART1_RXのポートをそれぞれ右クリックし、Make Externalで外に引き出します。
これらがPmod USBUARTと接続できるよう、JEのPin 2(W16)をUART1_TX_0に、Pin 3(J15)をUART1_RX_0にアサインします。
後は、いつも通りにxsaファイルを生成し、Petalinuxをビルドします。
SDカードをZybo Z7-20に挿入し、電源を入れると、JEに接続されたUART1にbootメッセージが出力されました。
しかし、ここでまたautobootに失敗してu-bootで停止します。
どうやらboot中にPmod USBUARTが何等かの信号を送信してしまい、autobootが中止されているようです。
とりあえず、u-bootのコンソール画面で、bootdelayの値を-2に設定して回避します。
Zynq> setenv bootdelay -2
Zynq> saveenv
bootdelayの値については、こちらを参照。-1でautobootが無効になり、-2でdelayなしのautobootとなります。
Build U-Boot: List of environment variables
これで無事にPetalinuxが起動しました。ttyPS0のコンソールに、PL側からアクセスできています。
P.S. U-Bootのパラメータは、petalinux-configからは設定できず、テンプレートを直接編集するようです。
59349 - PetaLinux - How do I customize U-BOOT parameters?
まずはZynqのみのハードウェアから、PROG/UARTに接続されているPS UART1をEMIOに切り替えます。
さらに、UART_1を展開し、UART1_TXとUART1_RXのポートをそれぞれ右クリックし、Make Externalで外に引き出します。
これらがPmod USBUARTと接続できるよう、JEのPin 2(W16)をUART1_TX_0に、Pin 3(J15)をUART1_RX_0にアサインします。
後は、いつも通りにxsaファイルを生成し、Petalinuxをビルドします。
SDカードをZybo Z7-20に挿入し、電源を入れると、JEに接続されたUART1にbootメッセージが出力されました。
しかし、ここでまたautobootに失敗してu-bootで停止します。
どうやらboot中にPmod USBUARTが何等かの信号を送信してしまい、autobootが中止されているようです。
とりあえず、u-bootのコンソール画面で、bootdelayの値を-2に設定して回避します。
Zynq> setenv bootdelay -2
Zynq> saveenv
bootdelayの値については、こちらを参照。-1でautobootが無効になり、-2でdelayなしのautobootとなります。
Build U-Boot: List of environment variables
これで無事にPetalinuxが起動しました。ttyPS0のコンソールに、PL側からアクセスできています。
P.S. U-Bootのパラメータは、petalinux-configからは設定できず、テンプレートを直接編集するようです。
59349 - PetaLinux - How do I customize U-BOOT parameters?
※コメント投稿者のブログIDはブログ作成者のみに通知されます