hi dialog
@file nvds.h
uint8_t nvds_put(uint8_t tag, nvds_tag_len_t length, uint8_t *buf);
我'm working with SDK 3.0.10 and trying to write the NVDS. However, when enabling read/write (#define NVDS_READ_WRITE 1), trying to call nvds_put() results in a linker error: ".\out\full_emb_sysram.axf: Error: L6218E: Undefined symbol nvds_put (referred from nvds.o)."
How can NVDS be written? Specifically I am interested in configuring the device's name (NVDS_TAG_DEVICE_NAME) and the BD address (NVDS_TAG_BD_ADDRESS). Both of these will be configured via an external command from a host MCU as part of production, and will be different for every device manufactured.
Device:
Hi libra_13179,
The nvds_put() isn't supported that's why you get the linker error.
The NVDS can be programmed through the OTP header or the SPI using Smart Snippets or the programming line tool and the programming tool can only set the BDaddress not the device name.
Thanks MT_dialog
我t depends on your setup, but maybe you could just write a custom application firmware for each device, in which you have replaced the appropriate offsets in the image with the device name and bd address? The nvds is located at a fixed offset (0x340).
Hi Joacimwe,
Thanks for advising
MT_dialog