I developed my own HW with an external EEPROM and the FW (based on proximity reporter_fh) is loaded from the EEPROM.
Everything works very well and I can set the BD_Address in the file nvds.c (.NVDS_TAG_BD_ADDRESS). But finally I would use the OTP for storing the BD_ADDRESS and the XTAL16MHz_Trim_Value.
In the OTP Header there is Parameter "XTAL16MHz Trim Value" but no Parameter for the BD-ADDRESS - perhaps I should use the Parameter " "Device unique ID" for it ?
In the OTP NVDS there is a Parameter "NVDS_TAG_BD_ADDRESS" but no Parameter for the XTAL Trim Value.
Where should I store this two parameters and what modification is necessary that the FW takes this value from the OTP ?
“设备惟一的ID”where you should put the BD_ADDRESS. So for example if you wanted the BD_ADDRESS = "AAAAAAAABBBB" then you would put AAAAAAAA in 0x47FD8 and BBBB in 0x47FDC. I am not sure however on how you can make sure that only those two parameters get loaded from the OTP header. I have not looked at the secondary boot loader for EEPROM yet but as far as I know it will always read the whole thing from OTP header if you just make sure to set the DEVELOPMENT_NO_OTP flag to 0 (Has been changed in newer SDK though).
OK Thanks,
It works also with the protest.exe tool and the BD_ADDRESS is written to 0x47FD4 and the XTAL16MHz Trim value is written to 0x47F8C.
I get only some garbage in the debugger in single step mode but if I run the application everything is OK