Comment utiliser la Sauvegarde SRAM comme EEPROM dans STM32F4
Il y a deux façons de l'émulation de l'EEPROM sur la STM32F4:
- Sur-puce de 4 kilo-octets de sauvegarde SRAM
- Sur puce Flash, avec des logiciels spécifiques de l'algorithme de
La deuxième option est décrite ici: AN3969.
Mais google, malheureusement, n'a pas été en mesure de fournir des informations sur la façon d'utiliser la première option à l'aide de la 4ko de sauvegarde SRAM comme l'EEPROM?..
N'importe qui peut aider sur le sujet?
Avez-vous de la série stm32 f4 bibliothèque ou devez-vous modifier périphérique registres de vous-même?
OriginalL'auteur Jolle | 2013-12-18
Vous devez vous connecter pour publier un commentaire.
doivent faire ceux-ci:
Activer le bouton PWR horloge
Permettre l'accès à la sauvegarde de domaine
Activer la sauvegarde SRAM Horloge
Permettre la Sauvegarde d'une mémoire SRAM de faible Régulateur de puissance pour conserver son contenu en mode VBAT
et vous pouvez écrire/lire des données à des sram (ces codes de BKP_Domain codes STM32F4xx_DSP_StdPeriph_Lib) (dans mon mcu stm32f417 BKPSRAM_BASE=0x40024000)
alors si vous voulez:
vous pouvez trouver ces fonctions dans STM32F4xx_DSP_StdPeriph_Lib.
OriginalL'auteur ytasan
après avoir lu le Manuel de Référence pour les stm32f4 et la stm32f405xx/stm32f407xx fiche technique je suis d'accord qu'il n'est pas clair comment l'utiliser effectivement la sauvegarde de sram (ou où il est situé). Voici ce que j'ai trouvé. Le CCF de registres et de sauvegarde SRAM contiennent une certaine quantité de stockage est maintenu aussi longtemps que vous avez de la batterie. Le CCF contient 20 registres (80 octets) et la sauvegarde de sram (qui est son propre périphérique sur AHB1 et situé dans le registre de l'adresse de région) contient 0x1000 (4096 octets). Ni sont activées par défaut.
dans DM00037051 (stm32f405xx/stm32f407xx mode feuille de données, p29):
à la page 71 de la feuille de données et p65 du manuel de référence
et à la page 73 de la datatasheet et p67 du manuel de référence
Page 118-119 du manuel de référence contient des informations sur l'activation de la sauvegarde SRAM et RTC registres.
REMARQUE: si vous utilisez déjà le CCF dans le domaine de sauvegarde et seulement besoin de stocker des <= 80 octets, alors vous êtes mieux d'utiliser le RTC sauvegarde des registres car l'activation de la sauvegarde SRAM seront à peu près le double de la consommation actuelle (voir le tableau 25 dans le stm32f405/7 fiche technique).
voici mon écriture et de lecture fonctions pour la sauvegarde de SRAM et de sauvegarde RTC registres
OriginalL'auteur swinman
J'ai dû sauter de programme principal bootloader sur demande de l'utilisateur.
Donc j'ai mis un "nombre magique" dans BKPSRAM dans le programme principal, n'CPU soft reset.
Bootloader commence toujours en premier.
Il vérifie pour le "nombre magique" si elle est présente, elle s'exécute, d'autre commence le programme principal
lors de l'utilisation de HAL, c'est la façon de sauter à bootloader:
à l'intérieur du chargeur de démarrage de lire nombre magique il suffit d'activer la sauvegarde sram horloge (bootloader utilise StdPeriphDriver).
cpu est stm32f407
OriginalL'auteur mkonvisar
Je suis actuellement à l'aide de l'un STM32F2xx microcontrôleur. Selon la fiche technique:
Un supercap, par exemple, serait nécessaire pour maintenir le contenu de la sauvegarde des registres, tandis que le micro-contrôleur est hors tension.
Également, selon le document:
Il vous donne des instructions sur la façon d'accéder à la sauvegarde de domaine directement par écrit à la certains périphériques registre. Si vous avez accès à la STM32F4xx de la bibliothèque, vous pouvez appeler quelque chose comme ceci (note: je suis en utilisant le STM32F2xx bibliothèque):
Remarque: Il est plus que simplement de l'appel de la fonction ci-dessus, telles que l'activation de la sauvegarde d'une mémoire SRAM de l'interface de l'horloge. Consulter le STM32F4 série de la documentation.
Il y a beaucoup de documentation intégrée à la bibliothèque de la source qui est inestimable et si elle est disponible, doit être lu.
Sur le STM32F2 microcontrôleurs de la série, le SRAM est situé à l'adresse mémoire de la gamme:
Et peut-être écrit quelque part, au lieu, par exemple, comme suit:
OriginalL'auteur Fiddling Bits
Utilisable exemple
En-tête:
Dans le code de la tête
définir comme données:
Dans L'Init:
Dans la procédure:
OriginalL'auteur MrTip Sonatson
Voici l'exemple de HAL bibliothèque pour utiliser la sauvegarde SRAM.
OriginalL'auteur Meera
Configuration de HAL pour STM32H7 pour accéder à la sauvegarde d'une mémoire SRAM:
En plus de cela, vous devez ajouter une ligne ci-dessous dans systemInit() pour activer l'écriture par le biais de l'accès à la Sauvegarde de SRAM.
OriginalL'auteur SASIDHARAN SR