Hello Community,We are working on a battery-powered ultrasonic flow meter using the DA14531MOD as Hello Community,I have developed a programming algorithm to program the external SPI memory connected to the DA14535 via SWD. It works fine when both the device and the SPI memory are empty. However, as soon as the memory is programmed with a valid image and the OTP is programmed with the following values:
0x07F87FC8 -> 0x027FABAA0x07F82FCC -> 0x0B000106
The SPI commands does not work. Specifically, it does not drive even the CS pin. It always works fine with the SmartSnippet Toolbox regardless of whether the memory is programmed or empty.
I suspect that we are missing some initialization in our code due to the fact the microcontroller boot flow is different. In fact, looking at the boot ROM sequence shown in Picture 17 of the datasheet, the flow differs depending on whether the application is programmed or not. We do perform a software reset by writing AIRCR = 0x05FA0004, but it seems not enough to start from the same state as it were virgin.
Could you suggest the possible cause of the problem? Should we perform an hardware reset through the watchdog registers?
Would it be possible for you to share the source code of "jtag_programmer_535.bin" to help speed up the resolution of this issue? Is it obtained from DA145xx_SDK\6.0.22.1401\utilities\flash_programmer\" source code? Does the SmartSnippet Toolbox only perform a software reset?
Thanks in advance for your help.
Best Regards,
Luca Zanuttini
Hi Luca,
Thank you for posting your questions online.
We will check on this and will back to you as soon as possible.
BR,
JH_Renesas