Post Go back to editing

Questions about Programming Code into SPI Flash with ADSP21479

Hi

After my code (work with ADSP21479) passed debug, I programmed the code into the SPI Flash Mem by the generated .ldr file in which I configured as followed:

https://ez.analog.com/cfs-file/__key/communityserver-discussions-components-files/397/bfc1bae0d746c87afc9c362d38a34b2f.html

After I programmed the code and tested the DSP boards, I got some questions as followed:

1. I used ADZS-USB-ICE/VisualDSP++ or a 3rd Party Programmer(JTAG port) to program the same Loader file generated by VisualDSP, but only part of the programmed DSPs work, say, about 50%.

2. When I ran the failed DSP under ADZS-USB-ICE and VisualDSP, and when build a project, it always ran by itself but not ran the code part. And some times I got following information:

https://ez.analog.com/cfs-file/__key/communityserver-discussions-components-files/397/3010.bfc1bae0d746c87afc9c362d38a34b2f.html

3. I found the good programmed DSP always work well, but the bad ones could work very few times during multiple running (Power On and DSP Reset). I checked one of the bad DSP board with a simple testing code that just generates pulses at Flag0; it worked only two times when I ran it for tens of times. Followed pictures show the same DSP board at the cases of work and not work after the DSP Reset:

(In the diagrams: the Yellow trace is DSP Reset, the Blue one is SPI Flash Data-out, the Purple one is SPI Clock, and the Green one is the Flag0 output.)

https://ez.analog.com/cfs-file/__key/communityserver-discussions-components-files/397/4137.bfc1bae0d746c87afc9c362d38a34b2f.html

Work case after the DSP Reset

https://ez.analog.com/cfs-file/__key/communityserver-discussions-components-files/397/5100.bfc1bae0d746c87afc9c362d38a34b2f.html

No work case after the DSP Reset.

4. When I built the Loader file, if I choose Release for the Settings for Configuration, the programmed DSP running got different result with ones under the emulator(ADSZ-USB-ICE)/VisualDSP.

Would you please check my questions and the attached files to findout the possible reasons that make the issue?

(I am not sure if you could see the pictures when I post, I also attached the posted pictures).

Please let me know should you need other information about my questions.

Thank you,

Ning

attachments.zip
Parents
  • Hi Ning,

    To bypass the PLL and SDRAM initiation inside the Kernel file (479_spi.asm), you have to only comment the “#define EXT_MEMORY” line in the ‘479_spi.asm’. Please find the attached modified Kernel file (479_spi.asm) for your reference.

    While looking at your attached "479_spi_Bypass.asm.zip" file, I feel that you are confused with the word i mentioned before, "bypassing PLL initialization". what I exactly meant by this is 'avoid the PLL & SDRAM initialization fully in the Kernel file'. I can see that you have simply placed the  PLL in 'bypass mode' in your code, and this is not correct. However, instead of doing this if you can configure the correct PLL initialization according to your system CLKIN and desired CCLK frequency (modify the values of ‘PLLM, PLLD, INDIV’ bits in the PMCTL register) in the kernel file, it should be fine.

    Please let me know how you get on.

    Thanks,

    Jithul

    479_spi.zip
Reply
  • Hi Ning,

    To bypass the PLL and SDRAM initiation inside the Kernel file (479_spi.asm), you have to only comment the “#define EXT_MEMORY” line in the ‘479_spi.asm’. Please find the attached modified Kernel file (479_spi.asm) for your reference.

    While looking at your attached "479_spi_Bypass.asm.zip" file, I feel that you are confused with the word i mentioned before, "bypassing PLL initialization". what I exactly meant by this is 'avoid the PLL & SDRAM initialization fully in the Kernel file'. I can see that you have simply placed the  PLL in 'bypass mode' in your code, and this is not correct. However, instead of doing this if you can configure the correct PLL initialization according to your system CLKIN and desired CCLK frequency (modify the values of ‘PLLM, PLLD, INDIV’ bits in the PMCTL register) in the kernel file, it should be fine.

    Please let me know how you get on.

    Thanks,

    Jithul

    479_spi.zip
Children
No Data