嗨,对话团队,
我本周试图烧掉OTP,使用Smart Scippets Toolbox V5.0.10.2434和JTAG接口。智能代码段工具箱可以“检测”我的芯片并显示消息“检测到的设备:DA14585在JTAG加密狗XXXXX上”,然后我创建并打开了刻录项目,选择了OTP图像文件并按“连接”按钮,消息显示在日志上如下,连接动作中止。
[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(基础Addr。第一rom表)
[信息常规@ 20-01-06 19:36:36]找到了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组件:
[信息概述@ 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
(信息一般@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.
[错误OTP图像@ 20-01-06 19:43:31]在地址50000012时写入值A6失败。
[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.
我尝试了一些新的芯片,但错误消息都是一样的。无论我如何尝试,我都失败了............
Could you tell me why this message"Failed writing value A6 at address 50000012."appear and what can i do, thank you very much!
嗨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
Hi PM_Dialog,
感谢您的回复,我可以理解OTP意味着什么。也许我没有明确,我用我的板,而不是你的dks。该委员会已被我的前同事烧毁OTP并正常运营。我本周拿了我的前同事'Job,我刚刚想验证他给我的十六进制文件是正确的,通过燃烧OTP使董事会再次运作。
我删除了电路板上的原始DA14585,焊接了一个新的DA14585,然后尝试将JTAG连接到刻录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,
Hi 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,
[INFO OTP Image @20-01-07 11:41:54] ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
[信息OTP图像@ 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.
[警告OTP图像@ 20-01-07 11:42:03]在文件末尾添加了4个字节,以Word对齐数据
[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?
我觉得我没有成功,非常感谢。
嗨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
感谢您的回复!
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.
[信息OTP图像@ 20-01-08 09:24:49]从文件ev_nb_key3_5.hex读取62204字节。
(信息OTP形象@20-01-08 09:24:51]固件文件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.
嗨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
Hi PM_Dialog,
是的,OTP和OTP标题已被我的前同事烧毁,我们的定制董事会以前工作得很好。我刚刚删除了之前的DA14585在董事会和焊接一个全新的DA14585,然后尝试刻录OTP。无论我如何尝试,我都失败了。到目前为止,我尝试了6 DA14585S,3种JLink工具,但我到底没有成功.........这是我的第一次与基于DA14585的设计联系,我的前同事没有为我留下任何烧毁的指示,所以我只能通过你的帮助探讨它^^^^^^^^^
刚才刚焊接全新DA14585,连接电源和JLINK工具,打开SmartSnippet工具箱,并开始通过JTAG接口刻录OTP。我点击了Conncet,没有报告错误,然后我点击了刻录,并显示了以下错误消息,我再次失败.....
[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)
[信息概述@ 20-01-10 17:56:21]找到了Cortex-M0 R0P0,Little Endian。
[INFO General @20-01-10 17:56:21] FPUnit: 4 code (BP) slots and 0 literal slots
[信息常规@ 20-01-10 17:56:21] Coresight组件:
[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
[信息概述@ 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
[信息OTP图像@ 20-01-10 17:56:38]使用预配置的AP [0]作为AHB-AP与核心通信
[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
[信息OTP图像@ 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.
[信息OTP图像@ 20-01-10 17:56:39]成功下载了固件文件到电路板。
[警告OTP图像@ 20-01-10 17:56:46]在文件末尾添加的4零个字节以Word对齐数据
[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?
[警告OTP图像@ 20-01-10 17:56:46]在文件末尾添加的4零个字节以Word对齐数据
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.
这些星期如此累,我以为燃烧的OTP是一件非常简单的事情,但这不是。我没有在中国的互联网上获得大量关于DA14585的信息,其中大多数是DA14580,几乎没有关于如何通过JTAG接口刻录OTP的信息。
but I also gained new knowledge from you ,Thank you for your help and guidance.
嗨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
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
嗨Skywei5830,
我建议您在OTP / OTP标题不刻录的电路板中尝试。通常,客户在最终产品中使用OTP,而不是用于调试/教育范围。是的,您可以直接通过Keil下载FW到System-RAM。按两次“开始/停止调试会话”按钮,将下载FW。
如果您正在启动新设计,我们将强烈建议进入DA14531和SDK6.0.12,因为它更加有所改善。我们有很多代码示例和改进的文档,还有软件路线图支持。请结帐DA14531支持门户:
//www.wsdof.com/products/connectivity/bluetooth-low-energy/products/da14531
Thanks, PM_Dialog
Hi PM_Dialog,
Thank you! Thanks for your advice!
嗨Skywei5830,
Thanks for accepting my answer. I you have any follow up question, please create a new forum thread.
Thanks, PM_Dialog