Hello,
I am attempting to OTP burn a DA14585 microcontroller on a custom PCB using a development kit pro. I was able to connect to and read my board successfully, but the OTP burn failed. The message I recieved said, "Failed clearing memory address 7FC7C08." I will include the full log at the bottom of this message.
In my Memory Contents table, I am only able to view memory addresses 0x07F80000 to 0x07F8FFF8. I have no idea what is going on at address "7FC7C08." Do you have any suggestions as to how to proceed?
Thank you.
(INFO General @20-07-22 14:21:37] Found SW-DP with ID 0x0BB11477
(INFO General @20-07-22 14:21:37] Scanning AP map to find all available APs
(INFO General @20-07-22 14:21:37] AP[1]: Stopped AP scan as end of AP map has been reached
(INFO General @20-07-22 14:21:37] AP[0]: AHB-AP (IDR: 0x04770021)
(INFO General @20-07-22 14:21:37] Iterating through AP map to find AHB-AP to use
(INFO General @20-07-22 14:21:37] AP[0]: Core found
(INFO General @20-07-22 14:21:37] AP[0]: AHB-AP ROM base: 0xE00FF000
(INFO General @20-07-22 14:21:37] CPUID register: 0x410CC200. Implementer code: 0x41 (ARM)
(INFO General @20-07-22 14:21:37] Found Cortex-M0 r0p0, Little endian.
(信息一般@20-07-22 14:21:37]FPUnit: 4代码(BP) slots and 0 literal slots
(INFO General @20-07-22 14:21:37] CoreSight components:
(INFO General @20-07-22 14:21:37] ROMTbl[0] @ E00FF000
(INFO General @20-07-22 14:21:37] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
(INFO General @20-07-22 14:21:37] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
(INFO General @20-07-22 14:21:37] ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
(INFO General @20-07-22 14:21:37] BTLE device selected.
(INFO OTP Image @20-07-22 14:21:37] Reset: Halt core after reset via DEMCR.VC_CORERESET.
(INFO OTP Image @20-07-22 14:21:37] Reset: Reset device via AIRCR.SYSRESETREQ.
(INFO OTP Image @20-07-22 14:21:38] Reset: Halt core after reset via DEMCR.VC_CORERESET.
(INFO OTP Image @20-07-22 14:21:38] Reset: Reset device via AIRCR.SYSRESETREQ.
(INFO OTP Image @20-07-22 14:21:38] Firmware File C:\Users\domin\Documents\SciHub\SDK\6.0.14.1114\config\toolbox_resources/DA14585-586/common/jtag_programmer.bin has been selected for downloading.
(INFO OTP Image @20-07-22 14:21:38] Reset: Halt core after reset via DEMCR.VC_CORERESET.
(INFO OTP Image @20-07-22 14:21:38] Reset: Reset device via AIRCR.SYSRESETREQ.
(INFO OTP Image @20-07-22 14:21:38] Successfully downloaded firmware file to the board.
(INFO OTP Image @20-07-22 14:21:43] Started reading 65536 bytes from memory.
(INFO OTP Image @20-07-22 14:21:43] Started reading 65536 bytes from OTP memory address 0x7F80000.
(INFO OTP Image @20-07-22 14:21:44] Read 32768 bytes with offset 0x7F80000.
(INFO OTP Image @20-07-22 14:21:44] Read 32768 bytes with offset 0x7F88000.
(INFO OTP Image @20-07-22 14:21:44] Reading has finished. Read 65536 bytes.
(INFO OTP Image @20-07-22 14:21:48] Started burning memory with 25112 bytes of data at address 0x7F80000.
(INFO OTP Image @20-07-22 14:21:48] Started reading 25112 bytes from OTP memory address 0x7F80000.
(INFO OTP Image @20-07-22 14:21:49] Read 25112 bytes with offset 0x7F80000.
(INFO OTP Image @20-07-22 14:21:51] Started burning memory with 25112 bytes of data at address 0x07F80000.
(ERROR OTP Image @20-07-22 14:21:54] Failed reading memory at address 0x7FC7C08.
(ERROR OTP Image @20-07-22 14:21:54] Failed burning memory.
Hi dbonelli,
Thanks for your posting - let me ask you something : the attached log is when you are trying to connect or program the OTP? Are you able to program the SPI flash?
Thanks, PM_Dialog
Hey PM_Dialog,
The attached log starts from when I first connect to my custom board to when I attempt to OTP burn. In other words, the log includes the outcomes from Connect, Read, and Burn in the SmartSnippets Toolbox.
As far as SPI flash, please correct me if I am wrong, but I don't think I can use SPI flash because I am using a DA14585 chip on my custom board and because my custom board does not include an external flash memory.
Thanks, Dominic
Hi dbonelli,
Could you please share how your custom board is connected to our DK over JTAG?
The DA14585 does not include an embedded SPI flash.The DA14586 has an embedded SPI Flash (2MBits). In case of the DA14585, if you are not using an external SPI flash, you can burn the System-RAM or OTP. Keep in mind that OTP stands for One Time Programmable, thus you can’t erase and re-write the OTP multiple times, but you can only flip the bits that are still set to 0 and turn them to 1.
Why you need to burn the OTP?
Thanks, PM_Dialog
Hello PM_Dialog,
For the most part, I am connecting my custom board to the DK over JTAG using the connections advised inthis post. The only difference is that I am using an external power supply to provide 6.8 V on the VPP line, and I have disconnected my 3.3 V supply. I have found that I cannot run a 6.8 V and 3.3 V supply at the same time because it forces both supplies to their current limit. Setting up my board this way, I am able to connect to and read from my custom board. But I am unable to burn the OTP due to the aforementioned error message.
I need to burn the OTP because I am using a DA14585 chip on my custom board and do not have an external flash memory on-board.
Thanks, Dominic
Hi Dominic,
You don't have to supply the 6.8v power to 585 to do the OTP programming. Just a Vbat_3v power supply is enough.
Pls try again and let us know the result.
Br, Yibin
Hello Yibin,
I just tried your recommendation. I was able to connect to my custom board, but I was not able to read nor burn. I received the same error message from my log, "Failed clearing memory address 7FC7C08." The custom board I tested contained a new DA14585 chip.
Here are the connections I made:
Development Kit
Custom Board
not connected
3.3V (connected to power supply)
not connected
VPP (not connected)
J5 pin 3
RST
J5 pin 25
SWDIO
J5销27
SWCLK
J5 pin 4
GND (also connected to power supply)
What else can be done about this? What is the significance of the error message?
Thanks, Dominic
My apologies, the table did not come out as I expected. See attached image.
Thanks, Dominic
Hi dbonelli,
Could you please which of the below DKs are you using in order to flash your custom board?
//www.wsdof.com/products/da14585-development-kit-pro
//www.wsdof.com/products/da14531-development-kit-pro
Thanks, PM_Dialog
Hello,
我用DA14585 DK pro。
Best, Dominic
Hi dbonelli,
As mentioned in a previous forum post, you can program the OPT via UART or the JTAG interface.
JTAG interface, the required connections are:
J4 - Pin 1 (VBAT_580) - > Vcc of the custom board.
J4 - Pin 25 (TMS) - > SWDIO pin of custom board.
J4 - Pin 27 (TCK) - > SW_CLK pin of custom board.
J4 - Pin 2 (GND) - > to the ground of the custom board.
UART interface, the required connections are:
J4 - UTX - > on the RX pin of the custom board.
J4 - URX - > on the TX pin of the custom board.
J4 - RST - > to the RST pin of the custom board.
J4 - VBAT_580 - > to the Vcc of the custom board.
Thanks, PM_Dialog