Forum Discussion
Hello,
I am sorry, if you want to Remote Update external flash/QSPI content, up to now no solution provided to perform the image update for external flash. This is because QSPI programming will take very long time to complete(expect 10-20mins top depending on QSPI storage capacity). It will consist of erase, program and verify process.
The QSPI programming/update can be done with Quartus programmer working with GFSI (Generic Serial Flash Interface) IP and Avalon MM. But this method cannot be done without connecting the QSPI flash to host PC/laptop (where the Quartus Programmer run) via JTAG interface.
regards,
Farabi
- Jacob113 years ago
Occasional Contributor
Thank you, that is what I assumed, but I wanted to confirm that I wasn't missing something.
Most of our customers don't actually have a blaster/programming cable for the MAX10 so updating the firmware in the traditional way is not possible for them. That is how I do it in my own lab, but I need another solution with a basic protocol that everyone can use.
I have managed to make a solution using the UART RS-232 interface in Nios and a custom python script. Basically the UART does nothing until the start bit is sent from python over the UART. Then the ISR reads the incoming data word and copies it to the proper memory location until EOF is rcvd.
in python 3 you can do something like
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=0.5) to open the serial connection and
data=firmware_file.read()
ser.write(data) writes data over the serial connection
Loop this through the entire firmware.bin file until EOF.
So far this is working, but needs a lot more testing before I am comfortable sending it out to customers.
Thanks anyway.
Jacob