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.

McBSP not working properly when the program is flashed

Hi, I am trying to burn my program into the flash with no luck. I am using FlashBurn utility. I have McBsp (EVMdm6437) configured to work as SPI (slave), in my program I drive a pin to high level to indicate to SPI master device to start sending clocks (i.e., to start transmission/reception). The gpio works well, as it goes low after 18 bytes, but the Out pin of my McBsp is not sending anything (or 0s). So it seems like McBsp can detect the clocks but not capable to send any data trough out pin. The program works normally if I just use CCS. By the way, I am using EDMA to serve McBsp... some ideas about this? I really need some help here.

Thanks in advance

  • More info about the problem: flashing trough usb I am almost unable to get it run, and when after repeat the erase and write process with FlashBurn finally I have had it running, its behaviour was like I described above. Burning flash trough JTAG seems slower but worked at first time, at least it runs, but as I said mcbsp does not work properly.

    By the way: why size of flash in FlashBurn is marked as 0x200 0000 instead of 0x100 0000?

  • It could be that you are not doing some initializations, please see:

    https://community.ti.com/forums/p/7232/28015.aspx#28015

  • Thanks a lot for your answer, I think you hit the nail, as I was not taking care of gel file. Could you recommend me more info about this subject? I do not know how to do exactly the migration from gel to my program, i.e., should I just copy mainly all the code, just call the functions or what?

     

    Thanks in advance

  • Ok, I have been moving some initialization code to my main(). But I got this error now:

     

    error: symbol __wait is defined multiple times: main.obj (this is mine, where I have been copying some gel code) and evmdm6437.obj. I don't know well how exactly get ride of this.

     

  • Nevermind about the last error, I have just solved

  • James Thorton said:
    Thanks a lot for your answer, I think you hit the nail, as I was not taking care of gel file. Could you recommend me more info about this subject? I do not know how to do exactly the migration from gel to my program, i.e., should I just copy mainly all the code, just call the functions or what?

     Hi James,

    I guess you have already figured that out, but yes, most of the functions in the GEL file are C compatible or need little adaptation, so you just copy them to your program and call from main - and adapt the code if needed....

  • Thank you Mariana, yes I am adapting the code... but already have few issues. For example, which functions should I call exactly? I mean, in gel you have start up functions, connect functions, reload file functions... currently I am working with connect functions (as start up is only the memory map which I think is not necessary, moreover it includes GelMapAddress functions not defined for C I think).

    The main issue that I am having is that Setup_PLL2_DDR_162_MHz_OscIn() function is not working well, after I call it, the program just hangs, and if I restart, it will restart the application everytime the program arrive here.

    By the way, my gel is calling "Setup_EMIF_CS2_NandFlash_8Bit( );" but I am using norflash, so I have just uncommented the other line "Setup_EMIF_CS2_NorFlash_8Bit" and comment the last one. This is right I guess.

    EDIT: I am checking all of this inside of CCS, to save time instead of burn flash and see if it really works, no problem with this, isn't it? I mean, it does not matter if I add again the initialization gel code to my app, this should be work also with CCS and in flash, shouldn't it?

     

  • Hi James,

    The GEL file which you must have selected must be DVEVM specific, as I can see from the function initialisations. If you are using NOR flash, all you have to do is change the appropriate address mapping which you have used. This address will be the starting point of your NOR flash burn.

    The GEL file is used for defining memory-mapping at the time of reset/ power-on only.

    Regards,

    Sidharth

  • Hi All,

    I am also facing the same issue.

    6437 as slave and it is working fine with CCS.

    Once I flash the code It is not working.

    I am receiving 0xFF from the salve when data available.

    McBSP is configured properly and I am using CSL with polling.

     

    Thanks

    Lijesh