I have written the following code to perform a copy procedure between RAM and FLASH Memory: unsigned char i; i = 0x00; do{ i --; *(&FLASHADDRESS + j + i) = DataBuffer[i]; }while(i != 0x00); Is there any better way to generate efficient(like DJNZ in assembler) code? :) THS.