This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Reading the Factory Information Resistors when device is in hard fault

Hi,

We have made a custom board using the NRF52832 chip. The device is in hard fault mode and we believe it may be because of the corruption in internal memory. We wanted to check whether the Factory information resistors can still be read and they have the right values. Is it possible to read these resistors if the device is in hard fault state. Is there some other way where we can check if the memory is corrupted or not?

  • You meant registers right? Should be do-a-ble, like reading the user/factory info config registers.

  • You can read anything you like in hardfault. In fact you can execute any code you want totally as long as it doesn't require an interrupt or move to an execution level outside hardfault. You could mine bitcoin from hardfault if you wanted.

    So yes you can read the FICR and the UICR and memory and peripherals and any other thing you want.

    Your suggestion however that you have a hardfault because of corruption in memory and that even if you did you could debug it by reading the FICR is just fanciful and 99.999999% entirely wrong. If you have a hardfault, use the registers, find the stack, find out where you were executing code and work backwards. There are numerous tutorials for actually debugging hardfaults in ARM processors on the web, it takes work, but it's better than just making unlikely guesses.

  • There's one thing you cannot do during the hardfault: to discover the soft truth :)

  • Thanks RK for your answer. As I mentioned in the other question as well, I am just toggling a GPIO pin and even that is giving a hard fault. Would the approach you mentioned still work in this case?

Related