Semihosting Printing
Semihosting is a powerful feature that enhances the development and debugging experience when designing embedded software for your Sapphire High-Performance SoC. Semihosting acts as a bridge between your host machine and the Sapphire High-Performance SoC. With semihosting, printing debug messages is achievable without the need for additional peripherals like UART. This is beneficial for designs with limited resources where the debug capabilities are not compromised.
Efinix integrates the semihosting ability to the bsp_print* APIs. By enabling the ENABLE_SEMIHOSTING_PRINT in bsp.h file, all printing APIs such as bsp_print, bsp_printf, and bsp_printf_full is routed to the semihosting printing where the printout appears in the Efinity RISC-V Embedded Software IDE console instead. No modifications are required for your design source code.
Efinix provides an example design illustrating how to write and read through the semihosting in semihostingDemo.