This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I2S examples not working

Hi.

I'm using the C5515 ezdsp stick together with the C55xCSL-LOWPOWER 2.10. I've commented out #define C5515_EVM in csl_general.h and compiled CSL. Then I compile and run the CSL_I2S_PollExample_out and run it. What I get is:

I2S Module Instance opened successfully
I2S Module Configured successfully
I2S Reset Successful
I2S Close Successful
I2S Read & Write Buffers doesn't Match!!!

i2sReadBuff = 0x00002B89@DATA
    [0] = 65535
    [1] = 65535
    [2] = 65535
    [3] = 65535
i2sWriteBuff = 0x00002B85@DATA
    [0] = 1
    [1] = 2
    [2] = 3
    [3] = 4

If I step through I2S_read manually I obtain

i2sReadBuff = 0x00002B89@DATA
    [0] = 0
    [1] = 0
    [2] = 0
    [3] = 0

If I step through manually several times, i2sReadBuff is not always all 0. I few times there are some arbitrary values in i2sReadBuff.

If I put a printf in I2S_read to show fsError and ouError I have always fsError=1 and sometimes ouError=1 or ouErro=0.

Why do I have these problems and how to solve them? A lot of thanks for your help.

Regards,

Andreas

 

  • Hi,

    We know this issue. The example did not clear some conditions set by pre-installed code (boot from flash).

    Quick solution is to remove flash code. In the mean time, we'll look into it more.

    Regards,

    Hyun

  • Hyun,

    Thanks for your answer. Is it only the examples that do not work correctly or is it in general that the I2S does not work correctly when the DSP is booted from flash?

    How to remove the flash code? And if I remove it, I assume I have to provide my own code to boot?

    Regards,

    Andreas

     

  • Hi,

     

    All I2S examples are affected. Either burn any code does not use I2S or you can manually modify your .bin file at the first few bytes (signature code).

    It's not necessary you have to have a boot code.

    Regards,

    Hyun

  • Hi again.

    Just another question: is this "flash" problem also the reason that the SPI examples don't run successfully as well? because there I have the same issues: not matching read and write buffers. and might it be the reason for the huge delay for successive frames in SPI communication, or am I going too far now?

    Anway. Thanks for your hints. But again, I don't completely get it: you mention to "remove the flash code" or to "modify my .bin file" resp. Could you please explain this more in detail please? Do you mean the .out file? Which bytes to replace by what exactly? And how to remove flash code, what would I have to put instead?

    At least, the GPIO examples are running successfully (with some minor modif w.r.t. to ezdsp instead of evm). So I think the easiest is if I go on using GPIO...

    Thank you very much.

    Andreas

     

  • Hi,


    SPI example uses EEPROM but eZdsp does not have on board EEPROM. C5515EVM has  EEPROM so it works. 


    The first word of boot image is signature word. If you can change this signature  then boot loader can skip that code.

    Please refer Using the TMS320C5515/14/05/04 Bootloader document. It explains .bin file.

    Regards,

    Hyun