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]找到了带ID 0x0BB11477的SW-DP
[信息概述@ 20-01-06 19:36:36]没有预选的ap。假设AP [0]是AHB-AP
[信息通用@ 20-01-06 19:36:36] AP-IDR:0x04770021,类型: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.
[信息概述@ 20-01-06 19:36:36] FpUnit:4代码(BP)插槽和0个文字插槽
[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
[信息通用@ 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] BTLE device selected.
[INFO OTP Image @20-01-06 19:43:29] Header records have been removed from hex file xxxxxxxx.hex.
[信息OTP图像@ 20-01-06 19:43:29]从xxxxxxxxxx.hex读取62204字节。
[ERROR OTP Image @20-01-06 19:43:31] Failed writing value A6 at address 50000012.
[错误OTP图像@ 20-01-06 19:43:31]将固件文件下载到电路板上。
我的董事会以前跑得很好。我将芯片搬到了以前和焊接一个新的芯片,并试图烧毁OTP。
I have tried a few new chips, but the error message all the same. No matter how I try, I fail............
你能告诉我为什么这条消息“在地址50000012上写入值A6失败。”看起来,我能做什么,非常感谢!
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.
OTP标题区域,其中放置了定义设备操作的标志和特定值(关于OTP报头的值的更多信息,可以在智能代码片段用户指南中找到)。
你燃烧了opt header吗?此外。您使用的是定制董事会或我们的任何DKS吗?另外,如果您尝试通过JTAG与Flash程序员连接,您是否能够连接?你能从Keil下载FW吗?
谢谢,PM_Dialog
嗨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.
在Burning OTP标题时,我应该在“Connect”之前“从文件导入标题”?我应该先刻录OTP图像还是首先刻录OTP图像?我尝试首先燃烧OTA图像并首先尝试刻录OTA标题,但在日志上显示相同的错误消息。
我删除了DA14585和焊接一个新的DA14585 .......我一次又一次尝试,但是在日志上出现相同的错误消息。
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.
谢谢,
嗨pm_dialog,
我改变了我的电源板,然后燃烧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,
[信息OTP图像@ 20-01-07 11:41:54] romtbl [0] [0]:e000u000,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
[错误OTP图像@ 20-01-07 11:42:03]清除内存地址7FC7C08失败。
[错误OTP图像@ 20-01-07 11:42:03]清除内存地址7FC7C08失败。
[ERROR OTP Image @20-01-07 11:42:03] Failed reading memory.
所以通过JTAG燃烧OTP时有高功率要求吗?烧伤时是否有其他人注意?
I feel I'm not far from success, thank you very much.
Hi SkyWei5830,
如果我能够正确理解,在您使用的定制板中,OTP已经被您的前同事烧毁了吗?你能在董事会中试试,OTP没有烧焦吗?此外,我建议在SmartSnippets Toolbox中连接UART而不是JTAG。只要启用名为JTAG Enable标志的OTP标题字段,就可以直接刻录SystemRam。如果刻录应用程序标志并且禁用JTAG启用标志,则设备将无法访问。
谢谢,PM_Dialog
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.
[信息OTP图像@ 20-01-08 09:24:49]标题记录已从十六进制文件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端口的连接已成功打开。
[信息OTP图像@ 20-01-08 09:24:51]开始下载程序...
[动作OTP图像@ 20-01-08 09:24:52]请按电路板上的硬件重置按钮启动下载过程。
[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.
[错误OTP图像@ 20-01-08 09:25:07]将固件文件下载到电路板上失败。
谢谢。
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?
谢谢,PM_Dialog
嗨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.....
[信息概述@ 20-01-10 17:56:21]找到了带ID 0x0BB11477的SW-DP
[信息常规@ 20-01-10 17:56:21]没有预选的ap。假设AP [0]是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.
[信息概述@ 20-01-10 17:56:21] FpUnit:4代码(BP)插槽和0个字幕插槽
[INFO General @20-01-10 17:56:21] CoreSight components:
[INFO General @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
[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.
[信息OTP图像@ 20-01-10 17:56:34]从文件ev_nb_key3_5.hex读取62204字节。
[信息OTP图像@ 20-01-10 17:56:38]找到带ID 0x0BB11477的SW-DP
[INFO OTP Image @20-01-10 17:56:38] Using pre-configured AP[0] as AHB-AP to communicate with core
[信息OTP图像@ 20-01-10 17:56:38] AP-IDR:0x04770021,类型: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.
[信息OTP图像@ 20-01-10 17:56:38] FpUnit:4代码(BP)插槽和0个字幕插槽
[INFO OTP Image @20-01-10 17:56:38] CoreSight components:
[INFO OTP Image @20-01-10 17:56:38] ROMTbl[0] @ E00FF000
[信息OTP图像@ 20-01-10 17:56:38] romtbl [0] [0]:e000000,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
[信息OTP图像@ 20-01-10 17:56:38]固件文件c:\ program files(x86)\ smartsnippetstoolbox \ smartsnippetstoolbox5.0.10 \ common_resources \ supportpackages \ toolbox_resources / common / jtag_programmer.bin已成为选择下载。
[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
[信息OTP图像@ 20-01-10 17:56:46]读取32768个字节与偏移00
[信息OTP图像@ 20-01-10 17:56:46]读取29440字节与偏移0
[信息OTP图像@ 20-01-10 17:56:46]阅读已完成。读62208字节。
[信息OTP图像@ 20-01-10 17:56:46]阅读内存内容......
[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
[错误OTP图像@ 20-01-10 17:56:50]地址7FC7C02的写入长度失败。
[错误OTP图像@ 20-01-10 17:56:50]内存刻录失败。
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
我已经下令购买你的DKS,它正在前往中国,大约需要2周,也许我可以在收到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.
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?
谢谢,PM_Dialog
嗨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?
谢谢,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:
https://www.dialog-seminile.com/produ雷电竞官网登录cts/connectivity/bluetooth-low-energy/products/da14531.
谢谢,PM_Dialog
嗨pm_dialog,
Thank you! Thanks for your advice!
Hi SkyWei5830,
Thanks for accepting my answer. I you have any follow up question, please create a new forum thread.
谢谢,PM_Dialog