Simulation stuck at __bcc_con_outbyte routine

I’m simulating the NOEL-V (RV32) using the tiny configuration in the noelv-generic design. The code has been compiled using the NCC toolchain provided here (linux).
The program gets stuck in a loop in __bcc_con_outbyte, apparently waiting for the UART. The rest of the program works as expected as I can successfully run programs that do not print any value.

Do you have any idea of what could be the issue and how can I resolve it? I include a screenshot with the system information and one with the simulation disassembly with the mentioned situation.

Thanks for your help!

Hi MarcSB,

Only considering you problem description (no deep analysis of the problem) I would say it could be that the UART is not enabled. You could try including the following function when compiling you main C code to enabling the UART:

void __bcc_init70(void){
  unsigned int * apbuart_ctrl = (unsigned int*)0xfc001008;

  // enable UART
  *apbuart_ctrl = 0x3;

int main() {

Please note: this should be ok for simulation, but when running the application on hardware using GRMON you may need to preserve some debug bits in the UART control register.


Hi Nils,
Including the function has solved the issue.
Thank you!