}\r
/*-----------------------------------------------------------*/\r
\r
-void *memcpy( void *pvDest, const void *pvSource, size_t xBytes )\r
-{\r
-/* The compiler used during development seems to err unless these volatiles are\r
-included at -O3 optimisation. */\r
-volatile unsigned char *pcDest = ( volatile unsigned char * ) pvDest, *pcSource = ( volatile unsigned char * ) pvSource;\r
-size_t x;\r
-\r
- /* Extremely crude standard library implementations in lieu of having a C\r
- library. */\r
- if( pvDest != pvSource )\r
- {\r
- for( x = 0; x < xBytes; x++ )\r
- {\r
- pcDest[ x ] = pcSource[ x ];\r
- }\r
- }\r
-\r
- return pvDest;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void *memset( void *pvDest, int iValue, size_t xBytes )\r
-{\r
-/* The compiler used during development seems to err unless these volatiles are\r
-included at -O3 optimisation. */\r
-volatile unsigned char * volatile pcDest = ( volatile unsigned char * volatile ) pvDest;\r
-volatile size_t x;\r
-\r
- /* Extremely crude standard library implementations in lieu of having a C\r
- library. */\r
- for( x = 0; x < xBytes; x++ )\r
- {\r
- pcDest[ x ] = ( unsigned char ) iValue;\r
- }\r
-\r
- return pvDest;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-int memcmp( const void *pvMem1, const void *pvMem2, size_t xBytes )\r
-{\r
-const volatile unsigned char *pucMem1 = pvMem1, *pucMem2 = pvMem2;\r
-volatile size_t x;\r
-\r
- /* Extremely crude standard library implementations in lieu of having a C\r
- library. */\r
- for( x = 0; x < xBytes; x++ )\r
- {\r
- if( pucMem1[ x ] != pucMem2[ x ] )\r
- {\r
- break;\r
- }\r
- }\r
-\r
- return xBytes - x;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
void vMainAssertCalled( const char *pcFileName, uint32_t ulLineNumber )\r
{\r
xil_printf( "ASSERT! Line %lu of file %s\r\n", ulLineNumber, pcFileName );\r