2021-03-06 06:57 PM
I recently learned to use FreeRTOS on STM32F7. The program runs for a certain period of time and then enters HardFault_Handler. The time is variable.The fault analyzer is reporting an error as "FORCED" and "PrecisErr".
There are 6 threads in the project.Print time per second in thread A;Thread B is responsible for sending commands from USART1.Thread C receives data from USART1 and sends data to Thread D, Thread E, and Thread F via the queue.Thread D is responsible for obtaining the data sent by C through the queue, and sending the result to thread F through the queue after data processing.Thread E is responsible for saving the received data to the SD card;Thread F is responsible for sending the received data through usart2.Where the thread priority from large to small is C=E>D>F>B>A.The stack space used by each thread is set at around 10*1024.
The attached picture is the situation of each thread captured during the program running, among which the thread G was not created by me, but was created after the program was generated by STM32CubeIDE, and the thread name was also garbled, I wonder what the situation was, the death chance could not be caused by G?
This problem does not have any clue, come to ask for help each big guy specially!