Remote Update IP - How to Debug Reconfiguration Issues
System:
- Cyclone IV
- NIOS II Soft Core Processor
- EPCQ128 A used for holding fabric images
- Programming file = .rpd (each byte bit swapped before writing to flash per documentation)
So in our system, we have an EPCQ128 A which houses 3 images. A factory image, and two application images which live at 0x600000 and 0xB00000 offsets respectively.
I am able to talk with the Remote Update IP effectively. I can trigger a reconfiguration event (which fails), change the boot address and read the status registers. However, any reconfiguration event fails, and falls back to the default (factory) image. When this happens, I read the RU_RECONFIG_TRIGGER_CONDITIONS register, I get a value of 0x4 which indicates "Bit 2—nstatus_source: nSTATUS asserted by an external device as the result of an error"
There is no further description of this error, and I'm not sure how to debug this. What exactly does this error mean, and how do I go about resolving it?
Am I using the wrong programming file? (Some documentation says .rpd others say .rbf)
Things to note about the final .rpd that worked
- Little Endian
- Bit Reversal handled in embedded code
- Generated pointing to EPCQ128 in the 'Convert Programming File' tool
- Active Serial (not x4, just normal)