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.

program in C, DM6437

Hi!

I was doing a simple program of image processing with this dsp. It consist to print on the otput the even lines from right to left and the odd lines from left to right. When I use one DSP the output aparently it's correct, but if I use an other DSP for recuperate the original image (both interconected, the output of the first one will be the input of the second one) the final imatge isn't recuperate, it looks like the output of the first one.

I chek the memory, the values of the parameters and all it's correct but the think it's that the original image it's recuperate. I also program an other programs where only recolocate one pixel, but it's not working neither.

This is the code of the main.c:

#include <stdio.h>
#include <stdlib.h>
#include "stdio.h"
#include "evmdm6437.h"


extern Int16 video_loopback_test();


#define Rows 172800            //total number of pixels 173519*2=347038 pixels
#define Colums 1
//#define Pixels Colums*Rows
#define BytesPerPixels  4
#define Pixels 172800

Int32     buffer_out[Pixels];    //from    0x80000000
Int32   buffer_in[Pixels];    //from     0x800A8C00



#pragma DATA_SECTION(buffer_out,".ddr2")
#pragma DATA_SECTION(buffer_in,".ddr2")


void FirstFrame(void){
    Int32     i,j;
    Uint32    temp;
   

    i = 0;
    j = 0;
   
    do{
        temp=buffer_in[j];
        buffer_out[i]=temp;
        i++;
       
        if(i%(720*2)<720 ){    j++;/*    buffer_out[i]=0;*/}
        else{            j--;/*buffer_out[i]=1000;    */}

        //inv dreta esquerra       
        if(i%(720*2)==0){j=i+720-1;}
        else if(i%(720*2)==0){j=i;}
       
    } while (i < Pixels);

   
}


void main( void )
{
    /* Initialize BSL */
    EVMDM6437_init();
    //ArraysInit();
    video_loopback_test();
    //ArraysTest();
   
    while (1){
//    IMG_fdct_8x8_c(fdct_data, num_fdcts);
        FirstFrame();
    }

    printf( "\n***ALL Tests Passed***\n" );
    SW_BREAKPOINT;
}

I hope someone can know which  is the problem, or what can I do for try to solve. Thank you in advance!