code formatting
This commit is contained in:
parent
b036627b27
commit
47fcd4b9cd
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* P8000 WDC Emulator
|
* P8000 WDC Emulator
|
||||||
*
|
*
|
||||||
* $Id: wdc_drv_mmc.c,v 1.5 2012/06/05 18:24:16 olivleh1 Exp $
|
* $Id: wdc_drv_mmc.c,v 1.6 2012/06/05 19:46:26 olivleh1 Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -420,7 +420,7 @@ uint8_t mmc_read_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks
|
||||||
while ( 1 ) {
|
while ( 1 ) {
|
||||||
send_dummy_byte();
|
send_dummy_byte();
|
||||||
if ( recv_byte() == SB_START )
|
if ( recv_byte() == SB_START )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
send_dummy_byte();
|
send_dummy_byte();
|
||||||
|
|
@ -445,8 +445,8 @@ uint8_t mmc_read_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks
|
||||||
}
|
}
|
||||||
Buffer = Buffer + 512;
|
Buffer = Buffer + 512;
|
||||||
#else
|
#else
|
||||||
send_dummy_byte();
|
send_dummy_byte();
|
||||||
send_dummy_byte();
|
send_dummy_byte();
|
||||||
Buffer++;
|
Buffer++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -462,12 +462,12 @@ uint8_t mmc_read_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks
|
||||||
|
|
||||||
resp = mmc_cmd ( cmd );
|
resp = mmc_cmd ( cmd );
|
||||||
|
|
||||||
/* TODO: Apacer Card I have sends 0x7f after some reads - No idea why - CRC was correct
|
/* TODO: Apacer Card I have sends 0x7f after some reads - No idea why - CRC was correct
|
||||||
if ( resp > 1 ) {
|
if ( resp > 1 ) {
|
||||||
MMC_Disable();
|
MMC_Disable();
|
||||||
return ( 2 );
|
return ( 2 );
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// Pad 8
|
// Pad 8
|
||||||
send_dummy_byte();
|
send_dummy_byte();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* P8000 WDC Emulator
|
* P8000 WDC Emulator
|
||||||
*
|
*
|
||||||
* $Id: wdc_drv_mmc.h,v 1.3 2012/06/05 18:21:48 olivleh1 Exp $
|
* $Id: wdc_drv_mmc.h,v 1.4 2012/06/05 19:46:26 olivleh1 Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -14,7 +14,6 @@ extern uint8_t mmc_read_sector ( uint32_t addr, uint8_t *Buffer );
|
||||||
extern uint8_t mmc_write_sector ( uint32_t addr, uint8_t *Buffer );
|
extern uint8_t mmc_write_sector ( uint32_t addr, uint8_t *Buffer );
|
||||||
|
|
||||||
extern uint8_t mmc_read_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks );
|
extern uint8_t mmc_read_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks );
|
||||||
extern uint8_t mmc_write_multiblock_predef ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks );
|
|
||||||
extern uint8_t mmc_write_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks );
|
extern uint8_t mmc_write_multiblock ( uint32_t addr, uint8_t *Buffer, uint8_t numblocks );
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* P8000 WDC Emulator
|
* P8000 WDC Emulator
|
||||||
*
|
*
|
||||||
* $Id: wdc_main.c,v 1.10 2012/06/05 18:21:48 olivleh1 Exp $
|
* $Id: wdc_main.c,v 1.11 2012/06/05 19:46:26 olivleh1 Exp $
|
||||||
*
|
*
|
||||||
* TODO: - Different Errorcodes in the MMC layer (use defines)
|
* TODO: - Different Errorcodes in the MMC layer (use defines)
|
||||||
* - errorchecking in several places
|
* - errorchecking in several places
|
||||||
|
|
@ -100,7 +100,7 @@ main ( void )
|
||||||
uart_putc_hex ( cmd_buffer[7] );
|
uart_putc_hex ( cmd_buffer[7] );
|
||||||
uart_putc_hex ( cmd_buffer[8] );
|
uart_putc_hex ( cmd_buffer[8] );
|
||||||
uart_putc ( '\n' );
|
uart_putc ( '\n' );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch ( cmd_buffer[0] ) {
|
switch ( cmd_buffer[0] ) {
|
||||||
|
|
@ -112,19 +112,19 @@ main ( void )
|
||||||
, data_counter
|
, data_counter
|
||||||
);
|
);
|
||||||
errorcode = 1;
|
errorcode = 1;
|
||||||
if(data_counter/512 == 1) {
|
if ( data_counter / 512 == 1 ) {
|
||||||
errorcode = wdc_write_sector ( blockno, data_buffer);
|
errorcode = wdc_write_sector ( blockno, data_buffer );
|
||||||
} else {
|
} else {
|
||||||
uart_putc('#');
|
uart_putc ( '#' );
|
||||||
errorcode = wdc_write_multiblock( blockno, data_buffer, data_counter/512);
|
errorcode = wdc_write_multiblock ( blockno, data_buffer, data_counter / 512 );
|
||||||
}
|
}
|
||||||
/* check if this really works - this must be used if the card does not support multiblock-access (there are some)
|
/* check if this really works - this must be used if the card does not support multiblock-access (there are some)
|
||||||
for ( i16 = 0; i16 < data_counter; i16 += 512 ) {
|
for ( i16 = 0; i16 < data_counter; i16 += 512 ) {
|
||||||
errorcode = wdc_write_sector ( blockno, &data_buffer[i16] );
|
errorcode = wdc_write_sector ( blockno, &data_buffer[i16] );
|
||||||
if ( errorcode ) break;
|
if ( errorcode ) break;
|
||||||
blockno++;
|
blockno++;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if ( errorcode )
|
if ( errorcode )
|
||||||
wdc_send_error();
|
wdc_send_error();
|
||||||
break;
|
break;
|
||||||
|
|
@ -135,19 +135,19 @@ main ( void )
|
||||||
blockno = wdc_p8kblock2sdblock ( ( ( uint32_t ) cmd_buffer[5] << 24 ) | ( ( uint32_t ) cmd_buffer[4] << 16 ) | ( ( uint16_t ) cmd_buffer[3] << 8 ) | cmd_buffer[2] );
|
blockno = wdc_p8kblock2sdblock ( ( ( uint32_t ) cmd_buffer[5] << 24 ) | ( ( uint32_t ) cmd_buffer[4] << 16 ) | ( ( uint16_t ) cmd_buffer[3] << 8 ) | cmd_buffer[2] );
|
||||||
|
|
||||||
errorcode = 1;
|
errorcode = 1;
|
||||||
if(data_counter/512 == 1) {
|
if ( data_counter / 512 == 1 ) {
|
||||||
errorcode = wdc_read_sector ( blockno, data_buffer);
|
errorcode = wdc_read_sector ( blockno, data_buffer );
|
||||||
} else {
|
} else {
|
||||||
uart_putc('#');
|
uart_putc ( '#' );
|
||||||
errorcode = wdc_read_multiblock( blockno, data_buffer, data_counter/512);
|
errorcode = wdc_read_multiblock ( blockno, data_buffer, data_counter / 512 );
|
||||||
}
|
}
|
||||||
/* check if this really works - this must be used if the card does not support multiblock-access (there are some)
|
/* check if this really works - this must be used if the card does not support multiblock-access (there are some)
|
||||||
for ( i16 = 0; i16 < data_counter; i16 += 512 ) {
|
for ( i16 = 0; i16 < data_counter; i16 += 512 ) {
|
||||||
errorcode = wdc_read_sector ( blockno, &data_buffer[i16] );
|
errorcode = wdc_read_sector ( blockno, &data_buffer[i16] );
|
||||||
if ( errorcode ) break;
|
if ( errorcode ) break;
|
||||||
blockno++;
|
blockno++;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if ( errorcode )
|
if ( errorcode )
|
||||||
wdc_send_error();
|
wdc_send_error();
|
||||||
wdc_send_data ( data_buffer
|
wdc_send_data ( data_buffer
|
||||||
|
|
@ -355,10 +355,10 @@ void measure_performance()
|
||||||
{
|
{
|
||||||
uint32_t starttime;
|
uint32_t starttime;
|
||||||
uint8_t data_buffer[4096];
|
uint8_t data_buffer[4096];
|
||||||
uint32_t blockno=0;
|
uint32_t blockno = 0;
|
||||||
uint8_t numblocks=4;
|
uint8_t numblocks = 4;
|
||||||
uint8_t i8, errorcode;
|
uint8_t i8, errorcode;
|
||||||
uint8_t nr_of_tests=5;
|
uint8_t nr_of_tests = 5;
|
||||||
|
|
||||||
#define BLOCKNO 300000
|
#define BLOCKNO 300000
|
||||||
sei();
|
sei();
|
||||||
|
|
@ -366,73 +366,79 @@ void measure_performance()
|
||||||
TCCR0B = ( 1 << CS01 ); // Prescaler 8
|
TCCR0B = ( 1 << CS01 ); // Prescaler 8
|
||||||
TCNT0 = 0x00;
|
TCNT0 = 0x00;
|
||||||
|
|
||||||
uart_puts_p ( PSTR ( "Performance Measurement. Displayed are the Timer-Overflows." ) );uart_putc ( '\n' );
|
uart_puts_p ( PSTR ( "Performance Measurement. Displayed are the Timer-Overflows." ) );
|
||||||
uart_puts_p ( PSTR ( "Timer is initialized with a Prescaler 8" ) );uart_putc ( '\n' );
|
uart_putc ( '\n' );
|
||||||
|
uart_puts_p ( PSTR ( "Timer is initialized with a Prescaler 8" ) );
|
||||||
|
uart_putc ( '\n' );
|
||||||
|
|
||||||
uart_puts_p ( PSTR ( "Test Read 5000 512B-Blocks with Multiblock-Read (4KB Blocksize):" ) );uart_putc ( '\n' );
|
uart_puts_p ( PSTR ( "Test Read 5000 512B-Blocks with Multiblock-Read (4KB Blocksize):" ) );
|
||||||
|
uart_putc ( '\n' );
|
||||||
|
|
||||||
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
||||||
blockno=BLOCKNO;
|
blockno = BLOCKNO;
|
||||||
for ( starttime = overflow; blockno < (BLOCKNO+5000); blockno+=numblocks ) {
|
for ( starttime = overflow; blockno < ( BLOCKNO + 5000 ); blockno += numblocks ) {
|
||||||
errorcode = wdc_read_multiblock ( blockno, data_buffer,numblocks );
|
errorcode = wdc_read_multiblock ( blockno, data_buffer, numblocks );
|
||||||
if(errorcode) {
|
if ( errorcode ) {
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(errorcode)
|
|
||||||
break;
|
|
||||||
uart_putdw_dec ( overflow - starttime );
|
|
||||||
uart_putc ( '\n' );
|
|
||||||
}
|
|
||||||
|
|
||||||
uart_puts_p ( PSTR ( "Test Write 5000 512B-Blocks with Multiblock-Write (4KB Blocksize):" ) );uart_putc ( '\n' );
|
|
||||||
memset ( &data_buffer[0], 0xCC, 512*numblocks );
|
|
||||||
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
|
||||||
blockno=BLOCKNO;
|
|
||||||
for ( starttime = overflow; blockno < (BLOCKNO+5000); blockno+=numblocks ) {
|
|
||||||
errorcode = wdc_write_multiblock ( blockno, data_buffer,numblocks );
|
|
||||||
if(errorcode) {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(errorcode)
|
if ( errorcode )
|
||||||
break;
|
break;
|
||||||
uart_putdw_dec ( overflow - starttime );
|
uart_putdw_dec ( overflow - starttime );
|
||||||
uart_putc ( '\n' );
|
uart_putc ( '\n' );
|
||||||
}
|
}
|
||||||
|
|
||||||
uart_puts_p ( PSTR ( "Test Read 5000 512B-Blocks with Singleblock-Read (512B Blocksize):" ) );uart_putc ( '\n' );
|
uart_puts_p ( PSTR ( "Test Write 5000 512B-Blocks with Multiblock-Write (4KB Blocksize):" ) );
|
||||||
|
uart_putc ( '\n' );
|
||||||
|
memset ( &data_buffer[0], 0xCC, 512 * numblocks );
|
||||||
|
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
||||||
|
blockno = BLOCKNO;
|
||||||
|
for ( starttime = overflow; blockno < ( BLOCKNO + 5000 ); blockno += numblocks ) {
|
||||||
|
errorcode = wdc_write_multiblock ( blockno, data_buffer, numblocks );
|
||||||
|
if ( errorcode ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( errorcode )
|
||||||
|
break;
|
||||||
|
uart_putdw_dec ( overflow - starttime );
|
||||||
|
uart_putc ( '\n' );
|
||||||
|
}
|
||||||
|
|
||||||
|
uart_puts_p ( PSTR ( "Test Read 5000 512B-Blocks with Singleblock-Read (512B Blocksize):" ) );
|
||||||
|
uart_putc ( '\n' );
|
||||||
|
|
||||||
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
||||||
blockno=BLOCKNO;
|
blockno = BLOCKNO;
|
||||||
for ( starttime = overflow; blockno < (BLOCKNO+5000); blockno++ ) {
|
for ( starttime = overflow; blockno < ( BLOCKNO + 5000 ); blockno++ ) {
|
||||||
errorcode = wdc_read_sector ( blockno, data_buffer );
|
errorcode = wdc_read_sector ( blockno, data_buffer );
|
||||||
if(errorcode) {
|
if ( errorcode ) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(errorcode)
|
if ( errorcode )
|
||||||
break;
|
break;
|
||||||
uart_putdw_dec ( overflow - starttime );
|
uart_putdw_dec ( overflow - starttime );
|
||||||
uart_putc ( '\n' );
|
uart_putc ( '\n' );
|
||||||
}
|
}
|
||||||
|
|
||||||
uart_puts_p ( PSTR ( "Test Write 5000 512B-Blocks with Singleblock-Write (512B Blocksize):" ) );uart_putc ( '\n' );
|
uart_puts_p ( PSTR ( "Test Write 5000 512B-Blocks with Singleblock-Write (512B Blocksize):" ) );
|
||||||
memset ( &data_buffer[0], 0xCC, 512*numblocks );
|
uart_putc ( '\n' );
|
||||||
|
memset ( &data_buffer[0], 0xCC, 512 * numblocks );
|
||||||
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
for ( i8 = 0; i8 < nr_of_tests; i8++ ) {
|
||||||
blockno=BLOCKNO;
|
blockno = BLOCKNO;
|
||||||
for ( starttime = overflow; blockno < (BLOCKNO+5000); blockno++ ) {
|
for ( starttime = overflow; blockno < ( BLOCKNO + 5000 ); blockno++ ) {
|
||||||
errorcode = wdc_write_sector ( blockno, data_buffer );
|
errorcode = wdc_write_sector ( blockno, data_buffer );
|
||||||
if(errorcode) {
|
if ( errorcode ) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(errorcode)
|
if ( errorcode )
|
||||||
break;
|
break;
|
||||||
uart_putdw_dec ( overflow - starttime );
|
uart_putdw_dec ( overflow - starttime );
|
||||||
uart_putc ( '\n' );
|
uart_putc ( '\n' );
|
||||||
}
|
}
|
||||||
|
|
||||||
while(1);
|
while ( 1 );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Loading…
Reference in New Issue