Hi all,
After OTP zone was burned through JATG with SmartSnippets Toolbox, we can’t boot up from OTP.
I burned DSPS image into OTP memory at 0x40000. The DSPS image is based on Dialog release, I just change the 32KHz crystal source to internal oscillator. I am sure this image can work well. Do some changes in the OTP header and burn it, changed fields are as follows: Application Flag1, Application Flag2, 32KHz source selection, Device unique ID and DMA Length. Other fields keep as the default value which was read from OTP header. It seems that I never burn OTP NVDS though SmartSnippets Toolbox, but there also have some values in this zone. Is it normal?
For more detail, please have a look at attachments. Need to cut .pdf
Is there any wrong setting in the header? Thanks.
Best regards,
Yaohua
Hi Yaohua,
I dont see anything suspicious from what you mention, i am not able to open the .pdf that you have attached, seems that the file is corrupted. Regading the values that you get in the NVDS is because you 've burned the OTP image area, with the CFG_INITIALIZE_NVDS_STRUCT definition, so the values from the SDK are burned to the NVDS address of the OTP, but that is not the reason for your device not to be able to boot. What is quite confusing is the fact that you ve changed the 32KHz crystal to the internal oscillator (therefore you are not using the XTAL but an RCX on your board) and in the OTP you ve burned in the OTP field that the 32KHz crystal should be used, as far as i can understand, so which 32KHz source is used, the RCX or the XTAL32 ?
Thanks MT_dialog
Hi MT
Regading the values that you get in the NVDS is because you 've burned the OTP image area, with the CFG_INITIALIZE_NVDS_STRUCT definition, so the values from the SDK are burned to the NVDS address of the OTP, but that is not the reason for your device not to be able to boot.
Got it, Thanks.
What is quite confusing is the fact that you ve changed the 32KHz crystal to the internal oscillator (therefore you are not using the XTAL but an RCX on your board) and in the OTP you ve burned in the OTP field that the 32KHz crystal should be used, as far as i can understand, so which 32KHz source is used, the RCX or the XTAL32?
There is no 32KHz crystal on our board, so I change the clock source in the SDK to RCX20. In the OTP header, I select the "32KHz source selection" with RC32KHz. That means address 47F74 is set as 0xAA.
I upload the OTP header and NVDS as attachments again. Could you please help me to check the setting in the PDF? Thanks.
Please ignore the first page in the PDF.
Best regards,
Yaohua
Hi Yaohua,
Just to be clear, since you ve burned the option for the low power clock in the OTP (and you have chosen the RCX - RC32KHz) you should also define in the SDK that the value of the low power clock will be obtained by the OTP (CFG_LP_CLK), if this is not defined the device will use what is declared in the SDK as a low power clock. So if you are testing the image in an XTAL32 enable board and burn the image on a non-enabled XTAL32, it will not operate at least in sleep mode.
Other than that i dont see something wrong with the OTP header, what you can do in order to test it, is to download the fw that you ve burned in the image (exactly as you ve burned it) and check if its executing (I can see that the JTAG is still enabled), so experiment a bit with that and check if the image operates.
Thanks MT_dialog
Hi MT
It seems that we have solved this problem after making following changes into SDK.
#undef CFG_DEVELOPMENT_DEBUG
#define CFG_BOOT_FROM_OTP
Many thanks for your support
Best regards,
Yaohua