Hello,
My question is fairly specific to our use case so I will try to explain it in detail but please feel free to ask any follow-up questions.
At present, most of our application runs through a single dialog (will be referred to as the Main Dialog) which presents and dismisses sub dialogs as needed. To improve run-time performance, I had created two variables in this Main Dialog to hold two of our larger Sub-dialogs. The current implementation of our GUI will populate these variables as part of the boot sequence, which does create a noticeable increase in the boot time, but calls these dialogs essentially instantly when the user requests them during runtime. I had assumed this to be clever way to circumvent long loading times for larger dialogs at runtime, however we have now run into an issue. Our GUI is running on an iMX RT1062 Cortex-M7 in a bare-metal configuration, and after long running sessions the system will seem to fault. This causes what is effectively a crash, the display goes black and the MCU is unresponsive. Removing these Pre-loaded dialogs/variables seems to cause the issue go away. Even more bizarre is that this crash can happen after 6 hours of runtime, or even after 3-4 days. We recently had a system crash after 10 minutes. This crash occurs even if the system is turned on and not interacted with. We have booted and system and left it untouched for 3 days and seen a crash. These pre-loaded dialogs are never presented or dismissed. Is it possible there is a memory issue? Is this type of implementation known to cause a problem? We have handlers for the various IMXRT faults as well as a watchdog peripheral all of which will software reset when an interrupt is called, however a software reset does not occur and no debug information is sent out of our console. Based on our research, this would imply some kind of CPU fault, which occurs before these interrupts can be serviced. Is there anyway the GUI code could cause such a fault?
I would appreciate any support on this, I know this is a very specific use case.
Thank you,
Liam