Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20687 Discussions

Delete some sectors via ASP programming from jic file

Altera_Forum
Honored Contributor II
1,507 Views

Hi, 

 

we have a Cyclone IV design that is loaded from an SPI flash in ASP mode. To program the flash we use 

Quartus programmer and a jic file. This all works fine. 

 

At some offset in the flash we have an alternative bitstream image that is updated from our 

application and we use ALT_REMOTE_UPDATE ip to switch between the initial and the application bitstream. 

 

Now I noticed that the quartus programmer only updates the first image when I use the erase and programming function. 

I did not find a way to at least erase the 2nd image in flash. I tried adding a hex file to the jic file that should be flash over the second image. 

This hex file contains all 0xff (erase flash). But the programmer does not write this to SPI flash. I my hex file contains 

some bytes != 0xff they will be programmed but again only the flash pages that contain these bytes are touched. 

 

Is there any way to create a jic file that erases (write 0xff) to some flash regions? 

 

This is my current cof file to create the jic file: 

 

<?xml version="1.0" encoding="US-ASCII" standalone="yes"?> 

<cof> 

<eprom_name>EPCQ32</eprom_name> 

<flash_loader_device>EP4CE10</flash_loader_device> 

<output_filename>output_files/test.jic</output_filename> 

<n_pages>1</n_pages> 

<width>1</width> 

<mode>7</mode> 

<sof_data> 

<user_name>Page_0</user_name> 

<page_flags>1</page_flags> 

<bit0> 

<sof_filename>output_files/test.sof</sof_filename>  

</bit0> 

</sof_data> 

<hex_block> 

<hex_filename>all_ff.hex</hex_filename> 

<hex_addressing>relative</hex_addressing> 

<hex_offset>524288</hex_offset> 

<hex_little_endian>0</hex_little_endian> 

</hex_block>  

<version>10</version> 

<create_cvp_file>0</create_cvp_file> 

<create_hps_iocsr>0</create_hps_iocsr> 

<auto_create_rpd>1</auto_create_rpd> 

<rpd_little_endian>0</rpd_little_endian> 

<options> 

<map_file>1</map_file> 

</options> 

<advanced_options> 

<ignore_epcs_id_check>2</ignore_epcs_id_check> 

<ignore_condone_check>2</ignore_condone_check> 

<plc_adjustment>0</plc_adjustment> 

<post_chain_bitstream_pad_bytes>-1</post_chain_bitstream_pad_bytes> 

<post_device_bitstream_pad_bytes>-1</post_device_bitstream_pad_bytes> 

<bitslice_pre_padding>1</bitslice_pre_padding> 

</advanced_options> 

</cof> 

 

Regards, 

Matthias
0 Kudos
0 Replies
Reply