En primer lugar, considera escribir tu propia versión de la rutina memcpy () para sustituir la llamada de la biblioteca. Luego, puede experimentar con el código para ver cómo el cambio en los tipos de punteros de memoria afecta el rendimiento.
En segundo lugar, puede instrumentar esa rutina con un bit de puerto establecido al comienzo y un bit de puerto libre al final. Puede utilizar un osciloscopio para medir el tiempo real empleado en la rutina. Parece muy probable que haya algo más que solo el tiempo pasado dentro de la rutina memcpy ().
Eche un vistazo al compilador 8051 que está utilizando. Hay una gran diferencia en el rendimiento entre un compilador determinado y uno de los compiladores comerciales más utilizados. Además, no todos los compiladores admiten múltiples punteros de datos o algunos #pragma pueden ser necesarios para activar su uso.