杰发科技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;
        }
    }
}
相关推荐
小向是个Der1 天前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
飞猫的边缘AI3 天前
MCU面试开放题
人工智能·mcu·面试·求职招聘·flash·ram·边缘ai
霖霖7143 天前
【笔记】直流减速电机(GA25-370)调速
笔记·单片机·mcu
极客 - L U4 天前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
橘色的喵4 天前
嵌入式Linux编程,如何把硬件中断交给用户态--UIO 的机制
linux·mcu·isr·中断·uio
笨笨饿5 天前
#143_屏幕画撕裂的问题及解决方法
linux·stm32·单片机·嵌入式硬件·mcu·lvgl·嵌入式实时数据库
李永奉5 天前
杰理可视化SDK开发-音频录制功能使用教程
笔记·单片机·嵌入式硬件·mcu·物联网·音视频
艾络迅Acceleronix5 天前
气象监测:STM32+EG800Z AT + 艾络迅平台实战|气压/光照/雨量采集全流程
stm32·单片机·嵌入式硬件·mcu·物联网·1024程序员节
李永奉5 天前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦DNS通话算法后,大概率通话时蓝牙自动断连,RAM空间爆了问题处理
单片机·嵌入式硬件·mcu·物联网·电脑·bug
笨笨饿7 天前
# 59_CSDN博客自动写流程文章
linux·jvm·stm32·单片机·嵌入式硬件·mcu·51单片机