⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
13 posts / 0 new
Last post
SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
DA14585 Burning OTP Error

Hi, Dialog team,

I tried to burned OTP this week, with Smart Snippets toolbox v5.0.10.2434, and JTAG interface. Smart Snippets toolbox could "detect" my chip and show the message"Detected device: DA14585 on JTAG dongle xxxxx", then I created and opened the burning project, selected the OTP IMAGE file and pressed "Connect"button, message appear on the log as below, the connect action abort.

[INFO    General              @20-01-06 19:36:36] Found SW-DP with ID 0x0BB11477
[INFO    General              @20-01-06 19:36:36] No AP preselected. Assuming that AP[0] is the AHB-AP
[INFO    General              @20-01-06 19:36:36] AP-IDR: 0x04770021, Type: AHB-AP
[INFO    General              @20-01-06 19:36:36] AHB-AP ROM: 0xE00FF000 (Base addr. of first ROM table)
[INFO    General              @20-01-06 19:36:36] Found Cortex-M0 r0p0, Little endian.
[INFO    General              @20-01-06 19:36:36] FPUnit: 4 code (BP) slots and 0 literal slots
[INFO    General              @20-01-06 19:36:36] CoreSight components:
[INFO    General              @20-01-06 19:36:36] ROMTbl[0] @ E00FF000
[INFO    General              @20-01-06 19:36:36] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
[INFO    General              @20-01-06 19:36:36] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
[INFO    General              @20-01-06 19:36:36] ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
[INFO    General              @20-01-06 19:36:36] BTLE device selected.
[INFO    OTP Image            @20-01-06 19:43:29] Header records have been removed from hex file xxxxxxxx.hex.
[INFO    OTP Image            @20-01-06 19:43:29] Read 62204 bytes from xxxxxxxx.hex.
[ERROR   OTP Image            @20-01-06 19:43:31] Failed writing value A6 at address 50000012.
[ERROR   OTP Image            @20-01-06 19:43:31] Failed downloading firmware file to the board.

 

My board running fine before. I moved the chip previous and solder a new one, and tried to burnning the OTP. 

I have tried a few new chips, but the error message all the same. No matter how I try, I fail............

Could you tell me why this message"Failed writing value A6 at address 50000012."appear and what can i do, thank you very much!

 

Device: 
PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

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. If you would like to burn the OTP, 2 areas must be burnt:

The OTP image area, where the user code is placed and mirrors to the sysram at boot.

The OTP Header area, where flags and specific values that define the operation of the device are placed (more information regarding the values of the OTP Header can be found in the Smart Snippets User guide).

Did you burn the OPT header? In addition. Are you using a custom board or any of our DKs? In addition, if you try to connect with the Flash programmer via JTAG, are you able to connect? Are you able to download FW from the Keil?

Thanks, PM_Dialog

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Hi PM_Dialog, 

Hi PM_Dialog, 

Thanks for reply, I can understand what OTP means. Maybe I didn't make it clear,I use my board, not your DKs. This board has been burnned OTP by my ex-colleague and operated normally. I took my ex-colleague'job this week, I justed want to verify the hex file he gave me is correct by burning OTP to make the board operated normally again.

I removed the original DA14585 on the board, soldered a new DA14585, and then tried to connected JTAG to burn OTP. 

Should i need to "Import Header From file" before "Connect" while burnning OTP header? Should I burn OTP image first or OTP header first? I have tried to burn OTA image first and tried to burn OTA header first, but the same error message appear on the log. 

I removed the DA14585 and solder a new DA14585....... I tried again and again, but the same error message appear on the log.

My board does not have an external flash, so I can't try to connect with the Flash programmer. I used the source code project to debug online in keil yesterday, the board could operate normally.

Thanks,

 

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Hi PM_Dialog,

Hi PM_Dialog,

I changed the power supply of my board,then burnin the OTP image. When I click on the "Cnnect" button, there is no error on the log, but then I click on the "burn" button, there is an error as below,

[INFO    OTP Image            @20-01-07 11:41:54] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
[INFO    OTP Image            @20-01-07 11:41:54] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
[INFO    OTP Image            @20-01-07 11:41:54] ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
[INFO    OTP Image            @20-01-07 11:41:55] Firmware File C:\Program Files (x86)\SmartSnippetsToolbox\SmartSnippetsToolbox5.0.10\common_resources\SupportPackages\DA14585-586\toolbox_resources/common/jtag_programmer.bin has been selected for downloading.
[INFO    OTP Image            @20-01-07 11:41:55] Successfully downloaded firmware file to the board.
[WARNING OTP Image            @20-01-07 11:42:03] 4 zero bytes added at the end of file to word align data
[ERROR   OTP Image            @20-01-07 11:42:03] Failed clearing memory address 7FC7C08.
[ERROR   OTP Image            @20-01-07 11:42:03] Failed clearing memory address 7FC7C08.
[ERROR   OTP Image            @20-01-07 11:42:03] Failed reading memory.

So is there a high power requirement when burning OTP via JTAG? Is there anything else I should pay attention to when I burn?

I feel I'm not far from success, thank you very much.

Attachment: 
PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

If I am able to understand correctly, in the custom board that you are using, is the OTP already burnt by your ex-colleague? Can you please try it in board that the OTP is not burnt? In addition, I would suggest to connect over UART in the SmartSnippets Toolbox instead of JTAG.  You will be able to directly burn your SystemRAM though JTAG as long as the OTP header field named JTAG enable flag stays Enabled. If the application flags are burned and the JTAG enable flag is Disabled then the device becomes inaccessible.

Thanks, PM_Dialog

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Thanks for your reply!

Thanks for your reply!

I have tried to connect over UART instead of JTAG, In the process of burnning OTP, when message"Please press the hardware reset button on the board to start the download process."appeared, I pressed the reset button on the board, and I confirm the reset pin has got high, but DA14585 reset was not triggered, Error message was showed as below on the log, the burnning processing aborted.

[INFO    OTP Image            @20-01-08 09:24:49] Header records have been removed from hex file ev_nb_key3_5.hex.
[INFO    OTP Image            @20-01-08 09:24:49] Read 62204 bytes from file ev_nb_key3_5.hex.
[INFO    OTP Image            @20-01-08 09:24:51] Firmware File C:\Program Files (x86)\SmartSnippetsToolbox\SmartSnippetsToolbox5.0.10\common_resources\SupportPackages\DA14585-586\toolbox_resources/common/flash_programmer.bin has been selected for downloading.
[INFO    OTP Image            @20-01-08 09:24:51] Connection to COM10 port has successfully opened.
[INFO    OTP Image            @20-01-08 09:24:51] Started download procedure...
[ACTION  OTP Image            @20-01-08 09:24:52] Please press the hardware reset button on the board to start the download process.
[ERROR   OTP Image            @20-01-08 09:25:07] Timeout: Reset signal not detected for more than 16000 msecs.
[INFO    Booter               @20-01-08 09:25:07] Successfully disconnected from port COM10.
[ERROR   OTP Image            @20-01-08 09:25:07] Failed downloading firmware file to the board.

 

thanks.

PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

Can you please indicate if the OTP and OTP Header are already burnt from your ex-colleague? Have you tried to download FW directly through the Keil? Or have you tried to burn the SPI flash? If you try it with another DK, are you able to replicate this issue?

Thanks, PM_Dialog

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Hi PM_Dialog,

Hi PM_Dialog,

yes, OTP and OTP header have been burned by my ex-colleague and our custom board worked well before. I just removed the previous DA14585 on the board and solder a brand new one, then attempted to burn OTP. No matter how I try, I have failed. So far I have tried 6 DA14585s, 3 kinds of Jlink tools,but I have not succeeded in the end.........This is my first contact with a design based on DA14585, and my ex-colleague did not leave any burnning instructions for me, so I can only explore it by your help^^^^^^^^

Just now I soldered a brand new DA14585, connected the power supply and Jlink tool, turned on the SmartSnippets Toolbox, and started to burn OTP through the JTAG interface again. I clicked Conncet, no error was reported, and then I clicked burn, and the following error message was displayed, I failed  again.....

[INFO    General              @20-01-10 17:56:21] Found SW-DP with ID 0x0BB11477
[INFO    General              @20-01-10 17:56:21] No AP preselected. Assuming that AP[0] is the AHB-AP
[INFO    General              @20-01-10 17:56:21] AP-IDR: 0x04770021, Type: AHB-AP
[INFO    General              @20-01-10 17:56:21] AHB-AP ROM: 0xE00FF000 (Base addr. of first ROM table)
[INFO    General              @20-01-10 17:56:21] Found Cortex-M0 r0p0, Little endian.
[INFO    General              @20-01-10 17:56:21] FPUnit: 4 code (BP) slots and 0 literal slots
[INFO    General              @20-01-10 17:56:21] CoreSight components:
[INFO    General              @20-01-10 17:56:21] ROMTbl[0] @ E00FF000
[INFO    General              @20-01-10 17:56:21] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
[INFO    General              @20-01-10 17:56:21] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
[INFO    General              @20-01-10 17:56:21] ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
[INFO    General              @20-01-10 17:56:21] BTLE device selected.
[INFO    OTP Image            @20-01-10 17:56:34] Header records have been removed from hex file xxxx.hex.
[INFO    OTP Image            @20-01-10 17:56:34] Read 62204 bytes from file ev_nb_key3_5.hex.
[INFO    OTP Image            @20-01-10 17:56:38] Found SW-DP with ID 0x0BB11477
[INFO    OTP Image            @20-01-10 17:56:38] Using pre-configured AP[0] as AHB-AP to communicate with core
[INFO    OTP Image            @20-01-10 17:56:38] AP-IDR: 0x04770021, Type: AHB-AP
[INFO    OTP Image            @20-01-10 17:56:38] AHB-AP ROM: 0xE00FF000 (Base addr. of first ROM table)
[INFO    OTP Image            @20-01-10 17:56:38] Found Cortex-M0 r0p0, Little endian.
[INFO    OTP Image            @20-01-10 17:56:38] FPUnit: 4 code (BP) slots and 0 literal slots
[INFO    OTP Image            @20-01-10 17:56:38] CoreSight components:
[INFO    OTP Image            @20-01-10 17:56:38] ROMTbl[0] @ E00FF000
[INFO    OTP Image            @20-01-10 17:56:38] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
[INFO    OTP Image            @20-01-10 17:56:38] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
[INFO    OTP Image            @20-01-10 17:56:38] ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
[INFO    OTP Image            @20-01-10 17:56:38] Firmware File C:\Program Files (x86)\SmartSnippetsToolbox\SmartSnippetsToolbox5.0.10\common_resources\SupportPackages\DA14585-586\toolbox_resources/common/jtag_programmer.bin has been selected for downloading.
[INFO    OTP Image            @20-01-10 17:56:39] Successfully downloaded firmware file to the board.
[WARNING OTP Image            @20-01-10 17:56:46] 4 zero bytes added at the end of file to word align data
[INFO    OTP Image            @20-01-10 17:56:46] Read 32768 bytes with offset 00
[INFO    OTP Image            @20-01-10 17:56:46] Read 29440 bytes with offset 0
[INFO    OTP Image            @20-01-10 17:56:46] Reading has finished. Read 62208 bytes.
[INFO    OTP Image            @20-01-10 17:56:46] Reading memory contents...
[INFO    OTP Image            @20-01-10 17:56:49] Started burning memory with 62208 bytes of data at address 0x7F80000.
[INFO    OTP Image            @20-01-10 17:56:50] Memory burning completed successfully. Chunk 1 of 2
[ERROR   OTP Image            @20-01-10 17:56:50] Failed writing length at address 7FC7C02.
[ERROR   OTP Image            @20-01-10 17:56:50] Memory burning failed.

Can you tell me what this warning message means? Is this warning message causing the programming failure?

[WARNING OTP Image            @20-01-10 17:56:46] 4 zero bytes added at the end of file to word align data

I have already placed an order to buy your DKs, and it is on the way to China, take about 2 weeks,maybe I can verify it better after I receive DKs.

So tired these weeks, I thought that burning OTP was a very simple thing, but it was not. I don't get much information about DA14585 on the Internet in China, most of them are about DA14580, and there is almost no information about how to burn OTP through JTAG interface.

but I also gained new knowledge from you ,Thank you for your help and guidance.

 

 

 

PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

This means that you are not able to burn the OTP. Can you please export the OTP header and share it with me? You can export it thought the SmartSnippets toolbox. Please try it in a new device where the OTP is not burnt. Did you try to download FW thought the Keil?

Thanks, PM_Dialog

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Hi PM_Dialog,

Hi PM_Dialog,

You could read the OTP header on the attachment. The devices I bought have already been tried out. I will buy new ones and try again. I don't have an external flash on the board, can I download the firmware directly thought keil? I thought keil could only be used for online debugging and let the code run in the ram.  I have tried online debugging, the code runs normally in ram.

OTP burning is done after the code debugging is completed and  the product design is completed. This work is usually done by less-professional personnel, so I think, can I have a simpler and more understandable operation guide?

Thanks, SkyWei5830

Attachment: 
PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

I would suggest you to try it in a board that the OTP / OTP header are not burnt. Generally the customers use the OTP in their final product, and not for debugging/educational scopes. Yes, you can download FW to System-RAM directly through Keil. Press the “Start/Stop Debug Session” button twice and the FW will be downloaded into the System-RAM.

if you are starting a new design, we would strongly recommend to move into DA14531 and SDK6.0.12, as it is much more improved. We have a lot of code examples and improved documentation, and there is also software roadmap support. Please checkout the DA14531 support portal:

https://www.dialog-semiconductor.com/products/connectivity/bluetooth-low-energy/products/da14531

Thanks, PM_Dialog

SkyWei5830
Offline
Last seen: 2 years 8 months ago
Joined: 2019-12-16 11:16
Hi PM_Dialog,

Hi PM_Dialog,

Thank you! Thanks for your advice!

PM_Dialog
Offline
Last seen: 7 months 6 days ago
Staff
Joined: 2018-02-08 11:03
Hi SkyWei5830,

Hi SkyWei5830,

Thanks for accepting my answer. I you have any follow up question, please create a new forum thread.

Thanks, PM_Dialog