This wiki page is dedicated towards users that are using the Intel Generic Serial Flash controller with EPCQ flash or other flash and are looking to erase the entire flash and protect blocks of memory. There are some example designs, but none seemed to adequately cover erasing parts of the flash or the entire flash. Similarly, no examples were found to do block protection or protect the entire flash.
This example was created using Cyclone V, EPCQ256, and the Intel Generic Serial Flash controller. The example was compiled and programmed to a TerASIC Cyclone V development kit and then proven using System Console. The example should allow for embedded developers to leverage the sequence of read and write commands using system console into their NIOSII or other CPU complex.
The following qar file contains the design example which was compiled and archived using Quartus version 18.1 build 625.
Intel Generic Flash Erase Protect.qar - see attached at the bottom of this article
The example design contains a Platform Designer (Qsys) design that looks as follows:
The design uses a known good external clock running at 50Mhz on the TerASIC Cyclone V board at PIN_R20.
This example runs on the TerasIC Cyclone V GX Starter board.
Community support is provided during standard business hours (Monday to Friday 7AM - 5PM PST). Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.