.. _系统记忆存储: 系统记忆存储 ========================================================================== AD16N SDK提供了系统记忆管理接口,用于保存断电之后还需要保存的信息; 目前系统记忆用于管理新VM和旧VM掉电记忆; 系统记忆存储使用的步骤分为三步: - 第一步:系统初始化时,调用函数sysmem_init_api()初始化所有设备。 - 第二步:sys_memory.h头文件中定义数据记忆的SYSMEM_INDEX。 - 第三步:使用函数sysmem_write_api(...)写入需要的记忆数据。 - 第四步:使用函数sysmem_read_api(...)读出需要的记忆数据。 .. image:: 1-1_sysmem_frame.png :alt: "图1.1 系统记忆结构“ :align: center .. centered:: 图1.1 系统记忆结构 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 系统记忆存储接口 ################################ 函数int sysmem_init_api(u32 mem_addr, u32 mem_size) **************************************************************************************************** 此函数初始化设备记忆信息,其中参数: :: 1、mem_addr:存储掉电数据的EEPROM区域的起始地址 2、mem_size:存储掉电数据的EEPROM区域的长度 函数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 函数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 函数void sysmem_pre_erase_api(void) **************************************************************************************************** 此函数用于预擦除设备。