Forum Discussion
Altera_Forum
Honored Contributor
14 years agoaltremote_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.
15 Replies
- Altera_Forum
Honored 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
Honored 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
Honored 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
Honored 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
Honored 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.