diff --git a/os/io/platforms/STM32/stm32_dma.c b/os/io/platforms/STM32/stm32_dma.c index 7368f1bb9..9593a5f51 100644 --- a/os/io/platforms/STM32/stm32_dma.c +++ b/os/io/platforms/STM32/stm32_dma.c @@ -45,11 +45,8 @@ static cnt_t dmacnt2; void dmaInit(void) { dmacnt1 = 0; - DMA1->IFCR = 0x0FFFFFFF; - #if defined(STM32F10X_HD) || defined (STM32F10X_CL) dmacnt2 = 0; - DMA2->IFCR = 0x0FFFFFFF; #endif } @@ -62,13 +59,17 @@ void dmaEnable(uint32_t dma) { switch (dma) { case DMA1_ID: - if (dmacnt1++ == 0) + if (dmacnt1++ == 0) { RCC->AHBENR |= RCC_AHBENR_DMA1EN; + DMA1->IFCR = 0x0FFFFFFF; + } break; #if defined(STM32F10X_HD) || defined (STM32F10X_CL) case DMA2_ID: - if (dmacnt2++ == 0) + if (dmacnt2++ == 0) { RCC->AHBENR |= RCC_AHBENR_DMA2EN; + DMA2->IFCR = 0x0FFFFFFF; + } break; #endif } diff --git a/readme.txt b/readme.txt index f9094ef39..ca32b3d11 100644 --- a/readme.txt +++ b/readme.txt @@ -3,6 +3,9 @@ ***************************************************************************** *** 1.3.4 *** +- FIX: Fixed wrong conditional in chschd.c (bug 2888836). +- FIX: Fixed wrong macro in chheap.c (bug 2888833). +- FIX: Fixed AIC initialization in AT91SAM7X support (bug 2888583). - NEW: New SPI (master) driver model. - NEW: SPI driver for STM32 implementing the new SPI driver model.