Hi,
In E300 reference manual(SiFive-E300-platform-reference-manual-v1.0.1), it said that FreeRTOS is support. Where can I find the reference code for Hifive 1? Thanks a lot for your help.
Thanks,
Sam Yuan
Hi,
In E300 reference manual(SiFive-E300-platform-reference-manual-v1.0.1), it said that FreeRTOS is support. Where can I find the reference code for Hifive 1? Thanks a lot for your help.
Thanks,
Sam Yuan
Hi Sam,
Check under the freedom-e-sdk. I think you will find what you need there:
freedom-e-sdk\openocd\src\rtos
Thanks a lot for your guide, Donnie. I will check it.
Thanks,
Sam Yuan
I believe the folder in Donnie’s reply is just for OpenOCD FreeRTOS support so that the debugger knows how to handle the OS. It doesn’t actually contain RISC-V or E300 specific ports of FreeRTOS.
There is a user port of the OS to RISC-V in the FreeRTOS forums here.
I’m guessing it needs porting to work on the HiFive board. The linker script at the very least. I’m planning to poke around with it now that I have a board.
Is there any required built-in memory size in order to support freeRTOS?
Hi Philip,
The amount of memory required by FreeRTOS is going to be dependent on your application. The more tasks, mailboxes, etc…, the higher the memory requirements. You can also config the amount of memory FreeRTOS allocates per task via the configuration file: FreeRTOSConfig.h
So 16 KB has enough left over after the OS loads to do something useful?
Depending on what you set your task stack size to, 16KB should give you enough room for a few tasks.
Hi Ijliao,
The original reference in the manual was a mistake, nevertheless it is something that we intend to have in the future.