Hello,
Probably you already got it solved but let me shoot some ideas:
First, is IMAGE_BUFFER_BASE_ADDRESS a valid address? was this allocated somewhere? have access through MMU, have you tried accessing (read/write) with the CPU?
Secondly: memcpy with CPU is very simple, you can do it your own to debug more easily:
int8U ptr1;ptr2;
ptr1 = buf;
ptr2= IMAGE_BUFFER_BASE_ADDRESS;
for(i=0; i<IMAGE_FRAME_SIZE; i++)
{
ptr1[i] = ptr2[i];
}
Run the code above and check where it fails... if it fails at the begining, is very likely your memory is not being correctly allocated or addressed (ie. IMAGE_BUFFER_BASE_ADDRESS is invalid address)