|
From: rbmm756 on 5 May 2008 21:17 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.
|
Pages: 1 Prev: Problems with IQMath library Next: Problems with IQMath library |