## 代码使用了libjson-c库,需要安装libjson-c库 ## EEPROM开放区域为[4096:8191], 禁止修改非开放区域内容,开放区域由客户自主管理 函数原型:读写空间大小为[4096:8191]。 static int nvm_write(nvmem_t *p, int offset, void *buf, int bytes) 参数: 1、nvmem_t *p —— 设备名 2、int offset —— 偏移基址 3、void *buf —— 数据内容 4、int bytes —— 数据长度 static int nvm_read(nvmem_t *p, int offset, void *buf, int bytes) 参数: 1、nvmem_t *p —— 设备名 2、int offset —— 偏移基址 3、void *buf —— 数据内容 4、int bytes —— 数据长度 ## 代码库对非开放区域作了简单的越界保护检查,防止误写,下为main.c中一些边界条件的测试结果,供参考: root@EM-1000:~$ hexdump -C nvmem 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00001000 48 65 6c 6c 6f 20 57 6f 72 6c 64 20 69 6e 20 43 |Hello World in C| 00001010 2b 2b 2c 20 41 6e 73 69 2d 73 74 79 6c 65 00 00 |++, Ansi-style..| 00001020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001030 00 00 00 00 00 00 00 00 00 00 00 00 48 65 6c 6c |............Hell| 00001040 6f 20 57 6f 72 6c 64 20 69 6e 20 43 2b 2b 2c 20 |o World in C++, | 00001050 41 6e 73 69 2d 73 74 79 6c 65 00 00 00 00 00 00 |Ansi-style......| 00001060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00001ff0 00 00 00 00 00 00 00 00 00 00 48 65 6c 6c 6f 20 |..........Hello | 00002000