// Example given. Copy the BD address in the customer specific field for each DUT. try { for (dev_cnt=0; dev_cntmemset(cfg_params_t->pltd_device_params[dev_cnt].OTP_customer_field.data, 0x00, OTP_585_CUSTOMER_FIELD_SIZE); if (cfg_params_t->pltd_device_params[dev_cnt].is_active == true) memcpy(cfg_params_t->pltd_device_params[dev_cnt].OTP_customer_field.data, cfg_params_t->pltd_device_params[dev_cnt].bd_addr, BD_ADDR_SIZE); } }catch (...) { ASSERT_ERROR_N("Failed to create customer specific field.\n"); } }
目前你们是如何实现量产烧录的呢?
Dialog有专门的量产烧录工具PLT,可以在https://support.dialog-semiconductor.com/connectivity/reference-design/p...查看相关信息。
PLT工具支持同时给多达16个设备进行测试和烧录。关于你说的需求,在烧录时将不同编号烧在flash的某个固定地址,或者OTP的custom field, 软件中配置好函数在广播时从这些已知的位置拿取地址实现每个设备按顺序有不同的广播名称。
PLT中实现这个目的有两个方式,一个是在测试选项中Memory Header -> OTP header,勾选选项
同时,在PLT源文件中自己修改关于如何生成编号的函数gui_plt_sw_customer_field
这个函数默认在OTP自定义域放入当前设备的蓝牙地址,你可以按自己需求修改成生成编号的算法
Void GUI_plt_state_test_run::gui_plt_sw_customer_field(_cfg_params *cfg_params_t)
{
uint8_t dev_cnt = 0;
PRINT_INFO("\n");
ASSERT_ERROR(cfg_params_t != nullptr, "");
// Example given. Copy the BD address in the customer specific field for each DUT.memset(cfg_params_t->pltd_device_params[dev_cnt].OTP_customer_field.data, 0x00, OTP_585_CUSTOMER_FIELD_SIZE);
try {
for (dev_cnt=0; dev_cnt
if (cfg_params_t->pltd_device_params[dev_cnt].is_active == true)
memcpy(cfg_params_t->pltd_device_params[dev_cnt].OTP_customer_field.data, cfg_params_t->pltd_device_params[dev_cnt].bd_addr, BD_ADDR_SIZE);
}
}catch (...) {
ASSERT_ERROR_N("Failed to create customer specific field.\n");
}
}
} // namespace GUI_plt
另一个就是在Memory Header -> Custom Memory Data中选择从csv文件批量导入数据烧到指定的SPI flash地址,具体功能我也没有使用过
其实实现你说的功能,通过任何手段(脚本,其他工具等等)在flash里合适的地址放进不同的内容就可以了
Hi Dialog:
目前我们烧录的方式是芯片的供应商給我们提供了一个类似PLT的软件烧录OTP,但自动编号只能适用于蓝牙地址,不能用于广播名字的修改。
就是说PLT的这个软件现在的版本没有自定义广播名编号功能,只能把plt软件进行修改重新生成exe文件才能实现这个功能?
如果要把自定义信息写到OTP Header里面,是的,需要自行编译PLT软件
如果写到SPI flash里面,不需要。
另外如果有特定型号的条码扫描器的话,做成条码扫进去也可以
Hi Dialog:
条码机怎么做的,是否和PLT软件配合使用么,你们是否有相应的工具设备?
应该是Honeywell某个型号的手持扫描设备。。插在电脑上在PLT软件里设置好端口就可以了
Hi Dialog:
好的,谢谢。
Hi Dialog,
PLT支持的扫描枪型号有吗,我用常规的扫描枪(usb接口的)尝试扫描,PLT没有反应.