This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

how to monitor Keil's middleware threads for safety critical systems

Hello,

For a safety critical system, I would like to monitor all my threads to identify infinity loops. If an infinity loop is detected a system reset should be performed.
I am going to use signals for this purpose. When a signal is missing for a specific time, an infinity loop will be detected and a system reset could be performed.

Is my approach also possible with threads created by Keil's USB and Ethernet middleware?

Thanks for replies

Parents
  • Hello Per Westermark

    I agree. A supervisor thread checking counter variables or signals served by other threads does not reliably detect starvation in all cases.

    But if using a watchdog to improve the system fault tolerance, the watchdog should monitor the threads created by the middleware, too.

    Example: There are several loops which potentially do not exit in the USB driver implementation for STM32F4 devices (USBD_FS_STM32F4xx.c). Maybe I trust the USB stack which have been tested by Keil so far, but I am worried about the device specific implementations.

Reply
  • Hello Per Westermark

    I agree. A supervisor thread checking counter variables or signals served by other threads does not reliably detect starvation in all cases.

    But if using a watchdog to improve the system fault tolerance, the watchdog should monitor the threads created by the middleware, too.

    Example: There are several loops which potentially do not exit in the USB driver implementation for STM32F4 devices (USBD_FS_STM32F4xx.c). Maybe I trust the USB stack which have been tested by Keil so far, but I am worried about the device specific implementations.

Children
No data