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.

Combining ping-pong dma, uart and micro sd file write in c5515 ezdsp

Other Parts Discussed in Thread: ADS1298

Hi, I am writing an application in which I receive some sensor data on uart and need to write it to microsd without losing sample.

(1) I have combined the csl examples of CSL_UART_dmaExample and CSL_DMA_PingPong Example to get uart data in ping pong buffers to avoid losing samples.

(2) I have also tried the CSL_MMCSD_SdCardFSExample_Out which works fine and files are created, written and appended on the sd card which I can read with a card reader.

Next I try to merge (2) into (1). The micro sd file writing is happening fine, but no dma interrupt is coming.

I think the issue is, CSL_MMCSD_SdCardFSExample_Out has been created as a BIOS project with a .tcf file for configuration while CSL_DMA_PingPong Example has been created as a normal project with a .cmd file for configuration. I am not understanding how to change the .tcf to include the vector area and alignment specification in memory, without which no interrrupt is happening.

Is there any other reason of interrupts not working? Can someone help me in modifying the .tcf file to include vector options.

Thanks,

Riju

 

 

  • Hi,

    It is pretty simple to configure interrupts in tcf file. No need to include vectors in the tcf file. You have to plug in your ISR functions to the HW interrupt you want to use. For doing this follow the below steps

    1. Double click of the tcf file in the CCS
    2. Expand the 'scheduling' menu
    3. Expand the 'HWI' menu
    4. Right click on the inetterrupt number you want to configure and select 'properties'.
    5. Replace the 'HWI_unused' with you isr name(Prefixed with underscore '_')  in the function text box.
    6. Click on the 'Dispatcher' tab and select the check box 'Use Dispatcher'
    7. Click OK.

    You can get the interrupt number assigned for each module in the 'C5515 DSP system userguide'. HWI_INT8 is for DMA and HWI_INT6 is for UART. No need to use CSL INTC configurations for interrupt configurations. But you need to enable module specific and global interrupts in the interrupt enable registers.

    You can also refer to tcf file in the CSL example 4 which has the configurations for DMA, USB and MMCSD interrupts.

    Pratap.
     

  • Thanks Pratap. It is working.

    Riju

  • hello pratap and riju,


    I am trying yo interface ADS1298 with C5515EVM . The objective is to acquire signal information and store it.
    i have run the required CSL examples for my project that shall be of importance.
    The path flow and my objectives::::::::::
    1. Use ECG_nonBIOS.pjt application for obtaining the code for ADS1298 interface.
    2. Use RTC example from CSL library....... for CCS v6.X ............... CSL_RTC_Example_OUT to run the rtc and obtain the current time and date..
    3. Use MMCSD example from CSL library ........... for CCS v6.X............. CSL_MMCSD_SdCardExample_Out to write data into SD card.( Suggest an alternative example from the same library folder of examples, as this doesnt make it into a readable by the operating system)
    4. Use LCD example from CSL Library........ for CCS v6.X ........... CSL_LCDC_TextdispalyExmaple_Out to write strings using "draw_string" on the LCD display provided on the board.

    whilst the above CSL examples are running independently, i would like to combine the three to achieve he following::::::::::::
    Use the time and date generated by the RTC every second to display it on LCD, while at the same time store the RTC date and time every second on the SD card.
    i would require to combine the three so as to achieve the desired objective.
    I request you to please guide me in combining the three examples into one and achieve the result at the earliest.

    thank you
    regards

    balasubramanya