|
|
|
@ -298,9 +298,6 @@ secbool sdcard_read_blocks(uint32_t *dest, uint32_t block_num,
|
|
|
|
|
|
|
|
|
|
HAL_StatusTypeDef err = HAL_OK;
|
|
|
|
|
|
|
|
|
|
// we must disable USB irqs to prevent MSC contention with SD card
|
|
|
|
|
uint32_t basepri = raise_irq_pri(IRQ_PRI_OTG_FS);
|
|
|
|
|
|
|
|
|
|
sd_dma.Instance = DMA2_Stream3;
|
|
|
|
|
sd_dma.State = HAL_DMA_STATE_RESET;
|
|
|
|
|
sd_dma.Init.Channel = DMA_CHANNEL_4;
|
|
|
|
@ -340,8 +337,6 @@ secbool sdcard_read_blocks(uint32_t *dest, uint32_t block_num,
|
|
|
|
|
HAL_DMA_DeInit(&sd_dma);
|
|
|
|
|
sd_handle.hdmarx = NULL;
|
|
|
|
|
|
|
|
|
|
restore_irq_pri(basepri);
|
|
|
|
|
|
|
|
|
|
return sectrue * (err == HAL_OK);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -359,9 +354,6 @@ secbool sdcard_write_blocks(const uint32_t *src, uint32_t block_num,
|
|
|
|
|
|
|
|
|
|
HAL_StatusTypeDef err = HAL_OK;
|
|
|
|
|
|
|
|
|
|
// we must disable USB irqs to prevent MSC contention with SD card
|
|
|
|
|
uint32_t basepri = raise_irq_pri(IRQ_PRI_OTG_FS);
|
|
|
|
|
|
|
|
|
|
sd_dma.Instance = DMA2_Stream3;
|
|
|
|
|
sd_dma.State = HAL_DMA_STATE_RESET;
|
|
|
|
|
sd_dma.Init.Channel = DMA_CHANNEL_4;
|
|
|
|
@ -401,7 +393,5 @@ secbool sdcard_write_blocks(const uint32_t *src, uint32_t block_num,
|
|
|
|
|
HAL_DMA_DeInit(&sd_dma);
|
|
|
|
|
sd_handle.hdmatx = NULL;
|
|
|
|
|
|
|
|
|
|
restore_irq_pri(basepri);
|
|
|
|
|
|
|
|
|
|
return sectrue * (err == HAL_OK);
|
|
|
|
|
}
|
|
|
|
|