Skip to content

Using Local Interrupts #142

Jul 19, 2022 · 3 comments · 6 replies
Discussion options

You must be logged in to vote

It turns out that, the RISC-V/64-bit/SoftConsole FreeRTOS port in the distro examples pre-empts the mpfs-hal's trap_from_machine_mode() function and the preprocessor setting 'portasmHANDLE_INTERRUPT=handle_m_ext_interrupt' directs FreeRTOS to invoke PLIC-based IRQ handling; so an application must use a PLIC-based approach to IRQ handling when running under this particular RISC-V FreeRTOS port.

Also, when using the PLIC, we found that an F2M_IRQ signal should be cleared (de-asserted) from within the PLIC-based ISR() and return EXT_IRQ_KEEP_ENABLED rather than using EXT_IRQ_DISABLE and then having the application re-enable the IRQ after taking some action. This is due to some 'latency' in t…

Replies: 3 comments 6 replies

Comment options

You must be logged in to vote
1 reply
@JV73
Comment options

Comment options

You must be logged in to vote
5 replies
@JV73
Comment options

@JV73
Comment options

@JV73
Comment options

@hughbreslin
Comment options

@JV73
Comment options

Comment options

You must be logged in to vote
0 replies
Answer selected by JV73
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants