2.2.1. Building Hardware Design in Platform Designer Overview
2.2.2. Building Hardware Design in Platform Designer — Manual Instantiation
2.2.3. Building Hardware Design in Platform Designer — Board-Aware Flow
2.2.4. Building Hardware Design in Platform Designer — Configurable Example Design
2.2.5. Building Software Design with Ashling* RiscFree* IDE for Altera® FPGAs
2.2.2.2.1. Adding Nios® V/m Processor IP
2.2.2.2.2. Adding On-Chip Memory II (RAM or ROM) IP
2.2.2.2.3. Adding JTAG UART IP
2.2.2.2.4. Adding Reset Release IP
2.2.2.2.5. Connect Interfaces and Signals
2.2.2.2.6. Clear System Warnings and Errors
2.2.2.2.7. Configuring the Reset Vector of the Nios® V Processor
2.2.2.2.8. Saving and Generating System HDL
2.2.3.2.1. Adding Nios® V/m Processor IP
2.2.3.2.2. Adding On-Chip Memory (RAM or ROM) IP
2.2.3.2.3. Adding JTAG UART IP
2.2.3.2.4. Adding System ID Peripheral IP
2.2.3.2.5. Adding Reset Release IP
2.2.3.2.6. Connect Interfaces and Signals
2.2.3.2.7. Clear System Warnings and Errors
2.2.3.2.8. Saving and Generating System HDL
3.2.2.4. Building the Hello World Application
You can browse the BSP and APP project files in Ashling* RiscFree* IDE for Altera® FPGAs Project Explorer tab.
Figure 127. Project Explorer Tab (Before Build Project)
- Go to the Project in the menu tab and click Build Project.
- When the build is complete, you can find the console prints as shown in the examples below.
- In addition to the console prints, you can find the generated ELF file in the APP project folder.
Figure 128. Project Explorer Tab (After Build Project)
CMake Console Print
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON -G "Unix Makefiles" <Working Directory>/niosv_max10_helloworld/software/hal_app -- Defaulting build type to Debug. -- The ASM compiler identification is GNU -- Found assembler: <Disk Drive>/riscfree/toolchain/riscv32-unknown-elf/bin/riscv32-unknown-elf-gcc -- The C compiler identification is GNU 13.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: <Disk Drive>/riscfree/toolchain/riscv32-unknown-elf/bin/riscv32-unknown- elf-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- The CXX compiler identification is GNU 13.2.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: <Disk Drive>/riscfree/toolchain/riscv32-unknown-elf/bin/riscv32-unknown- elf-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done (2.4s) -- Generating done (0.4s) -- Build files have been written to: <Working Directory>/software/hal_app/build/Default
Make Console Print
/usr/bin/gmake -j all Scanning dependencies of target hal2_bsp [ 3%] Building ASM object CMakeFiles/hal2_bsp.dir/HAL/src/crt0.S.obj [ 14%] Building ASM object CMakeFiles/hal2_bsp.dir/HAL/src/machine_trap.S.obj [ 20%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dma_txchan_open.c.obj [ 21%] Building ASM object CMakeFiles/hal2_bsp.dir/HAL/src/alt_log_macro.S.obj [ 30%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_find_dev.c.obj [ 32%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dev_llist_insert.c.obj [ 32%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_busy_sleep.c.obj [ 45%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_icache_flush.c.obj [ 48%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_irq_handler.c.obj [ 53%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_ioctl.c.obj [ 58%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_printf.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_alarm_start.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/drivers/src/altera_avalon_jtag_uart_write.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dcache_flush_no_writeback.c.obj [ 98%] Building ASM object CMakeFiles/hal2_bsp.dir/HAL/src/alt_mcount.S.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_close.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_env_lock.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_do_dtors.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dev.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_errno.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dma_rxchan_open.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_exit.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_do_ctors.c.obj [ 25%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dcache_flush_all.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_execve.c.obj [ 26%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_dcache_flush.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fcntl.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_environ.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_find_file.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fd_lock.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fd_unlock.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fs_reg.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_getchar.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_gettod.c.obj [ 38%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fork.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_flash_dev.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_iic.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_instruction_exception_register.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_gmon.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_fstat.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_get_fd.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_getpid.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_io_redirect.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_iic_isr_register.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_icache_flush_all.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_kill.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_link.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_putchar.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_main.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_open.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_remap_uncached.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_remap_cached.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_log_printf.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_isatty.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_sbrk.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_read.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_release_fd.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_putstr.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_rename.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_malloc_lock.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_load.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_settod.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_stat.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_putcharbuf.c.obj [ 77%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_tick.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_usleep.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_times.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_uncached_free.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_write.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_wait.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_lseek.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_tls.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/intel_fpga_api_niosv.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_unlink.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/intel_fpga_platform_api_niosv.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/alt_sys_init.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/drivers/src/altera_avalon_jtag_uart_fd.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/drivers/src/altera_avalon_jtag_uart_ioctl.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/mtimer.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/drivers/src/altera_avalon_jtag_uart_init.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/drivers/src/altera_avalon_jtag_uart_read.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/intel_niosv_irq.c.obj [ 98%] Building C object CMakeFiles/hal2_bsp.dir/HAL/src/alt_uncached_malloc.c.obj [100%] Linking C static library libhal2_bsp.a [100%] Built target hal2_bsp
Alternatively, you can build the application project using CLI.
1. Launch the Nios V Command Shell.
$ niosv-shell
2. Execute the command below to build the application.
$ cmake -G "Unix Makefiles" -B software/hal_app/build -S software/hal_app $ make -C software/hal_app/build