Altera_Forum
Honored Contributor
9 years agoCyclone III + EPCS4 + UART remote upgrade
Hi ALL, I have a custom logic design in a Cyclone III FPGA (EP3C10). The configuration is stored in a EPCS4 configuration device and I am using AS scheme to configure the FPGA at factory. Also, there's a MCU that talks to the FPGA on an UART port (currently unused). I need to implement field upgrade function so that I can upgrade the FPGA firmware in the EPCS4 configuration device and trigger a re-configuration so the FPGA will run the new firmware.
I've been trying to find some documentation or examples on the Internet. I found this example (http://www.grigaitis.eu/?p=514) is similar to what I want to do. Following the example with my very limited understanding of Qsys (I am very new to the Qsys thing), I should have the following: 1). Nios II processor 2). On-chip Memory (for the Nios II processor) 3). Remote Update Controller (Cyclone III) 4). EPCS Flash Controller 5). JTAG UART After generate from Qsys (see Qsys.jpg), I incorporate this into the FPGA design in Quartus II (see Quartus II.jpg). I then compile the design (see Quartus II Compilation.jpg) and follow my usual routine of convert the programming file into a .jic file and load the EPCS4 with this file. Then the example is asking me to create the "NIOS software to handle second Image configuration stream and write it to required EPCS address". This is where I get stuck. I understand that NIOS needs its own software to run and its sole functionality is to handle the UART communication when there's a download of new FPGA image and write it to the EPCS4 device and trigger the FPGA to re-configure. So question# 1) where is the NIOS store its own little program? Is it on the same EPCS4 device? If so, is it gonna have conflict with the FPGA firmware that's already on there? Sorry, for asking dumb question, but I am very inexperience with this. Also if anyone has other more detailed (step-by-step) guide to archive the remote update documentation or examples, please share with me as well. Thanks a lot!