From: rbmm756 on
On 5ร”ร‚4รˆร•, รร‚รŽรง8รŠยฑ45ยทร–, rbmm...(a)gmail.com wrote:
> hi everyone,
>
> I have transferred data from SDRAM to SRAM(L2), letting the image
> processing arithmetic perform in SRAM to improve efficiency of my
> program and then transfferred data that had been processed from SRAM
> to SDRAM. When transfer data between SDRAM and SRAM, i call function
> DAT_copy() like this,
> for(i=0;i<LinesUpBound/2;i++){
>
> DAT_wait(transferId);
> transferId = DAT_copy((void *)(srcY + (i + linecount/2 - k) *
> NUMPIXELS),
> (void *)(PixBuffer1 + 2 * i * NUMPIXELS),
> NUMPIXELS);
>
> DAT_wait(transferId);
> transferId = DAT_copy((void *)(srcY + (i + linecount/2 - k +
> NUMLINES/2) * NUMPIXELS),
> (void *)(PixBuffer1 + (2 * i + 1) * NUMPIXELS),
> NUMPIXELS);}
>
> PixBuffer1[] was a set of SRAM that take place 720*72 byte.
> The function DAT_open(DAT_CHAANY, DAT_PRI_LOW, 0); have been call in
> main().
> The question is that the outputting pictures have some black horizon
> lines.
> I checked the data in PixBuffer1 from view->memory of CCS, i have
> found that when it called the DAT_copy() first time there have no data
> been transferred and data in PixBuffer have no changing. When it
> called the DAT_copy second time, the data from
> (void *)(PixBuffer1 + (2 * 0 + 1) * NUMPIXELS) will be put into
> (void *)(PixBuffer1 + 2 * 0 * NUMPIXELS). Namely the line n from srcY
> will be transferrd into the line n-1of PixBuffer1, but the original
> idea of the program is transferring the line n from srcY into the line
> n-1of PixBuffer1.
> How does this happen?

hi all,
i add some new found, when it called the DAT_copy() third times. what
the PixBuffer1 have received is all "0", but not the data transferred
from srcY.