gpt4 book ai didi

stm32 - 如何在STM32F4中使用备份SRAM作为EEPROM

转载 作者:行者123 更新时间:2023-12-02 14:28:41 26 4
gpt4 key购买 nike

在 STM32F4 上模拟 EEPROM 有两种方法:

  1. 片上 4 KB 备份 SRAM
  2. 片上Flash,具有特定的软件算法

第二个选项的描述如下:AN3969。

但不幸的是,谷歌无法提供有关如何使用第一个选项的信息 - 使用 4Kb 备份 SRAM 作为 EEPROM?...

任何人都可以帮忙解决这个话题吗?

最佳答案

必须做到这些:

  1. 启用 PWR 时钟

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
  2. 启用对备份域的访问

    PWR_BackupAccessCmd(ENABLE);
  3. 启用备份 SRAM 时钟

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM, ENABLE);
  4. 启用备份 SRAM 低功耗稳压器以在 VBAT 模式下保留其内容

    PWR_BackupRegulatorCmd(ENABLE);

您可以向sram写入/读取数据(这些代码来自STM32F4xx_DSP_StdPeriph_Lib中的BKP_Domain代码)(在我的mcu stm32f417 BKPSRAM_BASE=0x40024000中)

   // Write to Backup SRAM with 32-Bit Data 
for (i = 0x0; i < 0x100; i += 4) {
*(__IO uint32_t *) (BKPSRAM_BASE + i) = i;
}

// Check the written Data
for (i = 0x0; i < 0x100; i += 4) {
if ((*(__IO uint32_t *) (BKPSRAM_BASE + i)) != i){
errorindex++;
}
}

如果你愿意的话:

    // Wait until the Backup SRAM low power Regulator is ready
while(PWR_GetFlagStatus(PWR_FLAG_BRR) == RESET)
{}

您可以在STM32F4xx_DSP_StdPeriph_Lib中找到这些函数。

关于stm32 - 如何在STM32F4中使用备份SRAM作为EEPROM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com