Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
All support for Intel NUC 7 - 13 systems has transitioned to ASUS. Read latest update.
20561 Discussions

Issue creating programming files

VNevř
Beginner
791 Views

For my device i am utulizing the Remote Update IP and I am storing 2 images in an EPCQ device. The FPGA takes care of firmware update which consists (as of now) of a bitstream being sent via serial and stored in the EPCQ device. The most simple way you can do it.

 

I am having problem generating the bitstreams though. Until now I have been always generating a whole pof file with the "factory" configuration at the beginning followed by the application and then ripping out the application part in a hexeditor. This works without an issue. When I omit the factory part and leave just the app image in the pof, it works as well. As soon as I touch the flash with the programming utility supplied by quartus, when booting to the app image, I get a CRC error in the status register.

 

Any ideas how to debug this and possible way to reliably generate programming files for this application? I have a gut feeling some Altera/Intel binary format checksum tomfoolery is at play here.

0 Kudos
4 Replies
Ahmed_H_Intel1
Employee
561 Views

Hi,

Do you mean the "NIOS II Flash programmer" utility?

If yes, I apologize for not supporting this utility and I encouraging you to use .Jic formatting

If not please elaborate more with sharing the error message.

Regards,

 

0 Kudos
VNevř
Beginner
561 Views

No, I am not talking about the NIOS II at all.

 

by "not working", I meant the FPGA not being able to load using Remote Update IP.

 

Let me try saying what we are trying to do.

We are trying to store 2 different FPGA configurations in an EPCQ device (lets call them factory (0x0-0x420000) and application (0x420000-0x840000)). After applying power, the FPGA loads the initial config and can reconfigure using Remote Update IP.

When uploading the WHOLE flash image using programming tool provided in Quartus, everuthing is seamless.

 

Next we are trying to realize an update feature for the whole device. As of now, this consisted of rewriting the second configuration (application) in the EPCQ using the user logic (recieved via UART, sent from pc , written using ASMI parallel interface IP).

Our requirement is to use user logic and not JTAG for this as we want to supply the updates without any special hardware. I am looking for a way to generate the application binary data (data for the memory region 0x420000-0x840000) from the .sof file provided by Quartus or any other suggestion on how to achieve this feature.

 

0 Kudos
VNevř
Beginner
561 Views

And as the CRC error I meant Bit 1 in the Remote Update IP register at address 0 being set to 1.

0 Kudos
Ahmed_H_Intel1
Employee
561 Views

Can you please show us the error message?

0 Kudos
Reply