We need help understanding what the values in the registers after a hard fault mean

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
lmccracken
Offline
Last seen:3 years 7 months ago
加入:2014-10-13 17:43
We need help understanding what the values in the registers after a hard fault mean

Our application runs out of DA14580 RAM (no OTP used). We have a debugger set up to find an issue, the application is getting locked up after running for a period of time. We were able to catch the hard fault and have reviewed the values in the memory at 0x81800 but as we are new to the dialog part, we are not sure what that actually tells us. It looks like we are addressing memory that we shouldn't be addressing. I'm attaching a picture of the memory at 0x00081800 that should contain the last settings of the registers. Some of the memory address seem correct but some do not.

Any ideas on what these values mean in relationship with a hardware fault would be appreciated.

Device:
MT_dialog
Offline
Last seen:2 months 6 days ago
工作人员
加入:2015-06-08 11:34
Hi imccracken,

Hi imccracken,

Regarding what the stored values in that specific address mean, you can have a look at the UM-B-051.pdf at section 7.2.5.2. The memory location that PC seems to point at is 0x222C4 and its an address that corresponds to the ROM code, you will have to check what causes that to the application you are developing, apparently you are doing something in application level that causes this hardfault to occur. Since the ROM code is not available you will have to check the state of the device, what the device is doing at that particular moment and what incident causes the crash, and check if something goes wrong, a weird packet on the air etc.

Thaks MT_dialog