Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

Remote Update with NIOS and EPCS

Hello,

Currenty I'm working on a Cyclone III to try Remote Update work. I've searched for a lot of information but couldn't find specifiek how to work. I'm trying to work with the altremote_update function and to access that block from NIOS with some PIO's defined in SOPC. With this method I can trigger the reconfiguration but now I want some data back from the data_out. But when I try that with an Input PIO to connect from the altremote_update function and read that from NIOS with this code:

IORD_ALTERA_AVALON_PIO_DATA(REMOTE_DATA_BASE)

When I try this the application crashed, so I'm wondering what am I doing wrong and is the way that I'm working correct?

Another problem is that I can't read the EPCS, I've defined the controller in SOPC and did all the pins in Quartus. But when I try to access the EPCS with this code

fd = alt_flash_open_dev(EPCS_FLASH_CONTROLLER_NAME);

Then fd is empty, so that will tell me that I can't access the EPCS, is that possible because I haven't yet got a licence? (The licence will arrive next week)

Thanks a lot!

11 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Have you tried using the Remote Update Controller component instead of PIO and altremote_update?

    I have never tried the PIO approach. Using the Remote Update Controller component, I have not had any problems reading or writing to the controller.

    I have also never used the EPCS controller, so I probably can't be of much help there. My best guess would be an incorrect setting in your system library.

    In the system where I got Remote Update working, I did not use the EPCS controller as it forces you to have a boot room in block RAM. As all my code was already stored in block RAM, this extra boot ROM was a waste. Instead, I made my own custom SPI component and wrote a few simple C functions to read and write the EPCS memory.