Forum Discussion

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

NiosII continuously rebooting

Hi,

My niosII is continuously rebooting at the same code position. The Nios is running on an external SDRAM (I'm using a cyclone IV EP4CE30F484). The memory test runs OK (it looks like the memory test project size is so small that doesn't make it crash). If I add more code it reboots at a different position (so it is not related to a specific line of code - I made it crash on a printf for example). The only way I found to make it work was changing the exception vector offset (it was originally 0x000020 and I changed to 0x20020). When changing the offset I did run the memory test again on the positions where the nios was running originally and it looks fine. It fails consistently (regenerating the Qsys or recompiling made no difference, so I doubt it is a signal integrity issue). Adding more instruction cache made no difference.

An interesting thing is that it crashes at a different position when debugging.

Does anyone have any idea why it is crashing when the vector offset is set to 0x000020?

*TimeQuest timing analysis looks perfect.

Many thanks for your help

14 Replies

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

    really out of clue already...... maybe other person help to comment some

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

    Are you using interrupts? If you have some code that make the CPU crash in an ISR it will appear to crash at random locations.

    If you debug it step by step does it also end up rebooting?

    Do you have anything connected on the reset signal in your QSys project? Could something on the hardware level trigger a reset?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Are you using interrupts? If you have some code that make the CPU crash in an ISR it will appear to crash at random locations.

    If you debug it step by step does it also end up rebooting?

    Do you have anything connected on the reset signal in your QSys project? Could something on the hardware level trigger a reset?

    --- Quote End ---

    He mentioned earlier no interrupt been used, quite strange issue.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    more information:

    There is a function that has two nested for loops that initialize a array of a struct variable. When I commented it out the code stopped crashing. When that function is there it crashes and reboots. However, if I change the exception vector offset from 0x00000020 to 0x00020020 (and with the function uncommented) it stops crashing in that function and crashes somewhere else. :confused: