我写了一个固件来运行我们基于ESP32 32的定制PCB。固件持有一个独特的S/N (序列号)通过Preferences API,这是设置通过蓝牙应用程序,我写。
但现在我必须生产数十个PCB,它需要时间来连接和设置S/N通过应用程序。
目前的程序是一个两步的过程,我想精简:
我想知道我是否可以编写一个可以同时执行两个步骤的脚本,提供S/N作为脚本参数。
例如,我可以利用Espressif工具write_flash。
我怎么能这么做?
发布于 2022-10-14 08:46:28
您可以预先生成NVS数据分区,并将其与固件一起闪存.ESP以色列国防军专门为此目的提供了NVS分区生成器实用程序。以下是这个过程的概述。
mfgdata.csv),例如序列号、产品ID、键盘等等。假设NVS名称空间为"mfgdata_ns“。key,type,encoding,value
mfgdata_ns,namespace,,
serial,data,string,"ABC1234"
private_key,file,string,/path/key.primfgdata.bin)。假设NVS分区从地址0x3000开始。$IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate mfgdata.csv mfgdata.bin 0x3000$ $IDF_PATH/components/partition_table/parttool.py -p /dev/ttyUSB0 -b 921600 write_partition --partition-name=mfgdata_part --input=mfgdata.binmfgdata.csv中指定的所有值。在创建CSV文件时必须小心。大约在两年前,他们使用python模块来解析这个文件,并且像预期的那样完美地工作了。然后,一些不太聪明的人决定放弃python模块,用逗号字符上的每一行拆分来替换它,而忽略了所有解析问题。我不知道他们有没有解开它。
https://stackoverflow.com/questions/73937267
复制相似问题