openhwgroup / core-v-freertos

4 stars 3 forks source link

Can this FreeRTOS port also be used for CV32E40S? #3

Open ChristianLarmann opened 5 months ago

ChristianLarmann commented 5 months ago

This project provides FreeRTOS for the core-v-mcu, which incorporates the CV32E40P. I want to run FreeRTOS on the E40S now. Is this compatible and if not, what has to be adapted?

For example, I have seen for the RI5CY core six additional registers have to be stored for each task (lpstart0, lpend0, lpcount0...). Therefore, it would be good to know if something similar during the context switches must be considered for the E40S.

DBees commented 5 months ago

@n9wxu @promodkumar-ashling Could you please give guidance to @ChristianLarmann for how to adapt FreeRTOS for an E40 core that has additional registers?

n9wxu commented 5 months ago

The risc-v port is designed to support extensions. Take a look at the gcc/risc-v/chip_specific_extensions Joseph JulicherOn Feb 14, 2024, at 7:34 PM, DBees @.***> wrote: @n9wxu @promodkumar-ashling Could you please give guidance to @ChristianLarmann for how to adapt FreeRTOS for an E40 core that has additional registers?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

ChristianLarmann commented 5 months ago

Yes, there are multiple extensions available but to me it is not clear which one I should use as the CV32E40S has the CORE-V instruction set extension as the E40P but also the XSecure extension. Do I need to take the RV32I_CLINT_no_extensions one and adapt it if necessary?