I am trying to set up a factory NVS partition that will hold data that will not be erased across reset to factory. This is covered in
https://docs.espressif.com/projects/esp ... uring.html and several other sites. The process is to convert a .csv file with the persistent data to a .bin file, then to write the .bin file to a factory NVS partition separate from the modifiable configuration NVS partition. I've written a prototype .cvs file named PBmfgCfg for testing the process that looks like this:
Code: Select all
key,type,encoding,value
fctryNS,namespace,,
BinID,data,string,UBinID
BinSer,data,string,USerNum
The conversion of this .csv file to a .bin file is supposed to be done by invoking nvs_partion_gen.py, which I have done from where it lives in the esp-idf as well as from my project directory, (where I copied the utility to avoid typing any path), and I get the same error result regardless.
I invoke the following command line in cmd.exe as follows:
Code: Select all
python nvs_partition_gen.py generate PBmfgCfg.csv PBmfgCfg.bin 0x6000
which according to "nvs_partion_gen.py -h", is the correct way call the program with args, (the 0x6000 is the size of the factory NVS partition table segment) and get the following error result:
Code: Select all
Creating NVS binary with version: V2 - Multipage Blob Support Enabled
Traceback (most recent call last):
File "nvs_partition_gen.py", line 1026, in <module>
main()
File "nvs_partition_gen.py", line 1022, in main
args.func(args)
File "nvs_partition_gen.py", line 907, in generate
if len(row["key"]) > 15:
KeyError: 'key'
What is the problem here? What am I doing wrong?