打印
[N32G45x]

国民技术N32G45X低功耗问题之更改全局变量和栈在RAM中的地址

[复制链接]
153|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呐咯密密|  楼主 | 2024-3-20 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近项目中用的MCU是国民技术的N32G45X,MCU的资源很丰富,RAM也很大,配套的库和例程也比较全,用起来还是不错的,但是在调试低功耗的时候还是费了不少劲。

首先由于项目低功耗需要,只能选择停机模式2(STOP2)。根据数据手册的描述,在此模式下外部低速时钟开启, RTC运行, R-SRAM保持,所有I/O状态保持,独立看门狗处于关闭状态,25℃的条件下电流为10个微安。

用的这款MCU的RAM是144KB,分为SRAM(128KB)和R-SRAM( Retention SRAM – 16KB),如果不考虑低功耗的话资源还是很充足的,R-SRAM的总线地址与 SRAM 是连续相接的,不用做特别的区分。但是在STOP2模式下SRAM 数据不能保持,R-SRAM 可以保持数据。这也就意味着全局变量和栈必须放在R-SRAM中。栈的作用是用于局部变量、函数形参、函数调用时的现场保护和返回地址,以及进入中断函数前和中断嵌套等的开销,如果栈内容丢失,退出STOP2模式后找不到函数入口,就无法运行。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

351

主题

2775

帖子

40

粉丝