インテルのみ表示可能 — GUID: yhw1678076220082
Ixiasoft
1. Nios® V エンベデッド・プロセッサー開発の概要
2. グラフィカル・ユーザー・インターフェイスのガイドライン
3. コマンドラインでの操作方法
4. Nios® V プロセッサー・ソフトウェアの開発と実装
5. Nios® V プロセッサーのボード・サポート・パッケージ・エディター
6. ハードウェア・アブストラクション・レイヤー (HAL) の概要
7. ハードウェア・アブストラクション・レイヤー (HAL) を使用した開発
8. ハードウェア・アブストラクション・レイヤーに向けたデバイスドライバーの開発
9. 例外処理
10. キャッシュおよび密結合メモリー
11. MicroC/OS-II リアルタイム・オペレーティング・システム
12. MicroC/TCP-IP プロトコルスタック
13. FreeRTOS* リアルタイム・オペレーティング・システム
14. 読み取り専用 zip ファイルシステム
15. エンベデッド・ソフトウェアへのコンポーネント情報の公開
16. Nios® V プロセッサー — 付録
A. Nios® V プロセッサー・ソフトウェア開発者ハンドブックのアーカイブ
17. Nios® V プロセッサー・ソフトウェア開発者ハンドブックの改訂履歴
7.1. HAL BSP の設定
7.2. Nios® V プロセッサーエンベデッド・プロジェクトの構造
7.3. system.hシステム記述ファイル
7.4. データ幅と HAL タイプの定義
7.5. UNIX スタイルのインターフェイス
7.6. キャラクター・モード・デバイスの使用
7.7. タイマーデバイスの使用
7.8. フラッシュデバイスの使用
7.9. DMA デバイスの使用
7.10. 割り込みコントローラー
7.11. エンベデッド・システムのコード・フットプリントの削減
7.12. ブートシーケンスとエントリーポイント
7.13. メモリー使用量
7.14. HAL ソースファイルの操作方法
8.1. HAL API でのドライバーの統合
8.2. HAL ペリフェラル固有の API
8.3. HAL ドライバー開発の準備
8.4. デバイスドライバー作成の開発フロー
8.5. Nios® V プロセッサーのハードウェアにおけるデザイン概念
8.6. ハードウェアへのアクセス
8.7. HAL デバイスクラスに向けたエンベデッド・ドライバーの作成
8.8. HAL へのデバイスドライバーの統合
8.9. HAL 用のカスタム・デバイスドライバーの作成
8.10. HAL エンベデッド・ドライバーのコード・フットプリントの削減
8.11. HAL における名前空間の割り当て
8.12. HAL デフォルト・デバイスドライバーのオーバーライド
16.1.1.1. _exit()
16.1.1.2. _rename()
16.1.1.3. alt_dcache_flush()
16.1.1.4. alt_dcache_flush_all()
16.1.1.5. alt_icache_flush_all()
16.1.1.6. alt_dcache_flush_no_writeback()
16.1.1.7. alt_icache_flush_all()
16.1.1.8. alt_icache_flush()
16.1.1.9. alt_alarm_start()
16.1.1.10. alt_alarm_stop()
16.1.1.11. alt_dma_rxchan_depth()
16.1.1.12. alt_dma_rxchan_close()
16.1.1.13. alt_dev_reg()
16.1.1.14. alt_dma_rxchan_open()
16.1.1.15. alt_dma_rxchan_prepare()
16.1.1.16. alt_dma_rxchan_reg()
16.1.1.17. alt_dma_txchan_close()
16.1.1.18. alt_dma_txchan_ioctl()
16.1.1.19. alt_dma_txchan_open()
16.1.1.20. alt_dma_txchan_reg()
16.1.1.21. alt_flash_close_dev()
16.1.1.22. alt_exception_cause_generated_bad_addr()
16.1.1.23. alt_erase_flash_block()
16.1.1.24. alt_dma_rxchan_ioctl()
16.1.1.25. alt_dma_txchan_space()
16.1.1.26. alt_dma_txchan_send()
16.1.1.27. alt_flash_open_dev()
16.1.1.28. alt_fs_reg()
16.1.1.29. alt_get_flash_info()
16.1.1.30. alt_ic_irq_disable()
16.1.1.31. alt_ic_irq_enable()
16.1.1.32. alt_ic_isr_register()
16.1.1.33. alt_ic_irq_enable()
16.1.1.34. alt_instruction_exception_register()
16.1.1.35. alt_irq_cpu_enable_interrupts ()
16.1.1.36. alt_irq_disable_all()
16.1.1.37. alt_irq_enable_all()
16.1.1.38. alt_irq_enabled()
16.1.1.39. alt_irq_init()
16.1.1.40. alt_irq_pending ()
16.1.1.41. alt_llist_insert()
16.1.1.42. alt_llist_remove()
16.1.1.43. alt_load_section()
16.1.1.44. alt_nticks()
16.1.1.45. alt_read_flash()
16.1.1.46. alt_tick()
16.1.1.47. alt_ticks_per_second()
16.1.1.48. alt_timestamp()
16.1.1.49. alt_timestamp_freq()
16.1.1.50. alt_timestamp_start()
16.1.1.51. alt_write_flash()
16.1.1.52. alt_write_flash_block()
16.1.1.53. close()
16.1.1.54. fstat()
16.1.1.55. fork()
16.1.1.56. fcntl()
16.1.1.57. execve()
16.1.1.58. getpid()
16.1.1.59. kill()
16.1.1.60. stat()
16.1.1.61. settimeofday()
16.1.1.62. wait()
16.1.1.63. unlink()
16.1.1.64. sbrk()
16.1.1.65. link()
16.1.1.66. lseek()
16.1.1.67. open()
16.1.1.68. alt_sysclk_init()
16.1.1.69. times()
16.1.1.70. read()
16.1.1.71. write()
16.1.1.72. usleep()
16.1.1.73. alt_lock_flash()
16.1.1.74. gettimeofday()
16.1.1.75. ioctl()
16.1.1.76. isatty()
16.1.1.77. alt_niosv_enable_msw_interrupt()
16.1.1.78. alt_niosv_disable_msw_interrupt()
16.1.1.79. alt_niosv_is_msw_interrupt_enabled()
16.1.1.80. alt_niosv_trigger_msw_interrupt()
16.1.1.81. alt_niosv_clear_msw_interrupt()
16.1.1.82. alt_niosv_register_msw_interrupt_handler()
16.4.3.1. Intel HAL BSP
hal.enable_instruction_related_exceptions_api
hal.max_file_descriptors
hal.sys_clk_timer
hal.timestamp_timer
hal.linker.allow_code_at_reset
hal.linker.enable_alt_load
hal.linker.enable_alt_load_copy_exceptions
hal.linker.enable_alt_load_copy_rodata
hal.linker.enable_alt_load_copy_rwdata
hal.linker.enable_exception_stack
hal.linker.exception_stack_memory_region_name
hal.linker.use_picolibc
hal.linker.exception_stack_size
hal.toolchain.ar
hal.toolchain.as
hal.make.asflags
hal.make.cflags_debug
hal.make.cflags_defined_symbols
hal.make.cflags_optimization
hal.make.cflags_undefined_symbols
hal.make.cflags_user_flags
hal.make.cflags_warnings
hal.make.cxx_flags
hal.make.link_flags
hal.make.objdump_flags
hal.toolchain.cc
hal.toolchain.cxx
hal.toolchain.objdump
hal.make.enable_cflag_fstack_protector_strong
hal.make.enable_cflag_wformat_security
hal.toolchain.prefix
hal.toolchain.enable_executable_overrides
hal.enable_c_plus_plus
hal.enable_clean_exit
hal.enable_exit
hal.enable_reduced_device_drivers
hal.enable_lightweight_device_driver_api
hal.enable_runtime_stack_checking
hal.enable_sim_optimize
hal.log_port
hal.log_flags
hal.stderr
hal.stdin
hal.stdout
16.4.3.2. Micrium MicroC/OS-II BSP
16.4.3.3. FreeRTOS BSP
16.4.3.4. Device Drivers BSP
16.5.2.1. add_memory_device
16.5.2.2. add_memory_region
16.5.2.3. add_section_mapping
16.5.2.4. are_same_resource
16.5.2.5. delete_memory_region
16.5.2.6. delete_section_mapping
16.5.2.7. disable_sw_package
16.5.2.8. enable_sw_package
16.5.2.9. get_addr_span
16.5.2.10. get_assignment
16.5.2.11. get_available_drivers
16.5.2.12. get_available_sw_packages
16.5.2.13. get_base_addr
16.5.2.14. get_break_offset
16.5.2.15. get_break_slave_desc
16.5.2.16. get_cpu_name
16.5.2.17. get_current_memory_regions
16.5.2.18. get_current_section_mappings
16.5.2.19. get_default_memory_regions
16.5.2.20. get_driver
16.5.2.21. get_enabled_sw_packages
16.5.2.22. get_exception_offset
16.5.2.23. get_exception_slave_desc
16.5.2.24. get_fast_tlb_miss_exception_offset
16.5.2.25. get_fast_tlb_miss_exception_slave_desc
16.5.2.26. get_interrupt_controller_id
16.5.2.27. get_irq_interrupt_controller_id
16.5.2.28. get_irq_number
16.5.2.29. get_memory_region
16.5.2.30. get_module_class_name
16.5.2.31. get_module_name
16.5.2.32. get_reset_offset
16.5.2.33. get_reset_slave_desc
16.5.2.34. get_section_mapping
16.5.2.35. get_setting
16.5.2.36. get_setting_desc
16.5.2.37. get_slave_descs
16.5.2.38. is_char_device
16.5.2.39. is_connected_interrupt_controller_device
16.5.2.40. is_connected_to_data_master
16.5.2.41. is_connected_to_instruction_master
16.5.2.42. is_ethernet_mac_device
16.5.2.43. is_flash
16.5.2.44. is_memory_device
16.5.2.45. is_non_volatile_storage
16.5.2.46. is_timer_device
16.5.2.47. log_debug
16.5.2.48. log_default
16.5.2.49. log_error
16.5.2.50. log_verbose
16.5.2.51. set_driver
16.5.2.52. set_ignore_file
16.5.2.53. set_setting
16.5.2.54. update_memory_region
16.5.2.55. update_section_mapping
16.5.2.56. add_default_memory_regions
16.5.2.57. create_bsp
16.5.2.58. generate_bsp
16.5.2.59. get_available_bsp_type_versions
16.5.2.60. get_available_bsp_types
16.5.2.61. get_available_cpu_architectures
16.5.2.62. get_available_cpu_names
16.5.2.63. get_available_software
16.5.2.64. get_available_software_setting_properties
16.5.2.65. get_available_software_settings
16.5.2.66. get_bsp_version
16.5.2.67. get_cpu_architecture
16.5.2.68. get_sopcinfo_file
16.5.2.69. get_supported_bsp_types
16.5.2.70. is_bsp_hal_extension
16.5.2.71. open_bsp
16.5.2.72. save_bsp
16.5.2.73. set_bsp_version
16.5.2.74. set_logging_mode
16.5.3.1. add_class_sw_setting
16.5.3.2. add_class_systemh_line
16.5.3.3. add_module_sw_property
16.5.3.4. add_module_sw_setting
16.5.3.5. add_module_systemh_line
16.5.3.6. add_systemh_line
16.5.3.7. get_class_peripheral
16.5.3.8. get_module_assignment
16.5.3.9. get_module_name
16.5.3.10. get_module_peripheral
16.5.3.11. get_module_sw_setting_value
16.5.3.12. get_peripheral_property
16.5.3.13. remove_class_systemh_line
16.5.3.14. remove_module_systemh_line
16.5.3.15. set_class_sw_setting_property
16.5.3.16. set_module_sw_setting_property
インテルのみ表示可能 — GUID: yhw1678076220082
Ixiasoft
16.4.3.1. Intel HAL BSP
hal.enable_instruction_related_exceptions_api
- 識別子:ALT_INCLUDE_INSTRUCTION_RELATED_EXCEPTION_API
- タイプ: ブール定義
- デフォルト値: false
- ディスティネーション・ファイル: system.h
- 説明: 命令関連の例外を処理するためのハンドラーを登録するためのアプリケーション・プログラム・インターフェイス (API) を有効にします。これらの例外タイプは、メモリー管理ユニット (MMU)、メモリー保護ユニット (MPU)、または他の高度な例外タイプなど、さまざまなプロセッサオプションが有効になっている場合に生成される可能性があります。この設定を有効にすると、例外エントリコードのサイズが増加します。
- 制限: なし
hal.max_file_descriptors
- 識別子: ALT_MAX_FD
- タイプ: 10 進数
- デフォルト値: 32
- ディスティネーション・ファイル: system.h
- 説明: 静的に割り当てられるファイル・ディスクリプターの個数を決定します。
- 制限: hal.enable_lightweight_device_driver_api が true の場合、ファイル・ディスクリプターは存在しないため、この設定は無視されます。hal.enable_lightweight_device_driver_api が false の場合、HAL は /dev/null、/dev/stdin、/dev/stdout、および /dev/stderr に対してファイル・ディスクリプターを必要とするため、この設定はすくなくとも 4 でなければいけません。この設定は、system.h での ALT_MAX_FD の値を定義します。
hal.sys_clk_timer
- 識別子: ALT_SYS_CLK
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: システム・クロックタイマー・デバイスのスレーブ記述子です。このデバイスは周期的な割り込み ("tick") を提供し、通常 RTOS の使用に必要です。この設定は system.h での ALT_SYS_CLK の値を定義します。
- 制限: なし
hal.timestamp_timer
- 識別子: ALT_TIMESTAMP_CLK
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: タイムスタンプ・タイマー・デバイスのスレーブ記述子です。このデバイスは、インテル HAL タイムスタンプ・ドライバーによって高解像度の時間測定に使用されます。この設定は system.h での ALT_TIMESTAMP_CLK の値を定義します。
- 制限: なし
hal.linker.allow_code_at_reset
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: なし
- 説明: リセットアドレスでの初期化コードが許可されているかどうかを示します。true の場合、linker.h でマクロ ALT_ALLOW_CODE_AT_RESET を定義します。
- 制限 この設定は、外部ブートローダー (例:フラッシュブートローダー) が存在する場合、通常は false です。
hal.linker.enable_alt_load
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: なし
- 説明: alt_load() 機能を有効にします。alt_load() 機能は、セクションを .text メモリーから RAM にコピーします。true の場合、この設定は、linker.x 内のセクションの VMA/LMA (仮想メモリーアドレス/低メモリーアドレス) を設定し、 .text メモリーにロードできるようになります。
- 制限 この設定は、外部ブートローダー (例:フラッシュブートローダー) が存在する場合、通常は false です。
hal.linker.enable_alt_load_copy_exceptions
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: なし
- 説明: alt_load() 機能により、 .exceptions セクションをコピーするようにします。true の場合、この設定は linker.h のマクロ ALT_LOAD_COPY_EXCEPTIONS を定義します。
- 制限: なし
hal.linker.enable_alt_load_copy_rodata
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: なし
- 説明: alt_load() 機能により、.rodata セクションをコピーするようにします。true の場合、この設定は linker.h のマクロ ALT_LOAD_COPY_RODATA を定義します。
- 制限: なし
hal.linker.enable_alt_load_copy_rwdata
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: なし
- 説明: 初期化コードにより、 .rwdata セクションをコピーするようにします。true の場合、この設定は linker.h のマクロ ALT_LOAD_COPY_RWDATA を定義します。
- 制限: なし
hal.linker.enable_exception_stack
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: なし
- 説明: 個別の例外スタックの使用を有効にします。true の場合、この設定は linker.h のマクロ ALT_EXCEPTION_STACK を定義し、linker.x に exception_stack というメモリー領域を追加し、linker.x にシンボル __alt_exception_stack_pointer および __alt_exception_stack_limit を提供します。
- 制限: hal.linker.exception_stack_size および hal.linker.exception_stack_memory_region_name 設定も有効である必要があります。この設定は、MicroC/OS-II BSP に対しては false にする必要があります。EIC が実装されていない場合、割り込みやその他の例外のパフォーマンスを向上するには例外スタックを使用することができます。
hal.linker.exception_stack_memory_region_name
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: なし
- 説明: exception_stack メモリー領域を作成するために分割される既存のメモリー領域の名前です。選択した領域名は、exception_stack メモリー領域を作成するために BSP が生成される際、自動的に調整されます。
- 制限: hal.linker.enable_exception_stack が true の場合にのみ使用されます。
hal.linker.use_picolibc
- 識別子: USE_PICOLIBC
- タイプ: Boolean 割り当て
- デフォルト値: false
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C ライブラリーのサポートに Newlib の代わりに Picolibc を使用します。
- 制限: なし
hal.linker.exception_stack_size
- 識別子: なし
- タイプ: 10 進数
- デフォルト値: 1024
- ディスティネーション・ファイル: なし
- 説明: 例外スタックのサイズ (バイト単位) です。
- 制限: なし。hal.linker.enable_exception_stack が true の場合にのみ使用されます。
hal.toolchain.ar
- 識別子: CMAKE_AR
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-ar
- ディスティネーション・ファイル: toolchain.cmake
- 説明: アーカイバー・コマンドです。ライブラリー・ファイルを作成します。
- 制限: なし
hal.toolchain.as
- 識別子: CMAKE_ASM_COMPILER
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-gcc
- ディスティネーション・ファイル: toolchain.cmake
- 説明: アセンブラー・コマンドです。 Nios® Vプロセッサー・アセンブリー言語ソースファイル (.S) に使用されることに注意してください。
- 制限: なし
hal.make.asflags
- 識別子: COMPILE_LANGUAGE:ASM
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: -Wa,-gdwarf2
- ディスティネーション・ファイル: toolchain.cmake
- 説明: アセンブラーにのみ渡されるカスタムフラグです。この設定は、toolchain.cmake の COMPILE_LANGUAGE:ASM の値を定義します。
- 制限: なし
hal.make.cflags_debug
- 識別子: CMAKE_C_FLAGS_DEBUG および CMAKE_CXX_FLAGS_DEBUG
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: -g
- ディスティネーション・ファイル: toolchain.cmake
- 説明:CMAKE_BUILD_TYPE=Debug の際の C/C++ コンパイラー・デバッグ・レベルです。 -g は、一般的なアプリケーションのデバッグに必要なデバッグシンボルのデフォルトセットを提供します。 -g を省略すると、.elf ファイルからデバッグシンボルが削除されます。この設定は、toolchain.cmake 内の CMAKE_C_FLAGS_DEBUG および CMAKE_CXX_FLAGS_DEBUG の値を定義します。
- 制限: cmake コマンドはフラグ CMAKE_BUILD_TYPE=Debug を使用して実行します。
hal.make.cflags_defined_symbols
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: toolchain.cmake
- 説明: 定義するプリプロセッサー・マクロです。この設定のマクロ定義は、ソースコードの #define と同じ効果があります。この設定に -DALT_DEBUG を追加すると、ソースファイルの #define ALT_DEBUG と同じ効果があります。この設定に -DFOO=1 を追加するとソースファイルのマクロ #define FOO 1 と同じ効果があります。この設定で定義されたマクロは、BSP 内のすべての .、S、C ソース ( .c )、および C++ ファイル に適用されます。この設定は、toolchain.cmake のプリプロセッサー・マクロの値を定義します。
- 制限: なし
hal.make.cflags_optimization
- 識別子: CMAKE_C_FLAGS_RELEASE および CMAKE_CXX_FLAGS_RELEASE
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: -O2
- ディスティネーション・ファイル: toolchain.cmake
- 説明: CMAKE__BUILD_TYPE=Release の際の C/C++ コンパイラー最適化レベルです。-O0 = 最適化なし、-O2 = 通常の最適化、などです。コンパイラー最適化によりデバッグ実行中に変数が削除されたり、コードの実行順序が非連続になったりする可能性があるため、デバッグを実行したいコードに対しては -O0 が推奨されます。この設定は、toolchain.cmake 内の CMAKE_C_FLAGS_RELEASE および CMAKE_CXX_FLAGS_RELEASE の値を定義します。
- 制限: cmake コマンドはフラグ CMAKE_BUILD_TYPE=Release を使用して実行します。
hal.make.cflags_undefined_symbols
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: toolchain.cmake
- 説明: 定義を解除するプリプロセッサー・マクロです。未定義マクロは定義済みマクロに似ていますが、ソースコード内の #undef ディレクティブを複製します。マクロ FOO の定義を解除するには、この設定で構文 -u FOO を使用します。 これは、ソースファイルの #undef FOO に相当します。注: 構文はマクロ定義とは異なります (スペースがあります。例 -u FOO と -DFOO)。この設定で定義されたマクロは、 BSP 内のすべての . S、 . c 、および C++ ファイル に適用されます。この設定は、toolchain.cmake のプリプロセッサー・マクロの定義を解除します。
- 制限: なし
hal.make.cflags_user_flags
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: toolchain.cmake
- 説明: カスタムフラグは、 C、C++、および . S ファイルのコンパイル時に渡されます 。この設定は、toolchain.cmake のカスタムフラグの値を定義します。
- 制限: なし
hal.make.cflags_warnings
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: -Wall-Wformat-security
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C/C++ コンパイラーの警告レベルです。一般的には、-Wall が使用されます。 -Wformat-security は、printf 関数および scanf 関数の呼び出しについて警告します。これは、フォーマット文字列が文字列でない場合やフォーマット引数がない場合に該当します。この設定は、toolchain.cmake の警告レベルを定義します。
- 制限: なし
hal.make.cxx_flags
- 識別子: COMPILE_LANGUAGE:CXX
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C++ コンパイラーにのみ渡されるカスタムフラグです。この設定は、toolchain.cmake の COMPILE_LANGUAGE:CXX の値を定義します。
- 制限: なし
hal.make.link_flags
- 識別子: なし
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: toolchain.cmake
- 説明: リンカーフラグです。この設定は、toolchain.cmake のリンカーフラグを定義します。
- 制限: なし
hal.make.objdump_flags
- 識別子: ToolchainObjdumpFlags
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: -Sdtx
- ディスティネーション・ファイル: toolchain.cmake
- 説明: Objdump フラグです。この設定は、toolchain.cmake の ToolchainObjdumpFlags を定義します。
- 制限: なし
hal.toolchain.cc
- 識別子: CMAKE_C_COMPILER
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-gcc
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C コンパイラー・コマンドです。
- 制限: なし
hal.toolchain.cxx
- 識別子: CMAKE_CXX_COMPILER
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-g++
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C++ コンパイラー・コマンドです。
- 制限: なし
hal.toolchain.objdump
- 識別子: ToolchainObjdump
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-objdump
- ディスティネーション・ファイル: toolchain.cmake
- 説明: Objdump コマンドです。
- 制限: なし
hal.make.enable_cflag_fstack_protector_strong
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: toolchain.cmake
- 説明: toolchain.cmake の fstack-protector-strong コンパイラー・フラグを有効にします。true の場合、-fstack-protector-strong を追加します。
- 制限: なし
hal.make.enable_cflag_wformat_security
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: toolchain.cmake
- 説明: フォーマット関数を使用する際にセキュリティーに関する問題を警告するよう、toolchain.cmake の Wformat および Wformat-security コンパイラー・フラグを有効にします。true の場合、-Wformat -Wformat-security を追加します。
- 制限: なし
hal.toolchain.prefix
- 識別子: ToolchainPrefix
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: riscv32-unknown-elf-
- 説明: ツールチェーン実行可能ファイルに使用されるプレフィックスです。この値は、アーカイバー、アセンブラー、コンパイラー、およびリンカーの個々の値に影響します。具体的には、設定に影響します。
- hal.toolchain.ar
- hal.toolchain.as
- hal.toolchain.cc
- hal.toolchain.cxx
- hal.toolchain.objdump
ただし、オーバーライド設定 hal.toolchain.enable_executable_overrides が有効である場合、個々の設定 hal.toolchain.ar、hal.toolchain.as、hal.toolchain.cc、hal.toolchain.cxx、および hal.toolchain.objdump がカスタム値に設定される可能性があり、この設定の値から得られるものではなくなります。
riscv32-unknown-elf ツールチェーンは、インテル FPGA Ashling* RiscFree* IDE で使用可能です。このツールチェーンを使用するには、インテル FPGA Ashling* RiscFree* IDE をインストールする必要があります。
- 制限: なし
hal.toolchain.enable_executable_overrides
- 識別子: なし
- タイプ: Boolean 割り当て
- デフォルト値: false
- 説明: ツールチェーン実行可能ファイルにカスタム値の設定を有効にします。hal.toolchain.ar、hal.toolchain.as、hal.toolchain.cc、hal.toolchain.cxx、および hal.toolchain.objdump をカスタム値に設定することができます。
- 制限: なし
hal.enable_c_plus_plus
- 識別子: ALT_NO_C_PLUS_PLUS
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: toolchain.cmake
- 説明: C++ 言語のサブセットのサポートを有効にします。このオプションは、 C++ コンストラクターのサポートを追加することにより、コード・フットプリントを増加させます。複数継承や例外などの特定の機能はサポートされていません。false の場合、toolchain.cmake に ALT_NO_C_PLUS_PLUS を追加し、コード・フットプリントを削減します。
- 制限: なし
hal.enable_clean_exit
- 識別子: ALT_NO_CLEAN_EXIT
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: toolchain.cmake
- 説明: アプリケーション終了時、ファイル・ディスクリプターを閉じ、C++ デストラクターを呼び出します。Clean Exit を無効にすることで、コード・フットプリントを削減することができます。無効にする場合、toolchain.cmake に ALT_NO_CLEAN_EXIT、-Wl、--defsym、exit=_exit を追加します。
- 制限: なし
hal.enable_exit
- 識別子: ALT_NO_EXIT
- タイプ: Boolean 割り当て
- デフォルト値: 1
- ディスティネーション・ファイル: toolchain.cmake
- 説明: exit() サポートを追加します。main() ルーチンが exit() を返すか呼び出す場合、このオプションによりコード・フットプリントが増加します。false の場合、toolchain.cmake に ALT_NO_EXIT を追加し、フットプリントを削減します。
- 制限: なし
hal.enable_reduced_device_drivers
- 識別子: ALT_USE_SMALL_DRIVERS
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: toolchain.cmake
- 説明: 一部のドライバーは、コード・フットプリントを削減するために、機能を制限してコンパイルされています。すべてのドライバーがこの設定を使用するわけではありません。 true の場合、toolchain.cmake に ALT_USE_SMALL_DRIVERS を追加します。通常、ドライバーはポーリング・モードでこの設定をサポートします。たとえば、altera_avalon_uart および altera_avalon_jtag_uart 削減ドライバーは、ポーリング・モードで動作します。
- 制限: なし
hal.enable_lightweight_device_driver_api
- 識別子: ALT_USE_DIRECT_DRIVERS
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: toolchain.cmake
- 説明: コード・フットプリントおよびデータ・フットプリントを削減するために、軽量デバイスドライバー API を有効にします。true の場合、toolchain.cmake に ALT_USE_DIRECT_DRIVERS を追加します。
- 制限: なし
hal.enable_runtime_stack_checking
- 識別子: ALT_STACK_CHECK
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: toolchain.cmake
- 説明: HAL ランタイム・スタック・チェック機能をオンにします。この設定を有効にすると、malloc() などでヒープメモリーを割り当てる際に、ヒープがスタックと衝突していないか HAL がチェックすることができます。true の場合、toolchain.cmake に ALT_STACK_CHECK を追加します。
- 制限: なし
hal.enable_sim_optimize
- 識別子: ALT_SIM_OPTIMIZE
- タイプ: Boolean 割り当て
- デフォルト値: 0
- ディスティネーション・ファイル: toolchain.cmake
- 説明: BSP はキャッシュの初期化、.bss セクションのクリア、長い遅延ループのスキップなど、HDL シミュレーションを高速化するための最適化を行ってコンパイルされています。true の場合、toolchain.cmake に ALT_SIM_OPTIMIZE を追加します。
- 制限: この設定が true の場合、 BSP はハードウェアで実行できません。
hal.log_port
- 識別子: ALT_LOG_PORT
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: デバッグ・ロギング・キャラクター・モード・デバイスのスレーブ・ディスクリプターです。定義されている場合、HAL ソースで追加のデバッグメッセージが有効になります。この設定は、Intel FPGA ロギング関数によって使用されます。
hal.log_flags
- 識別子: ALT_LOG_FLAGS
- タイプ: 10 進数
- デフォルト値: 0
- ディスティネーション・ファイル: toolchain.cmake
- 説明: この値は、生成された toolchain.cmake の ALT_LOG_FLAGS に割り当てられます。詳細は、hal.log_port を参照してください。この設定の有効範囲は -1 ~ 3 です。
hal.stderr
- 識別子: ALT_STDERR
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: STDERR キャラクター・モード デバイスのスレーブ・ディスクリプターです。この設定は、system.h の ALT_STDERR ファミリーの定義で使用されます。
hal.stdin
- 識別子:ALT_STDIN
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: STDIN キャラクター・モード デバイスのスレーブ・ディスクリプターです。この設定は、system.h の ALT_STDIN ファミリーの定義で使用されます。
hal.stdout
- 識別子: ALT_STDOUT
- タイプ: 引用符で囲まれていない文字列
- デフォルト値: なし
- ディスティネーション・ファイル: system.h
- 説明: STDOUT キャラクター・モード デバイスのスレーブ・ディスクリプターです。この設定は、system.h の ALT_STDOUT ファミリーの定義で使用されます。