Stupid SD backup bug on ARM

This commit is contained in:
bsongis
2012-06-21 22:05:55 +00:00
parent fb493b5415
commit c9a8934e06
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -972,7 +972,7 @@ const pm_char * eeBackupModel(uint8_t i_fileSrc)
return SDCARD_ERROR(result);
}
uint16_t size = File_system[i_fileSrc].size ;
uint16_t size = File_system[i_fileSrc+1].size ;
read32_eeprom_data( (File_system[i_fileSrc+1].block_no << 12) + sizeof( struct t_eeprom_header), ( uint8_t *)&Eeprom_buffer.data.model_data, size) ;
result = f_write(&archiveFile, (uint8_t *)&Eeprom_buffer.data.model_data, size, &written);
+2 -2
View File
@@ -623,10 +623,10 @@ uint32_t sd_read_block(uint32_t block_no, uint32_t *data)
// Block size = 512, nblocks = 1
phsmci->HSMCI_BLKR = ((512) << 16) | 1;
phsmci->HSMCI_MR = (phsmci->HSMCI_MR & (~(HSMCI_MR_BLKLEN_Msk|HSMCI_MR_FBYTE))) | (HSMCI_MR_PDCMODE|HSMCI_MR_WRPROOF|HSMCI_MR_RDPROOF) | (512 << 16);
phsmci->HSMCI_ARGR = block_no << 9;
phsmci->HSMCI_RPR = (uint32_t)data;
phsmci->HSMCI_RCR = 512 / 4;
phsmci->HSMCI_PTCR = HSMCI_PTCR_RXTEN;
phsmci->HSMCI_ARGR = block_no << 9;
phsmci->HSMCI_CMDR = SD_READ_SINGLE_BLOCK;
uint8_t retry = 100;
@@ -656,9 +656,9 @@ uint32_t sd_write_block( uint32_t block_no, uint32_t *data )
// Block size = 512, nblocks = 1
phsmci->HSMCI_BLKR = ((512) << 16) | 1;
phsmci->HSMCI_MR = (phsmci->HSMCI_MR & (~(HSMCI_MR_BLKLEN_Msk|HSMCI_MR_FBYTE))) | (HSMCI_MR_PDCMODE|HSMCI_MR_WRPROOF|HSMCI_MR_RDPROOF) | (512 << 16);
phsmci->HSMCI_ARGR = block_no << 9;
phsmci->HSMCI_TPR = (uint32_t)data;
phsmci->HSMCI_TCR = 512 / 4;
phsmci->HSMCI_ARGR = block_no << 9;
phsmci->HSMCI_CMDR = SD_WRITE_SINGLE_BLOCK;
phsmci->HSMCI_PTCR = HSMCI_PTCR_TXTEN;