杰发科技AC7840/AC7843——standby模式保留ram数据

7840 ram地址分配

7840 standby低功耗下ram数据保留

keil的sct中配置如下

代码调用

cpp 复制代码
uint8 g_standbyTest __attribute__((section(".uinit_ram1fff"), zero_init));
uint8 g_standbyTestv1 __attribute__((section(".uinit_ram1400"), zero_init));

在休眠之前定义

退出休眠后

发现数据保留了

7843 ram地址分配

7843 standby低功耗下ram数据保留

sct链接文件修改

变量定义

cpp 复制代码
uint8 g_standbyTest __attribute__((section(".uinit_ram1fff"), zero_init));
uint8 g_standbyTestv1 __attribute__((section(".uinit_ram2000"), zero_init));
uint8 g_standbyTestBuff[3]  __attribute__ ((section(".uinit_ram1fff"),zero_init));

测试代码

cpp 复制代码
int main(void)
{
    Spm_Reg_SelectLVDThreshold(SPM_LOW);    /* 设置低电压检测阈值: SPM_LOW对应3.3V供电系统, SPM_HIGH对应5V供电系统 */

    Ckgen_Hal_InitClk(&g_clockGenCfg);
    Ckgen_Hal_DistributeClk(&g_clkDistributeCfg);

    OsIf_Init();
    Debug_Init();

    GPIO_KeyInit();
    GPIO_LedInit();
	
    Spm_Hal_Init(&Spm_UserConfig);

    Debug_Printf("GPIO Basic Test-----------------\r\n");
	
		spmWakeupStatus = Spm_Hal_GetStandbyWakeupStatus();
		Debug_Printf("spmWakeupStatus = %x\r\n",spmWakeupStatus);
	
		resetStatus = Rcm_Hal_GetResetStatus();
		Debug_Printf("resetStatus = %x\r\n",resetStatus);
	
	
		Debug_Printf("standbyTest = %d\r\n",g_standbyTest);
        Debug_Printf("standbyTestv1 = %d\r\n",g_standbyTestv1);
		Debug_Printf("g_standbyTestBuff = %d\r\n",g_standbyTestBuff[0]);
	
		g_standbyTest = 100;                         /*standbyTest   赋值后 Standby 唤醒后SRAM中保持为0x64*/
        g_standbyTestv1 = 100;                       
		g_standbyTestBuff[0] = 100;

		OsIf_UDelay(1000000);
		
		Rcm_Hal_ClearResetStatus();
		
		
    while (1)
    {
        LED_Toggle_Task();

        if (FALSE != Get_Key1_Status())
        {
						Spm_Hal_SetPowerMode(SPM_MODE_STANDBY);
            LED1_TOGGLE;
            LED2_TOGGLE;
        }
    }
}
相关推荐
sramdram8 小时前
低功耗MCU微控制器在动态血糖仪(CGM)中的应用方案
单片机·嵌入式硬件·mcu·mcu微控制器
GeekArch3 天前
第8讲:裸机单片机项目——Vibe快速迭代的最优边界
c语言·stm32·单片机·嵌入式硬件·mcu·物联网·ai编程
GeekArch4 天前
第5讲:嵌入式场景二范式决策树:什么情况快写、什么情况严写
人工智能·stm32·单片机·mcu·物联网·决策树·机器学习
不想努力只想躺平的菜鸟ing6 天前
2. UART与TTL UART、CMOS UART、RS232、RS422、RS485、tod
mcu
OIDCAT7 天前
国产USB转千兆网卡芯片CH398 VLAN应用
网络·嵌入式硬件·国产·usb转千兆网卡
腾讯数据架构师7 天前
CubeStudio 平台简介:国产化云原生一站式开源人工智能平台(MLOps / 大模型全链路)
人工智能·云原生·开源·mlops·国产·maas·机器学习平台
wuyk5559 天前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
MounRiver_Studio12 天前
RISC-V IDE MRS2调试秘籍(三):通过栈帧可视化模块定位栈溢出、栈内存非法篡改等运行时错误
mcu·risc-v·代码调试
MounRiver_Studio12 天前
RISC-V IDE MRS2调试秘籍(一):通过Memory内存导出对比,锁定隐性内存异常代码
mcu·调试技巧·risc-v·代码调试
sramdram12 天前
灵动高性能32位MCU空调解决方案
单片机·嵌入式硬件·mcu·32位mcu