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.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)

此函数用于预擦除设备。