History: media_drv_mmcsd_stm32


This page describes all changes made to the media_drv_mmcsd_stm32 package, the MMCSD Media Driver for STM32, since its release.

Version

2.20 (2020-07-20, 17:30):

  • Data buffer address is checked if it points to Core Coupled Memory (CCM) area before starting a DMA transfer. (DMA can not access CCM.)

2.19 (2020-05-19, 14:30):

  • psp_idle() called in busy state to indicate idle time.

2.18 (2019-02-08, 15:09):

  • Fixed Incompatibility issue with media_drv_base. This could cause file system initialization error when used with SafeFAT (IOCTL lock/unlock).

2.17 (2019-01-23, 16:31):

  • Added support for high speed (>25MHz, <=48MHz) operation.

2.16r2 (2018-08-29, 18:12):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.

2.16 (2017-10-09, 11:36):

  • Compiler warnings were eliminated.

2.15 (2017-06-30, 15:05)

  • A delay in the execution of the driver while performing MMC/SD read operation could lead to read error. This was typically the case of a higher priority task preempting the task the read (typically a file system read) was initiated from.

2.14 r2  (2017-06-21, 15:48):

  • PSP template for STM32F4 updated for usage with HAL in STM32CubeMX.

2.14:

  • wait_busy() avoids polling the status back-to-back as some cards will not tolerate this and will never finish a write request.
  • Multi-sector write and read will send CMD12 (STOP) even if data time-out has occurred to put back the card to a known state.

2.13:

  • Wait in mmcsd_set_speed() fixed: it could cause timeout error on the first read or write command.

2.12:

  • EMMC support added.

2.11:

  • Hardware flow control removed from the driver as STM32F20x and STM32F21x Errata sheet (DM00027123, 2.10.1) declares that hardware flow control is not reliable and therefore, it should not be used.

2.10:

  • Sector write could fail if the driver was reinitialized immediately after the write (release/init driver). This could occur because the busy state was waited at the beginning of read/write and re-initialization sends the card to idle state. This could also be an issue for the file system using the driver if it assumed the sector being written when it returned.

2.9:

  • Write from unaligned address worked incorrectly.

2.8:

  • Uses common mmcsd_init v1.0.

2.7:

  • Removed warnings.

2.6:

  • The driver can recover from unexpected states (extra error check added to wait_busy()).

2.5:

  • Added support for standard and high-capacity eMMC cards.

2.4 r2:

  • Added support for stm32f4xx devices.

2.4:

  • Added delay between SDIO_CLKCR writes. This issue could lead to lockups in under certain conditions as the SDIO clock could remain disabled.

2.3:

  • HCC_ASSERTs removed.

2.2:

  • Calculation of number_of_sectors corrected for non-SDHC cards.

2.1:

  • Compilation error fixed for the case when no ISR is used.

2.0:

  • Configuration separated and HW specific moved to mmcsd_hw.

1.2:

  • cd, wp, power separated to mmcsd_hw.

1.1:

  • MMCSD error codes introduced.

1.0:

  • Initial release.