Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Hard fault on Tiva after running UpdateEMAC() #149

Open
vthakur7f opened this issue Oct 4, 2018 · 0 comments
Open

Bug: Hard fault on Tiva after running UpdateEMAC() #149

vthakur7f opened this issue Oct 4, 2018 · 0 comments

Comments

@vthakur7f
Copy link
Collaborator

Product: (OC-SDR, OC-LTE, OC-LTE, OC-Power, others)

OC-SDR

Category: (Hardware, Software/stack, Firmware/bootloader, Documentation)

Firmware/OCWare
Describe the issue found
There's an interesting hard fault that occurs after running UpdateEMAC(). It seems that the issue is related to the system reset that occurs after the update completes. It is also very timing sensitive - you have to perform the update at just the right time (for some reason it manifests itself more frequently in the rev-c-master branch).

Unfortunately, the CCS tools are mostly useless for pinning down this bug. It's not clear to me how UpdateEMAC() resets the system, so it's possible that it's not a complete system reset, but that would be quite strange. My guess is that some interrupt doesn't get cleared up after the reset, triggers, and then wreaks havoc on the system (seems that some critical areas get overwritten). I hope that it's simply that some peripheral isn't getting cleaned up on reset instead of our code not respecting memory boundaries.

The good news is that a simple SysCtlReset() seems to fix it all up, so it's not super severe at this moment.

Please provide all necessary steps to reproduce the issue
Build Rev_C_Changes (fa51bd4)
With board off or Tiva held in reset by debugger, start EMAC update in LM Flash Programmer
Run Tiva - update will begin shortly after initializing the external battery charge controller
Update will complete (debug logs will restart with the "OPENCELLULAR" splash)
Code should fail at some point during this execution

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant