Middlewares STM32 FatFS Généralités FatFs - Generic FAT Filesystem Module → Implémentation de base de FatFS sur micro-contrôleur. UM1721 User Manual - Developing applications on STM32Cube™ with FatFs → Documentation ST sur la mise en oeuvre de FatFS sur STM32CubeMX Implantation sur carte SD Tutorial: An SD card over SPI using STM32CubeIDE and FatFS → tutoriel de mise en œuvre du middleware FatFS sous STM32CubeIDE pour stocker des données sur une carte SD interfacée en SPI. STM32 – Creating a File System on a SD card → tutoriel de chez ST de mise en oeuvre de FatFS sous STM32CubeIDE sur une carte SD interfacée par bus SDIO 4 bits. Hard Fault with STM32 and FatFs – SOLVED → FATFS middleware: invert card detect logic level → question sur le forum ST portant sur le niveau logique attendu sur la broche associée du lecteur de carte SD lorsque la carte SD est insérée. Le niveau attendu par le middleware est 0. Or certains lecteurs, comme celui d’Adafruit, renvoie 1. L’article apporte 2 solutions. Nivellement d’usure (→ wear leveling) Ci-dessous quelques références sur des solutions techniques au problème du nombre restreint de cycles d’écriture sur les mémoires flash : Atmel AVR116: Wear Leveling on DataFlash FTL Wear Leveling ftl_project Infineon AN98521 - Wear Leveling USB Généralités Câblage USB sur Nucleo F411RE Introduction to USB with STM32 → Section traitant de l’USB sur le wiki de ST sur les microcontrôleurs STM32 USB host USB storage with STM32F4-Discovery and CubeMX → article décrivant comment lire/écrire sur une clé USB depuis le STM32 (⇒ mode USB HOST) USB Device Management of VBUS sensing for USB device design → article de la base de connaissances de la communauté ST qui décrit comment concevoir la structure de détection de VBUS sur un device USB pour savoir lorsqu’il est relié à un host. IMPORTANT pour la partie EC USB Device MSC SD Card reader USB Mass Storage device with STM32 microcontroller and SD-card. → article (un peu ancien) qui explique comment faire d’une STM32 un lecteur de carte SD sur bus USB. Une vidéo qui s’appuie sur cet article est disponible sur Make STM32F4 a USB SD Card reader SDIO+DMA+FATFS+USB MASS Storage → article chinois Procédure CubeMX configurer une des broches GPIO disponibles en “GPIO_Input” et la nommer, par exemple, “SD_DETECT”. Cette broche sera utilisée pour indiquer si une carte SD est présente dans le lecteur Middleware FatFS Mode : cocher “SD Card” Dans le panneau “Platform Settings” de la configuration, sélectionner la broche “SD_DETECT” pour le paramètre “Detect_SDIO” System Core RCC : Sélectionner “BYPASS Clock Source” pour le paramètre “High Speed Clock (HSE)” et “Crystal/Ceramic Resonator” pour le paramètre “Low Speed Clock (LSE)” Connectivity USB_OTG_FS Mode : “Device Only”. Configuration de base dans le panneau de configuration Middleware USB_DEVICE Class for FS IP : “Mass Storage Class” Configuration de base dans le panneau de configuration Lancer la résolution automatique de conflit dans le panneau de configuration des horloges (l’USB nécessite une horloge précise de 48MHz) FreeRTOS Sur les micro-contrôleurs de la série Cortex-M (ex. : STM32F4, STM32U5) , la version de l’API à utiliser dans les middlewares de CubeIDE est “CMSIS_V1”. Source : The difference between CMSIS_V1 and CMSIS_V2 Généralités FreeRTOS → Document en français qui présente FreeRTOS de manière synthétique Ressources FreeRTOS fournies par Metraware Cours + TP sur FreeRTOS donnés par M.Pardo en licence EPOCS FreeRTOS cours et exercice sur STM32 avec SW4STM32 et STM32Cube → Cours en français sur FreeRTOS FreeRTOS tutorials → série de tutoriels sur FreeRTOS rédigés par Laurent Latorre pour être utilisés à Polytech Montpellier How to manually add FreeRTOS to CubeIDE project → Article de la base de connaissances de la communauté ST qui décrit comment utiliser une version de FreeRTOS différente de celle fournie avec les middlewares du MCU Firmware Package UM1722 Developing applications on STM32Cube with RTOS → Manuel utilisateur de chez STMicroElectronics sur l’utilisation de FreeRTOS sur les micro-contrôleurs STM32 Prise en charge des modes de veille STM32 RTC Scheduler → implémentation sur un STM32L4 d’un ordonnanceur basé sur FreeRTOS et sur la RTC d’un STM32 pour permettre de planifier et d’exécuter des tâches récurrentes et périodiques tout en minimisant la consommation d’énergie pour maximiser la durée de vie de la batterie. Exemple de mise en oeuvre à étudier particulièrement car sûrement adapté à note situation. STM32 deepsleep modes (STOP\ → article comment utiliser un “_hook_” de FreeRTOS pour synchroniser des ta^ches avant de passer en mode basse consommation FreeRTOS + STM32U5 Will STM32CubeMX support FreeRTOS for STM32U5-series? FreeRTOS/iot-reference-stm32u5 🞄 🞄 🞄 Nucleo F411RE APIs