I have a large (counting libraries, > 400K lines) application that now crashes every few days. I have a clue as to what is going on, but I don't know how to interpret the clue. I wonder if it will ring a bell with anyone else.
What I see is that the app has tried to reboot, as if power had been cycled, but its initialization code freezes when SD.begin(BUILTIN_SDCARD) returns false. If I then manually power-cycle the system, it reboots normally. In other words, the failure seems to leave the uSD hardware in a state from which SD.begin cannot reset it, but power-cycling can.
What I see is that the app has tried to reboot, as if power had been cycled, but its initialization code freezes when SD.begin(BUILTIN_SDCARD) returns false. If I then manually power-cycle the system, it reboots normally. In other words, the failure seems to leave the uSD hardware in a state from which SD.begin cannot reset it, but power-cycling can.
- Does this story sound familiar to anyone, suggesting what might be happening?
- Is there a way to reset the uSD system from whatever strange state it might be in, stronger than SD.begin?