杰发科技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;
        }
    }
}
相关推荐
邵奈一7 小时前
【紧急处理ZCode事件】ZCode 工作区快照静默上传:检测方法与三层防护实践
人工智能·学习·大模型·国产
youyou-060617 小时前
Classic AUTOSAR 中 CAN 协议栈整体架构
mcu·面试·汽车
意法半导体STM322 天前
【官方原创】LAT1709STM32C5硬件CRC值的计算话题
stm32·单片机·嵌入式硬件·mcu·crc·微控制器·stm32c5
国科安芯3 天前
低轨卫星姿轨控系统中高可靠嵌入式控制单元的设计与验证
单片机·mcu·低轨卫星·星间链路·卫星姿轨控
国科安芯3 天前
卫星电源管理系统中宽温域低功耗MCU的选型与适应性分析
嵌入式硬件·mcu·抗干扰·抗辐射·宽温
youcans_4 天前
【嵌入式软件AI编程】09. 使用VS Code调试STM32程序
stm32·mcu·ai编程·嵌入式软件·claude code
国科安芯4 天前
寄存器级 Flash 擦除与六轮迭代踩坑实录
嵌入式硬件·mcu·架构·flash·抗辐射·eflash
Groundwork Explorer4 天前
ESP32-C3 SuperMini 排查WIFI收发故障
python·单片机·嵌入式硬件·mcu
星源~5 天前
Linux - Trae Code Linux 环境嵌入式开发指南
linux·mcu·嵌入式·trae code
Lzh编程小栈5 天前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试