CN / EN
CN / EN

提问

获得支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

NVDS 的NvdsTag_t tag问题; GR551x

天狼落星

2019-08-12 15:36

在使用NVDS的时候如何初始化 NvdsTag_t tag,

有什么主意事项吗,我引入到UART透传的工程中,但芯片无限重启

定义了3个tag


0收藏

0赞成

sherlock

汇顶员工
2019-08-12 16:26

NVDS_START_ADDR可以是0x01002000~0x01100000的任意一个4K对齐地址上;但不能落在应用程序地址空间上,否则会导致读写NVDS时破坏Flash存储的应用程序。

每个Page是4K;Page的取值范围应该满足NVDS_START_ADDR + Page number * 4K < Flash End Address。

NVDS会根据每个tag对应数据的长度,从NVDS地址空间分配空间来存储tag对应的数据,在Read时NVDS会根据tag去对应的地址取数据。

tag与地址的关系是NVDS内部自动分配的。调用 nvds_pus时传入的tag,若是新增tag则该api会新建该tag。

开发者需要维护tag值的含义,后续read的时候根据tag取数据。

tag编号开发者可使用0x4000~0x8000的编号;

例如nvds_get(NvdsTag_t tag, uint16_t *p_len, uint8_t *p_buf)函数的tag入参范围是0x4000~0x8000;

如果传入0x4000这样的数值不方便,建议用NV_TAG_APP宏来转换,例如: nvds_put(NV_TAG_APP(1), len, p_buf);

0条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注