1. 系统记忆存储
AD16N SDK提供了系统记忆管理接口,用于保存断电之后还需要保存的信息;
目前系统记忆用于管理新VM和旧VM掉电记忆;
系统记忆存储使用的步骤分为三步:
第一步:系统初始化时,调用函数sysmem_init_api()初始化所有设备。
第二步:sys_memory.h头文件中定义数据记忆的SYSMEM_INDEX。
第三步:使用函数sysmem_write_api(…)写入需要的记忆数据。
第四步:使用函数sysmem_read_api(…)读出需要的记忆数据。
![]()
图1.1 系统记忆结构
1.1. 系统记忆存储接口
1.1.1. 函数int sysmem_init_api(u32 mem_addr, u32 mem_size)
此函数初始化设备记忆信息,其中参数:
1、mem_addr:存储掉电数据的EEPROM区域的起始地址 2、mem_size:存储掉电数据的EEPROM区域的长度
1.1.2. 函数int sysmem_read_api(u32 id, u8 *data_buf, u16 len)
此函数用于读取记忆数据,其中参数:
1、id:存储掉电数据的SYSMEM_INDEX 2、data_buf:读取记忆数据的buffer 3、len:读取记忆数据的长度 4、返回值: 成功,返回读取长度len 失败,错误值请查看errno-base.h
1.1.3. 函数int sysmem_write_api(u32 id, u8 *data_buf, u16 len)
此函数用于写入记忆数据,其中参数:
1、id:存储掉电数据的SYSMEM_INDEX 2、data_buf:写入记忆数据的buffer 3、len:写入记忆数据的长度 4、返回值: 成功,返回写入长度len 失败,错误值请查看errno-base.h
1.1.4. 函数void sysmem_pre_erase_api(void)
此函数用于预擦除设备。