Post Go back to editing

Software reset on ADSP-21369

Hello,

I've the following problem with the ADSP-21369 (I'm using the EZ-KIT 21369 together with VisualDSP 5):

I want to reset my DSP completely so that the execution of the programs start exactly like it would after a boot: stack cleared, all variables should be reinitializated and all peripherals (SDRAM-controller, SPORT etc.) should be resetted, just like when I toggle the reset line. But I want to do that via the program itself without asserting the reset pin from the outside.

I already found out that I can perform a software reset via setting bit 0 in the SYSCTL register. But that does not work. The DSP restarts (I can verify that with turning on/off the LEDs on the eval-board) but the sound output is disturbed then (the sound is overlayed with a crackling then, but you can hear a little bit the expected sound).

I already tried a hard coded jump back to the memory address where the init code is placed by the linker. No success same problem.

Interestingly I can reproduce the problem if I connect to the board via VisualDSP, run the program and press the reset button. The execution does stop then on the breakpoint on the first line in main() like it always does but if I press then F5 it goes wrong (again crackling) while it worked fine for the first run before I press the reset button.

And the crackling already occurs after the reset without having started the SPORTs so in fact the DSP does not send data at that moment.

Next interesting point: When I put the program into the SPI falsh and run it from there standalone (having VisualDSP disconnected) it runs fine and I can press the reset button as often as I want without crackling.

Any ideas?

Raphael

  • So here are a couple of ideas. I haven't seen this specific problem and I don't work with the EZ-KIT very often.

    I don't think that Software Reset and Hardware Reset are precisely identical (but I don't remember why). You might set an early breakpoint and examine everything carefully after each type of reset. However, I don't think this is your problem.

    I suspect that the codec is not initialized correctly after the software reset. You may need to manually reset the codec (or hold the codec in reset longer).

    You might verify this by writing a program that bypasses the codec altogether.

    Al Clark

    www.danvillesignal.com

  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin