char dump_memory() { int i; char buf[20] = {'\0'}; for (i = 0; i<(DATA_MEMORY_SIZE_VALUE); i+=8) { memset(buf,'\0',sizeof(buf)); raw_sprintf(buf,"%08x%08x\n", IORD_32DIRECT(DATA_MEMORY_BASE, (i+4)), IORD_32DIRECT(DATA_MEMORY_BASE, i)); putstr_uart0(buf); // Give enough time for sd-card storage usleep(14*1000); } return 1; }
static RAW_U32 command_case_three_parameters(RAW_S8 *pcWriteBuffer, size_t xWriteBufferLen, const RAW_S8 *pcCommandString ) { RAW_S8 *pcParameter; RAW_U32 lParameterStringLength, xReturn; /* Remove compile time warnings about unused parameters, and check the write buffer is not NULL. NOTE - for simplicity, this example assumes the write buffer length is adequate, so does not check for buffer overflows. */ ( void ) pcCommandString; ( void ) xWriteBufferLen; if( lParameterNumber == 0 ) { /* The first time the function is called after the command has been entered just a header string is returned. */ raw_sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" ); /* Next time the function is called the first parameter will be echoed back. */ lParameterNumber = 1L; /* There is more data to be returned as no parameters have been echoed back yet. */ xReturn = 0; } else { /* Obtain the parameter string. */ pcParameter = (RAW_S8 *) rsh_get_parameter ( pcCommandString, /* The command string itself. */ lParameterNumber, /* Return the next parameter. */ &lParameterStringLength /* Store the parameter string length. */ ); /* Sanity check something was returned. */ if (pcParameter == 0) { RAW_ASSERT(0); } /* Return the parameter string. */ raw_memset( pcWriteBuffer, 0x00, xWriteBufferLen ); raw_sprintf( ( char * ) pcWriteBuffer, "%d: ", lParameterNumber ); raw_strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, lParameterStringLength ); raw_strncat( ( char * ) pcWriteBuffer, "\r\n", raw_strlen( "\r\n" ) ); /* If this is the last of the three parameters then there are no more strings to return after this one. */ if( lParameterNumber == 3L ) { /* If this is the last of the three parameters then there are no more strings to return after this one. */ xReturn = 1; lParameterNumber = 0L; } else { /* There are more parameters to return after this one. */ xReturn = 0; lParameterNumber++; } } return xReturn; }