Libmetal, OpenAMP, FreeRTOS combination #199
-
I am working on application, which combines libmetal, OpenAMP and FreeRTOS to run on a Risc-V processor. My initial thought process was
I realized this might be flawed, as I suspect there is some overlap between RTOS and libmetal (memory allocations, management). I noticed there are some FreeRTOS cmake files in libmetal. Files such as lib/system/freertos/mutex.h have includes for FreeRTOS.h. So I seem to be going in circles. I noticed a Raspberry PI repository, which combines FreeRTOS, OpenAMP and libmetal, however the code sidesteps the issue by removing the FreeRTOS.h header files, and implementing everything based on metal/atomic.h At the moment, I am looking at building a ad-hoc system for combining the 3 modules. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
libmetal is an abstraction layer, based on the underlying operating system, so you will need to compile libmetal for FreeRTOS.
You will also have to compile OpenAMP for FreeRTOS. I don't recall whether the Risc-V support in libmetal has been tested with FreeRTOS, so there may be some excitement here.
There shouldn't be overlaps, libmetal should use the underlying OS facilities, if any. This might be a side effect of building libmetal for bare metal instead of FreeRTOS.
Yes, you do need to build libmetal for FreeRTOS, not bare metal.
Please try building libmetal and OpenAMP for FreeRTOS. Ad-hoc approaches frequently become "add hack" approaches. |
Beta Was this translation helpful? Give feedback.
-
Thanks, for the response, very logical. I will look to try and get a FreeRTOS build up and running. |
Beta Was this translation helpful? Give feedback.
Thanks, for the response, very logical.
I will look to try and get a FreeRTOS build up and running.