I was hoping to call uxTaskGetSystemState() from my stack overflow and hard fault functions, but I get a configAssert(). Near the bottom of uxTaskGetSystemState(), there is a call to xTaskResumeAll(), and taskENTER_CRITICAL() calls vPortEnterCritical(), which asserts because we are in an interrupt context. uxTaskGetSystemState() is a great function! I was hoping to use it for more troubleshooting information when I had a fault or bug. Thanks for any help! FreeRTOS 8.2.3 Atmel SAM4S from IAR. -Chuck Heller
As you are using IAR you can get similar information from the FreeRTOS plugin that is included in the tool as standard. Look at the projects debug options to enable.
Thanks, yes, we use those tools in IAR, but we also would like the information from any field units that are giving us trouble, and so IAR would not always be available. -Chuck Heller
The assert is correct, it is not good to call that from an interrupt, but in your case it has crashed already (you are not trying to return from the fault handler, just print diagnostic information), so it would be ok to remove the assert, or ignore it. Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.