ST意法半导体
直播中

李秀兰

7年用户 1452经验值
私信 关注
[问答]

如何使用STM32L4R将SRAM2的数据保留配置为待机模式?


我正在使用 STM32L4R 并希望将 SRAM2 的数据保留配置为待机模式。

我对链接器文件做了以下更改:
  • /* Highest address of the user mode stack */
  • _estack = 0x10004000;    /* end of RAM */
  • /* Generate a link error if heap and stack don't fit into RAM */
  • _Min_Heap_Size = 0x800;      /* required amount of heap  */
  • _Min_Stack_Size = 0x800; /* required amount of stack */
  • /* Specify the memory areas */
  • MEMORY
  • {
  • RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 640K
  • FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 2048K
  • SRAM2 (rw)      : ORIGIN = 0x10000000, LENGTH = 16K
  • }
  • [........]
  •   .data :
  •   {
  •     . = ALIGN(8);
  •     _sdata = .;        /* create a global symbol at data start */
  •     *(.data)           /* .data sections */
  •     *(.data*)          /* .data* sections */
  •     . = ALIGN(8);
  •     _edata = .;        /* define a global symbol at data end */
  •   } >SRAM2
如屏幕截图所示,数据实际上保存在 SRAM2 (0x10000000)中,但计数器除外,它专门用
易失性 uint32_t 计数器 __attribute__((section(".sram2")));
重新启动程序后,其他所有内容都会重置。我究竟做错了什么?还是我必须自己手动将每个变量输入到 sram2?


回帖(1)

徐凤

2022-12-26 15:58:44
> 但计数器除外,它专门用
> 易失性 uint32_t 计数器 __attribute__((section(".sram2")));
> 重新启动程序后,其他所有内容都会重置。

其他 SRAM2 变量如何初始化。
SRAM2 是否标记为 NOLOAD?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分