Forum Discussion

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

Remote update with EPCS128

Hello, Guys.

I have a Stratix II EP2S90 design that uses an EPCS128 device in AS mode for remote system update. The new Application image is got from the DSP (DM6437). And altasmi_parallel is used to write the new image to EPCS128. The reference design is AN603. But I have a few questions!

1. The new Application image stored in DSP should be which format, .rpd or .rbf ? www-alteraforum.com/forum/showthread.php?t=26309&highlight=altasmi_parallel+rbf tell me should use .rbf format, if it is right, how to generate .rbf file? I don't find the right sets in Quartus II --Convert Programming File.

2. The above link tell me if I want to use the .rbf file, I should write it to my flash with reversing the bits of each byte. I should do it before altasmi_parallel ?

3. How to get the content of .rbf file?

Thanks a lot in advance!

6 Replies

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

    Hi:

    I can answer part of your question:

    1) Yes, you use the rbf file, this is the "Raw Binary Format"

    2) When the Stratix device shifts in, it's expected the data to be shifted LSB first, but the EPCS shifts MSB first, so this is the reason for the byte reversal. I don't know if the altasmi_parallel handles this for you or not.

    3) The RBF is an optional output format that is available when you build compile your design. Under the "Assignment" menu in Quartus, click on Device->Device and Pin Options->Programming Files then make sure there is a check mark next to Raw Binary File (.rbf)

    Hope this helps

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

    When I bump into these kind of problems with bit order and such I always resolve it in the same manner.

    1. Program the EPCS128 through the quartus programmer like normal. Then read it back into a file.

    2. Program the EPCS128 through your remote update procedure using the .rbf file from the same build. Read back that image using the quartus programmer.

    3. Compare 1 and 2. They should read back identical.

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

    Hi, anakha, thank you for answering my questions! I can get the .rbf file now!But I still have two puzzles:

    1.How to open .rbf file? I can not open it with notepad.

    2.If I can get the open the .rbf file, just write all the datas to EPCS128, I don't have to delete header or something, right?

    Thank you sincerely!

    I open the .rbf file with UltraEdit successfully! Thank all of you!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi, lethenstrom, thank you for answering my questions! Your advice is masterly, I will have a try when I can get the dates from .rbf file. Thank you again!

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

    Open the .rbf file using a hex editor. There are numerous hex editors available for free. Some text editors have a hex mode where you can view in hex. Search the internet for "hex editor" and you will find many. Regular notepad in windows does not have a hex mode.

    The .rbf file has nothing but the binary for the FPGA. No header or anything. I would recommend writing byte by byte that way you don't have to deal with endianess and potentially only have to reverse the bit order within each byte before writing it to the EPCS128. You will easily spot that if you do the test that I suggested above.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Lethenstrom, thank you for your patience! I open the .rbf file successfully, I will test what you suggested above later~