Preloader のログは通常UART の0 番チャネルに出力されます。ログの出力を UART1 に変更する方法について解説します。

事前準備

  • Quartus II / Qsys の HPS 設定にて UART 1 を使用する設定に変更し、ハンドオフファイルを再生成しておく必要があります。
  • Cyclone V SoC 開発キット / Helio ボードでは、UART 1 はボード上にて未使用のためログの出力ポートを変更することは出来ません。

手順

  1. Preloader を生成する
    以下のリンクを参考に一旦 Preloader を生成します。これは修正するファイルが Preloader の生成時に構成されるためです。
  2. UART のチャネルを変更する
    以下のファイルを編集し、ログの出力に使用する UART のチャネルを指定します。

    /uboot-socfpga/include/configs/socfpga_common.h

    修正前
    -----------------------------------------------------------------
    /*
    * NS16550 Configuration
    */
    #define CONFIG_SYS_NS16550
    #ifdef CONFIG_SYS_NS16550
    #define UART0_BASE SOCFPGA_UART0_ADDRESS
    #define CONFIG_SYS_NS16550_SERIAL
    #define CONFIG_SYS_NS16550_REG_SIZE -4
    #define CONFIG_CONS_INDEX 1
    #define CONFIG_SYS_NS16550_COM1 UART0_BASE
    #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, 115200}
    #if defined(CONFIG_SOCFPGA_VIRTUAL_TARGET)
    #define CONFIG_SYS_NS16550_CLK 1000000
    #else
    #define CONFIG_SYS_NS16550_CLK (cm_l4_sp_clock)
    #endif
    #define CONFIG_BAUDRATE 115200
    #endif /* CONFIG_SYS_NS16550 /
    -----------------------------------------------------------------


    修正後
    -----------------------------------------------------------------
    /*
    NS16550 Configuration
    */
    #define CONFIG_SYS_NS16550
    #ifdef CONFIG_SYS_NS16550
    #define UART0_BASE SOCFPGA_UART0_ADDRESS
    #define UART1_BASE SOCFPGA_UART1_ADDRESS /* この行を追加 */
    #define CONFIG_SYS_NS16550_SERIAL
    #define CONFIG_SYS_NS16550_REG_SIZE -4
    #define CONFIG_CONS_INDEX 1
    /*#define CONFIG_SYS_NS16550_COM1 UART0_BASE*/
    #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* この行を編集 */
    #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, 115200}
    #if defined(CONFIG_SOCFPGA_VIRTUAL_TARGET)
    #define CONFIG_SYS_NS16550_CLK 1000000
    #else
    #define CONFIG_SYS_NS16550_CLK (cm_l4_sp_clock)
    #endif
    #define CONFIG_BAUDRATE 115200
    #endif /* CONFIG_SYS_NS16550 */
    -----------------------------------------------------------------
  3. Preloader を再生成する
    編集を反映させるため Preloader を再ビルドします。

     $ make all 

© 1999-2024 RocketBoards.org by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Privacy Policy - Terms Of Use

This website is using cookies. More info. That's Fine