Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
BaT_3785171
Level 2
Level 2
First like given

I have a code which is having custom_RTOS and is working fine.
I retained custom_RTOS apis as is and internally called FreeRTOS  apis.
I integrated WICED wi-fi stack into this code.
As per my understanding WICED wi-fi apis also make use of FreeRTOS  apis.
Application is written using custom_RTOS apis and WICED wi-fi apis.

My question is:
custom_RTOS apis and WICED wi-fi apis are calling FreeRTOS  apis.
Does it cause any issues ?

0 Likes
1 Solution
PriyaM_16
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Hello,

The supported RTOS in WICED are ThreadX and FreeRTOS. The file WICED/RTOS/wiced_rtos_common.c is a layer of abstarction for the application layer to call APIs of different RTOS.

Say when the application calls wiced_rtos_get_semaphore, which calls host_rtos_get_semaphore.

This host_rtos_get_semaphore has implementation in both: FreeRTOS nad ThreadX RTOS. Depending upon the flag used during compiling the application, the RTOS is chosen and accrodignly the APIs are linked.

Default OS-NS(network stack) combination in WICED is ThreadX-NetX_Duo. If the make target contains (-FreeRTOS-LwIP) flag, the application uses FreeRTOS and LwIP network stack.

Is your custom_RTOS using the FreeRTOS APIs? It appears that the RTOS used is FreeRTOS and custom_RTOS is a level of abstraction.

Please feel free to correct me if I have mis-interpreted/misunderstood the setup.

View solution in original post

0 Likes
3 Replies
PriyaM_16
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Hello,

The supported RTOS in WICED are ThreadX and FreeRTOS. The file WICED/RTOS/wiced_rtos_common.c is a layer of abstarction for the application layer to call APIs of different RTOS.

Say when the application calls wiced_rtos_get_semaphore, which calls host_rtos_get_semaphore.

This host_rtos_get_semaphore has implementation in both: FreeRTOS nad ThreadX RTOS. Depending upon the flag used during compiling the application, the RTOS is chosen and accrodignly the APIs are linked.

Default OS-NS(network stack) combination in WICED is ThreadX-NetX_Duo. If the make target contains (-FreeRTOS-LwIP) flag, the application uses FreeRTOS and LwIP network stack.

Is your custom_RTOS using the FreeRTOS APIs? It appears that the RTOS used is FreeRTOS and custom_RTOS is a level of abstraction.

Please feel free to correct me if I have mis-interpreted/misunderstood the setup.

0 Likes

Is your custom_RTOS using the FreeRTOS APIs?

Yes

It appears that the RTOS used is FreeRTOS and custom_RTOS is a level of abstraction.

Yes

My question is:

Application which i write makes use of both custom_RTOS apis and wiced  apis.

Does it cause any issues?

0 Likes

No Sir.If it is another level of abstraction, it should not cause any issues

0 Likes