TI中文支持网
TI专业的中文技术问题搜集分享网站

cc1310 TI-15.4STACK sensor/collector例程中nv的使用问题

我想在sensor/collector例程中来保存一个标志位,查看了相关内容可以存在nv中。

1.查看到在这两个例程中,有这部分代码,初始化了相关nv操作。

NVOCOP_loadApiPtrs(&Main_user1Cfg.nvFps);
#else
NVOCTP_loadApiPtrs(&Main_user1Cfg.nvFps);
#endif

if(Main_user1Cfg.nvFps.initNV)
{
Main_user1Cfg.nvFps.initNV( NULL);
}

我参照了里面读写部分,写了如下部分来读写标志位flag

NVINTF_nvFuncts_t *pNV = &Main_user1Cfg.nvFps;

NVINTF_itemID_t id;

/* Setup NV ID */
id.systemID = 7;
id.itemID = 0x0001;
id.subID = 0;

/* Read flag Information from NV */
pNV->readItem(id, 0, sizeof(uint8_t), flag );

pNV->writeItem(id, sizeof(uint8_t), flag );

运行后发现读写都正常,按下reset重启后也能读到上次写入的数据。但是掉电重启后,读取flag的数据就不是上次写入的数据。再进行写入读取的话又是正常,能否指导下看下我这样操作nv是否正确?

2.查看了sdk中的例程,也有nv部分的例程nvsexternal和nvsinternal,查看后发现这里面的nv操作跟sensor/collector中的nv操作(调用的函数,配置的方式等..)请问这两者的nv操作,操作的是不同nv吗?

Alvin Chen:

一个是片上的一个是外部flash芯片。

user4853383:

回复 Alvin Chen:

你好,sensor/collector中的nv操作是片内的吧?但是看了跟nvsinternal中的操作过程也不一样

Alvin Chen:

回复 user4853383:

NV是片内的下面的参数不不能和SDK里面已有冲突,建议是用nvsinternal去存储数据
id.systemID = 7;
id.itemID = 0x0001;
id.subID = 0;

user4853383:

回复 Alvin Chen:

有看了SDK中的systemID是0~6,所以才我改用了个7来配置
// NV system ID codes
#define NVINTF_SYSID_NVDRVR 0
#define NVINTF_SYSID_ZSTACK 1
#define NVINTF_SYSID_TIMAC2
#define NVINTF_SYSID_REMOTI 3
#define NVINTF_SYSID_BLE4
#define NVINTF_SYSID_6MESH5
#define NVINTF_SYSID_APP6

赞(0)
未经允许不得转载:TI中文支持网 » cc1310 TI-15.4STACK sensor/collector例程中nv的使用问题
分享到: 更多 (0)