Forum Discussion

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

Flash two or three user firmware into the flash for Stratix II EP2S60 DSP Board

Hi, all

I'm using Stratix II EP2S60 DSP Development Board for my project. The reference manual tells me that it can store three user's firmware in the flash for bootload controller by the Board Setting Switch. I know how to program one firmware into the flash. Now, I want to program two or three firmwares into the flash; however, I don't find any information about the offset address where the three firmwares locate. Have anyone have such experience? Could you please give me some ideas? Thank you very much!

9 Replies

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

    If you use the NIOS-II IDE to program your flash device, there is an option to let you program an extra file into your flash. After you tick this option, you can select your file to be programmed, flash device and the offset. This is the simplest way. Otherwise, I think that you have to write or re-write your own Linux shell scripts to do that.

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

    Yes, I'm using Nios II IDE to program the flash. I know there is an option to let the bitstream file locate into different area of the flash. But I'm not clear about the flash address arrangement for the 4 sections which save the according bitstrem. Anyone knows about the relevant information?

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

    The .flash files that you are programming into your flash device are in s-record format. You can find any info such as location and offset from those .flash files.

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

    I think that the offset information in .flash file is determined by the user's configuration when programming the bitstream file into flash. But I just have no idea about where to offset the multiple bitstream files. Thanks.

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

    "I think that the offset information in .flash file is determined by the user's configuration when programming the bitstream file into flash."

    YES and NO.

    Some pieces of code have to be programmed into certain locations in your flash device, such as the boot loader. Their addresses are specified in the sopc builder. However, you can place other pieces of code anywhere else as long as they run the way you want. They depend on your application and how you want them to run.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks! I've solved the problem by assigning different offset addresses for different firmwares.

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

    --- Quote Start ---

    Thanks! I've solved the problem by assigning different offset addresses for different firmwares.

    --- Quote End ---

    Euniceliu,

    What are the offset address for this kit?

    Thanks,

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

    --- Quote Start ---

    Euniceliu,

    What are the offset address for this kit?

    Thanks,

    Nick

    --- Quote End ---

    Hi, Nick,

    You can find "custom" and "factory" options in Nios II IDE. It'll will lead to two different firmware located in the flash. Hope it's not too late and it's a little helpful!

    Best,

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

    Thanks,

    I guess I should have looked there, but we don't use Nios and didn't expect Nios to know about this kit. I'm using an external CPU, a Coldfire, running RTEMS, and this CPU acts as a master on the Avalon bus controlling various SOPC components, one being a CFI flash device. This allows me to remotely upload a new firmware for the FPGA. Altera support did provide the address for the flash locations, they are:

    0x0020.0000 Factory

    0x0050.0000 User0

    0x0080.0000 User1

    0x00A0.0000 User2

    I'm able to upload to User0 now, remotely power cycle the kit and FPGA is loaded with the new firmware.

    Thanks again,

    Nick