Forum Discussion

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

altremote_update - application image mode

Hi,

I know there are plenty of threads on this subject, I did read them but I am still confuse. I am using a Cyclone III EP3C10F256C8 FPGA and ECPS16.

My intention is to upload the firmware image to an upper region (offset 0x80000 - 1/4th of the flash size) and boot from here, without copying the data to the 0x000000 offset.

---# 1 ---

While reading the documentation(s) of the altremote_ug, I got headaches.

  • the altremote_ug specifies page value (param 4) as the page number (0-15 for EPCS16).

  • an521 specifies the value of this param as the address/4.

Which would be the correct one?

---# 2 ---

If for example I would copy the data from address 0x000.. (as written by the Quartus programmer) to another flash offset, the same image should be bootable from the new offset as well, right?

---# 3 ---

how can I find out what problem the core had while trying to reconfigure?

Thanks for the help!

15 Replies

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

    The altremote_update user guide is somewhat confusing because it mixes up features of different devices. You have to read it thoroughly in order to get the correct information.

    Moreover, the tricky method Altera devised to access registers, doesn't help.

    After you overcome these difficulties, the core works greatly.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    If I understand correctly, altremote_update core only preserves the following information across reconfiguration:

    - cause of reconfiguration

    - status of 2 previous application configurations (only CIII and Stratix III)

    - reconfiguration page address (other than CIII and Stratix III)

    On Cyclone III and Stratix III devices altremote_update core uses a boot address register in order to specify reconfiguration data location and you set it with the 'discard 2 lsb' procedure.

    All other devices use the page mode and you can only select pages 000 to 111 binary.

    --- Quote End ---

    Great! That's I wanted to hear:

    * for my case it's boot address and not page select (Cyclone III).

    * I can read the precedent configuration information after succesful/failed reconfiguration.

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

    --- Quote Start ---

    Does the altremote_update core also get reseted during reconfiguration? Can I read the precedent values once the new firmware(intended or factory) is loaded?

    --- Quote End ---

    If I understand correctly, altremote_update core only preserves the following information across reconfiguration:

    - cause of reconfiguration

    - status of 2 previous application configurations (only CIII and Stratix III)

    - reconfiguration page address (other than CIII and Stratix III)

    On Cyclone III and Stratix III devices altremote_update core uses a boot address register in order to specify reconfiguration data location and you set it with the 'discard 2 lsb' procedure.

    All other devices use the page mode and you can only select pages 000 to 111 binary.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    thanks for the reply.

    --- Quote Start ---

    1) Param 4 is the boot address (cannot find reference to addr/4 in AN521, see table 4).

    --- Quote End ---

    "Address to be written to the ALTREMOTE_UPDATE megafunction is obtained by truncating 2 LSB bits from the word address of the start address. The example below shows truncating 2 LSB bits from 0x70000h which results in 0x1C000h. ". AN521, Figure 5

    The altremote_update ug refers to this parameter as page number (0-15)...

    --- Quote Start ---

    3) You may read the altremote_update registers or perhaps use signaltap?

    --- Quote End ---

    The problem is that once reconfiguration is started SignalTap cannot be used, because "the instance cannot be found".

    Does the altremote_update core also get reseted during reconfiguration? Can I read the precedent values once the new firmware(intended or factory) is loaded?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    1) Param 4 is the boot address (cannot find reference to addr/4 in AN521, see table 4).

    2) The image will be bootable if moved from 0x0000 to your new boot address. Unless you have a Nios processor with software for the image. In that case you would have to modify the nios bootloader. (Its just changing an address)

    3) You may read the altremote_update registers or perhaps use signaltap?

    Note that reading the registers of altremote_update for Cyclone III and IV is a bit confusing. The parameters are available at different read_source settings. See table 4 of AN521.