FreeRTOS works fine alone, LwIP also works fine alone. When I put them both together the system crashes into a data entry exception handler.
Does someone knows something about it or have already ran into the same issue?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
FreeRTOS works fine alone, LwIP also works fine alone. When I put them both together the system crashes into a data entry exception handler.
Does someone knows something about it or have already ran into the same issue?
Hi Pedro,
I want to make sure that you are getting a data abort. Can you place a breakpoint at the data abort entry which is at address 0x10? If you are truly getting a data abort then the status register is saying that you have a MPU background fault. A background fault is generated when the MPU is enabled and a memory access is made to an address that is not within an enabled subregion of an MPU region. Looking at the data fault address register the value shows 0x04E58D1C. This is an illegal address region. You might want to setup a watchpoint such that when CPU accesses address 0x04E58D1C then it will halt to understand what is going on. Also check the ESM module to see if any flags are set.
Ok, using a breakpoint on position 0x10 I've got the data abort. So yes, that's the problem. Adding a watchpoint into the position I passed to you I did not get any break, looking a little bit more I realized that the data fault address register changes on each execution. So this means that The code does not abort allways on the same time, I can also see that while debugging, when my prints are executed different times before crashes.
Do you have any other tip?
Thank you