Forum Discussion

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

Configuration layout of EPCS ?

Hi, this is my first post here ....:oops:

I would like to understand the layout of the data stored in the EPCS configuration flash.

I cannot find clear information in the documentation. The doc "Advanced Boot Copier Example" helps because it states that the nios software image (boot record) has following layout:

4 bytes : length of data

4 bytes : destination of data

But what is the format of the fpga hardware configuration ?

Looking at the EPCS bootloader source code i understand that the first 4 bytes (at the flash address 0x00) are 0x56565656 , the following 4 bytes are not relevant, and the next 4 bytes are the length of the hardware configuration. But reading my EPCS at 0x00 gives:

0x56565656 0xFFFF0F6C 0xFFFFBFEE

so 0xFFFFBFEE cannot be the length of the configuration ?!?!?!?

Also the before mentioned document states that there is a signature "0xa5a5a5a5" which i cannot find anywhere....

I simply want to calculate where the hardware configuration ends in the EPCS :(

Someone can help ? Any documents which explain the layout of the epcs clearly ?

1 Reply

  • beyondTime's avatar
    beyondTime
    Icon for New Contributor rankNew Contributor

    Hello,

    maybe it helps re-reading epcs eeprom content and analyzing for 'non code' areas or 'pattern filled' areas (on linux).

    nios2-flash-programmer '--cable=USB-Blaster on <device description>' --device=<device number> --instance=<device instance to access> --debug -e --go --base=0x<POINTER_TO_EPCS_BASE> -R <epcs-data-backup.file>

    objdump -h <epcs-data-backup.file>

    partial example (not 'Advanced Boot Copier Example', but custom undefined working bootloader) getting from 'nios2-elf-objdump -s' :

    000000 ffffffff ffffffff ffffffff ffffffff  ................
    000010 566ffffe 000f1008 00566fff fe000f10  Vo.......Vo.....

    or 'cat':

    S1230000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF566FFFFE000F100800566FFFFE000F1022

    best regards, beyondTime

    ( nios2eds 13.0sp1, Xenial 16.04 )