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
[信息概述@ 20-01-06 19:36:36] romtbl [0] [0]:e000000,cid:b105e00d,pid:000bb008 scs
[INFO General @20-01-06 19:36:36] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
(信息一般@20-01-06 19:36:36]ROMTbl [0] [2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
[Info General @ 20-01-06 19:36:36]精选的设备。
[信息OTP图像@ 20-01-06 19:43:29]标题记录已从十六进制文件xxxxxxxxx.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!
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:
OTP图像区域,其中将用户代码放置并在引导时镜像到SYSRAM。
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?
谢谢,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.
我的电路板没有外部闪存,所以我无法尝试与闪存程序员连接。我使用源代码项目昨天在Keil的在线调试,电路板可以正常运行。
Thanks,
Hi PM_Dialog,
我改变了电路板的电源,然后刻录了OTP图像。当我单击“CNNect”按钮时,日志上没有错误,但是我点击“刻录”按钮,有一个如下所示,
[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
[信息OTP图像@ 20-01-07 11:41:54] romtbl [0] [2]:e0002000,cid:b105e00d,pid:000bb00b fpb
[信息OTP图像@ 20-01-07 11:41:55]固件文件c:\程序文件(x86)\ smartsnippetstoolbox \ smartsnippetstoolbox5.0.10 \ common_resources \ supportpackages \ toolbox_resources / common / jtag_programmer.bin已成为选择下载。
[信息OTP图像@ 20-01-07 11:41:55]成功下载了固件文件到电路板。
[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.
[错误OTP图像@ 20-01-07 11:42:03]读取内存失败。
所以通过JTAG燃烧OTP时有高功率要求吗?烧伤时是否有其他人注意?
I feel I'm not far from success, thank you very much.
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.
谢谢,PM_DIALOG.
Thanks for your reply!
我试图通过UART而不是JTAG连接,在烧毁OTP的过程中,当消息“请按下板上的硬件重置按钮开始下载过程。”出现了,我按下了电路板上的重置按钮,我确认复位引脚已经高,但未触发DA14585复位,错误消息在日志上显示如下,刻录处理中止。
[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.
[信息OTP图像@ 20-01-08 09:24:51]固件文件c:\ program files(x86)\ smartsnippetstoolbox \ smartsnippetstoolbox5.0.10 \ common_resources \ supportpackages \ toolbox_resources / common / flash_programmer.bin已成为选择下载。
[信息OTP图像@ 20-01-08 09:24:51]与COM10端口的连接已成功打开。
[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.
[错误OTP图像@ 20-01-08 09:25:07]超时:重置信号未检测到超过16000毫秒。
[信息booter @ 20-01-08 09:25:07]成功断开了COM10端口。
[ERROR OTP Image @20-01-08 09:25:07] Failed downloading firmware file to the board.
thanks.
Hi SkyWei5830,
您能否注明OTP和OTP标题是否已从前同事刻录?您是否尝试过直接通过Keil下载FW?或者你试图烧掉SPI闪光灯吗?如果您与另一个DK一起尝试,您是否能够复制此问题?
谢谢,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
[信息常规@ 20-01-10 17:56:21]没有预选的ap。假设AP [0]是AHB-AP
[信息常规@ 20-01-10 17:56:21] AP-IDR:0x04770021,类型:AHB-AP
[信息概述@ 20-01-10 17:56:21] AHB-AP ROM:0xE00FF000(基础Addr。第一rom表)
[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:
[信息概述@ 20-01-10 17:56:21] romtbl [0] @ E00FF000
[信息概述@ 20-01-10 17:56:21] romtbl [0] [0]:e000u000,cid:b105e00d,pid:000bb008 scs
[INFO General @20-01-10 17:56:21] ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
[信息概述@ 20-01-10 17:56:21] romtbl [0] [2]:e0002000,cid:b105e00d,pid:000bb00b fpb
[信息概述@ 20-01-10 17:56:21]选择了BTLE设备。
[信息OTP图像@ 20-01-10 17:56:34]标题记录已从十六进制文件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
[信息OTP图像@ 20-01-10 17:56:38] AHB-AP ROM:0xE00FF000(基础ADDR。第一rom表)
[信息OTP图像@ 20-01-10 17:56:38]找到了Cortex-M0 R0P0,Little Endian。
[INFO OTP Image @20-01-10 17:56:38] FPUnit: 4 code (BP) slots and 0 literal slots
[信息OTP图像@ 20-01-10 17:56:38] Coresight组件:
[信息OTP图像@ 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
[信息OTP图像@ 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...
[信息OTP图像@ 20-01-10 17:56:49]开始燃烧内存,在地址0x7F80000处以62208个字节的数据。
[信息OTP图像@ 20-01-10 17:56:50]内存刻录成功完成。块1的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.
你能告诉我这个警告消息意味着什么吗?这是警告消息导致编程失败吗?
[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.
但我也获得了您的新知识,感谢您的帮助和指导。
Hi SkyWei5830,
这意味着您无法刻录OTP。您能否导出OTP标题并与我分享它?您可以导出它认为SmartSnippets Toolbox。请在OTP未刻录的新设备中尝试。你试图下载FW以为Keil吗?
谢谢,PM_DIALOG.
Hi PM_Dialog,
您可以在附件上读取OTP标题。我买的设备已经尝试过。我会买新的,然后再试一次。我没有电路板上没有外部闪光灯,我可以直接下载固件直接想到keil吗?我认为Keil只能用于在线调试,让代码在RAM中运行。我尝试过在线调试,代码正常运行RAM。
代码调试完成后OTP刻录完成,产品设计完成。这项工作通常由较少专业人员完成,所以我想,我可以拥有更简单,更可理解的操作指南吗?
Thanks, 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.
如果你开始一个新的设计,我们将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:
//www.wsdof.com/products/connectivity/bluetooth-low-energy/products/da14531
谢谢,PM_DIALOG.
Hi PM_Dialog,
谢谢!谢谢你的建议!
Hi SkyWei5830,
谢谢你接受我的答案。我有任何后续问题,请创建一个新的论坛线程。
谢谢,PM_DIALOG.