Forum Discussion

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

sof in CFI and zImage in CFI

Hello all,

I have DSP Development board Stratix II Proffesional Edition (DK-DSP-2S180N) and try to save the sof and the zImage to Flash memory.

I want to run the system after power on automaticly.

I use:

/>nios2-configure-sof standard.sof

create flash file:

/>sof2flash --offset=0x000000 --input=standard.sof --output=standard.flash

programming flash with fpga configuration:

/>nios2-flash-programmer --base=0x05000000 standard.flash

now, when i switch on the board, the sof is loading to fpga and bitstream is ok loaded.

But when i creating flash from project:

/>elf2flash --base=0x02000000 --end=0x02ffffff --reset=0x02000000 --input=zImage --output=ext_flash.flash --boot=boot_loader_cfi_srec.srec

and programming flash:

/>nios2-flash-programmer --base=0x05000000 ext_flash.flash

and turn off and turn on the board, the led is blinking but it finished with error and no sof and no zImage is loaded.

Where is the error ?

I have:

nios2 cpu - reset vector sdram = 0x02000000

sdram controller (sdram) = 0x02000000

flash memory interface CFI (ext_flash) = 0x05000000

Thank you for your answer.

Jan Naceradsky, Czech Republic

2 Replies

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

    If you want to load the zImage from flash, the reset vector has to be in flash. Also the base and offset for elf2flash have to be in flash.

    You also have to leave enough room for the sof in flash.

    For elf2flash:

    --base = The base address of flash, + 0xc0000000 if using an MMU

    --end = The end address of flash, + 0xc0000000 if using an MMU

    --reset = The reset address, which should be in flash, and must be high enough so that the sof fits in flash below it. Do NOT subtract the base from this value. +0xc0000000 if using an MMU.

    for nios2-flash-programmer:

    --base = The base address of flash. If using an MMU, add the --mmu option, but do NOT add an offset to this address.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I dont use MMU.

    Okay, i will change the reset vector to the flash memory.

    Exception vector should be in sdram ?

    And in menuconfig i choose a device to execute kernel from sdram or ext_flash ?

    Is somewhere descripe, how it should be and the mechanism, how the system boot the sof and how boot the program (zImage). I read something in nioswiki, but it works me only for niosIIcycloneII board.

    I have sof with 6081 kB and zImage 1920 kB. The sof should be from 0x0000-0x5F0400 and zImage from 0x600000 up ? Or the zImage should be from 0x00000-0x1E0000 and sof upper ??? (0x200000 - ....).

    Thank you very much for answer.

    Jan