FreeRTOS Threads making controller RESET

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

cross mob
Anonymous
Not applicable

Hello All,

We are working on FreeRTOS Related project.

Configurations:

WICED sdk 3.5.2

FreeRTOS version 8.2.1

We are using in built code of "config_mode" Application which is running Fine.

Now we have made change regarding thread create:

we have created two threads and two function for same.

Priority are 4 and 5

Problem : when we run code with FreeRTOS , it first run higher priority task then lower one.but after some time automatically reset is happening (30 seconds nearly).

If i remove thread creation , then no reset is there.

so why application is getting reset with freeRTOS???Is there any priority related issue?I have changed Priority to 9,9 respectively.But still RESET is happening.

This problem is not faced with "ThreadX" RTOS.

1 Solution
Anonymous
Not applicable

Exactly, you need to disable the watchdog reset in the application. The watchdog will trip only when the threads other than the main thread got truck or idle. For main thread we are rebooting by checking the delay/idle time. Tripping of watchdog when the threads are idle is only to eliminate the dead lock condition.

You can disable the watchdog timer by using

GLOBAL_DEFINES += WICED_DISABLE_WATCHDOG

View solution in original post

5 Replies
DaBa_2244756
Level 5
Level 5
25 likes received 10 likes received 10 likes given

Hi.

It looks that watchdog enabled.

Maybe try in project make file add:

GLOBAL_DEFINES += WICED_DISABLE_WATCHDOG

and look what happening.

BR

Darius

0 Likes
Anonymous
Not applicable

Exactly, you need to disable the watchdog reset in the application. The watchdog will trip only when the threads other than the main thread got truck or idle. For main thread we are rebooting by checking the delay/idle time. Tripping of watchdog when the threads are idle is only to eliminate the dead lock condition.

You can disable the watchdog timer by using

GLOBAL_DEFINES += WICED_DISABLE_WATCHDOG

Anonymous
Not applicable

But if I will disable watchdog, then how my system will be in safe state??I need to put that type of functionality manually??

0 Likes
Anonymous
Not applicable

Watchdog reset is enabled by default. You can change the duration and make the app sleep for longer time. Please use the following global definition for doing the same

>> GLOBAL_DEFINES += APPLICATION_WATCHDOG_TIMEOUT_SECONDS=<time in seconds>

the app is able to sleep for longer duration which is equal to the time in seconds specified above.

rash wrote:

Watchdog reset is enabled by default. You can change the duration and make the app sleep for longer time. Please use the following global definition for doing the same  >> GLOBAL_DEFINES +=…

This does not explain why the problem is not faced with "ThreadX" RTOS in original post.

0 Likes