Forum Discussion

Oliver_I_Sedlacek's avatar
2 years ago

NIOS2 doesn't automatically run from external RAM, how to debug

I really need my NIOS2 to autostart and run from off chip RAM using the bootloader copy method. The trouble is that despite many readings of the handbook and multiple rebuilds of the design the code only runs if I start it from Eclipse. How do I debug what I've done wrong?

The hardware is the Trenz CYC1000 board which has an EP10CE25 fitted.

41 Replies

  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi


    Do you happen to have a second board to try out?

    From the looks of it the flash could not be read.



  • Yes, I've now got a second board. The Flash must 'work' because the cyclone 10 is configured from it. As you say, it could be that the NIOS2 can't read from Flash because of some mistake I made in Qsys, or else I made the same mistake in one of the many steps of setting up the 'copy bootloader'.

    This is just a reminder that my original question is 'how do I debug this problem?' Waht techniques can I use?

    I would point out that I first raised this issue in September last year, see https://community.intel.com/t5/Programmable-Devices/Autostart-NIOS-from-external-SDRAM-problem/td-p/1494390 so we are now on 11 months without any progress.

  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi


    Just updating the case here.

    Will be sharing the sample project to you latest by this week.


    Regards

    Jingyang, Teh


  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Oliver


    I am stuck at the same stage as you.

    In the example design I am creating the bootcopier is not copying the values to the memory.


    Tested my NiosII application accessing the flash is working.

    Currently will be checking on the reset vector being passed to the bootcopier.


    Will be updating you on my testing.


    Regards

    Jingyang, Teh


  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi


    I am still investigating issue with our engineering team.

    Narrowed down to racing condition between CPU and Flash where CPU gets halted due to invalid data from Flash when data ready signal is toggled.


    Experimenting with various method to delay the CPU initialization so that EPCQ flash could be fully initialized before CPU reads the flash image


  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi

    There is a workaround currently to load the code at the moment.

    It is a small code to delay the nios processor while the flash initialized.

    You could set your project to run from the OnChipRam IP with the application initialized and your actual application will be stored in the Flash.

    The application first run on the OnChipRAM will delay the nios till the flash is initialized and jump to the flash device and it will run the bootcopier that will copy the code to the DDR and finally jump to the DDR.

    Regards

    Jingyang, Teh

  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi


    As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


    Regards

    Jingyang, Teh