During the holiday period (Dec 24 – Jan 4), response times from our Global Support Team may be longer than usual.

文章详情

ID: 7326
实例类型: faq
分类: Propel (RISC-V)
相关:
产品系列: All FPGA

搜索答案数据库

Search Text Image

Propel: Why does the RISC-V debug session hang during exception handling?

Description:

RISC V CPU instruction/data manager consists of exception handling routine in the BSP source: ..\src\bsp\driver\riscv_mc\interrupt.c

The API is a standard RISC V practice where it prints out the failure based on the mcause register when the RISC V instruction bus fetches an invalid instruction or reads from an invalid address.

 

You may observe UART terminal Printf hang during an exception handling event when esr_callback API is called.

 

Solution

To workaround this issue, you will need to enable FIFO in Propel Builder UART IP, regenerate, and recompile your design. The Hello World template does not enable it by default.


Printf result after enable UART FIFO. 








Exception caught: mcause=5 ,mepc=430, sp=1940 

load access fault 




This issue is scheduled to be fixed in a future release version of Lattice Propel.