Hi,
I am currently working with DA14580 Basic Kit and with SDK 5.0.3. I have following two queries;
1.目前使用keil我在RAM上运行我的代码,但如何为生产进行编程OTP内存。
2. How to use the Basic Kit to program the RAM as well as OTP memory of DA14580 based Module.
感谢您的快速回复。
谢谢,
DV.
设备:
嗨,DV,
您可以使用Smart Snippets或CLI工具来编程OTP,也可以将其用于开发目的,使用UART接口来编程sysram。
As far as programming your custom board using your dev kit there is no app note for this can you please follow the posts below:
http://support.dialog-semiconductor.com/programming-external-board-basic...
Thanks MT_dialog
嗨,MT\u Dialog,
Thanks for your reply!
那么有没有说明如何使用智能片段或CLI来编程Sysram / OTP?
我也读了你提到的帖子,但它没有描述基本开发工具包和DA14580模块之间需要建立的连接。所以,如果你能解释一下这是我自己的话,那就太好了。
谢谢,
DV.
嗨,DV,
是的,您可以在智能代码段中的文档中找到更多关于编程的信息,并在智能代码段的文档中帮助PDF(在Smart Scepets Tool检查帮助选项中),在文件末尾您可以找到关于CLI的一些示例。
The configuration about programming using the dev kit is:
SWCLK->TCK开关
SWDIO -> TMS
vbat - > vbat580
GND - > GND
VPP -> TP2 (please place the OTP jumper as well in order to burn the OTP)
Thanks MT_dialog
嗨,MT\u Dialog,
感谢您的快速回复。
我们尝试了以下连接:
模块侧 - 开发套件侧
SWCLK-J4(TCK)的针脚27
SWDIO - J4的PIN 25(TMS)
VBAT - Pin 1 of J4 (VBAT)
J4(GND)的GND - PIN 2
But with above mentioned I am not able to program the DA 14580 based module. I am getting "No Cortex-M SW device found." error while programming using uVision Keil v5.16a.
I am not able to understand what I am doing wrong. Can you please help me here?
谢谢,
DV.
建议进行OTP编程,如下所示:
1. Unplug the USB and disconnect the basic kit from PC.
2. Wiring between module and basic DK, remove all jumpers of J4 firstly.
GND - Pin 2 of J4
SWCLK - Pin 27 of J4
SWDIO - J4的PIN 25
VPP-TP2(J8跳线开路)
VBAT-J5的针脚1(未安装J5跳线)
3.插入式USB到PC上电以加电DK和模块。
4.要验证您的设置,请转到Keil项目以编译您的来源,下载到DUT。
5.如果确定,则退出Keil调试器。
6.启动SmartSnippets工具并在首页中选择JTAG和DA14580-01。
7. Select OTP header section, press the "Connect" key to see downloading of "jtag_programmer.bin" is successful or not.
8. Press "Read" icon to read the OTP header content.
9.如果没有问题,设置和连接已准备好用于OTP图像编程。
对于OTP编程程序,您可以参考我们的应用说明了解详细信息。
要启用OTP编程,需要安装J8跳线以启用VPP 6.8V。
为了更好的BLE性能和更长的范围,建议调整16M Crystal并编程值并在OTP标题部分中启用此校准。
在调试阶段,建议在OTP标题部分中启用的JTAG功能留下后门以进行进一步调试工作。如有必要,可以在以后禁用。
Beware your application didn't disable the JTAG feature. Or the JTAG enabling bit has no function.
希望这些信息有用。
嗨,MT\u Dialog,
谢谢你快速的回复。
The connection you have suggested is worked. Though I haven't tried for OTP programming yet.
谢谢,
DV.
嗨mt_dialog,
正如我在我想在基于DA 14580的模块的OTP存储器上编写的,但我还没有尝试过。我知道我必须在代码中禁用/启用宏也可以编译它以用于OTP编程。如果您能够告诉我包括OTP编程的代码编程的确切步骤,因为我有限量的模块,请执行以下操作。目前,我在SDK 5中使用了Proximity Reporter示例项目,因此您可以在该示例中解释我。
谢谢,
DV.
嗨,DV,
Please check the following post:
http://support.dialog-semiconductor.com/step-step-guidelines-programming....
http://support.dialog-semiconductor.com/document-programming-otp-da14580...
Also for the OTP programming please check AN-B-020.pdf file.
Thanks MT_dialog
嗨mt_dialog,
I read the application note and also the help of SmartSnippets tool. After that I made necessary connections of the module to the Basic kit as mentioned in one your previous post. Please note, with these connections I am able to program the SRAM using Keil uVision5 and the module works fine. Now I have done following steps:
1. Start SmartSnippets v3.8
2.选择JTAG和DA14580-01
3.转到OTP编程器并选择“OTP图像”选项卡
4.浏览并选择要在OTP MEMORT上加载的十六进制文件,在这种情况下,使用'GPIO_DRV_PIN_ALLOC_MON_DISABLEABLEABLED构建的Proximity Reporter Project HEX文件定义。它显示“OTP映像”选项卡上的数据文件内容。
5.成功连接到设备。
6.读取OTP内存。
7.烧录选定的十六进制文件。
After the step 7 I got following error:
[info @ 16-01-21 00:01:21] OTP图片:在地址0x40000时,使用25036个字节的数据开始刻录内存。
[错误@ 16-01-21 00:01:22] OTP图像:地址0x81FEC(MSB第一)Adddition Error Info:FF FF FE
[错误@ 16-01-21 00:01:22] OTP图像:内存刻录失败。
此外,当我开始SmartSnippet时,我收到错误“在C:\ Windows \ System32中找不到FTD2xx.dll。
I have attached the ZIP file that contains SmartSnippets logs and the snapshot of the FTDI error.
请帮助我解决这些错误,以便我可以刻录OTP内存。
谢谢,
DV.
嗨,DV,
您收到的错误可能是此手机的根本原因,尝试使用最新版本的智能片段,此外可能是您OTP编程供应的问题。请确保与电路板的J-Link连接尽可能短,接地稳固。VPP必须清洁,不得超过6.8V。
Also please check the following posts.
http://support.dialog-semiconductor.com/otp-programming-1
http://support.dialog-semicondiondiondum/otp-program-mass-production-vpp -...
http://support.dialog-semiconductor.com/vpp-current-consumption
Thanks MT_dialog
嗨mt_dialog,
感谢您的快速回复。
误差现在已解决,我能够使用基本套件对基于DA14580模块的OTP存储器进行编程。我忘了在基本套件上安装j8连接器上的跳线!
但是现在,即使对OTP图像和OTP报头进行了编程,模块也不能独立工作。为什么会这样?设置有什么问题吗?我需要做些别的事情来让它工作吗?我附上了OTP图像和OTP头编程日志作为参考。
I am using latest SmartSnippets i.e. v3.9. And I still getting that FTDI error. Please help me to resolve this error too.
谢谢,
DV.
嗨,DV,
Nice to hear you made it, i dont get the "the module is not working independently" what do you mean ? without power, only with the battery ? If that is the case did you change the jumper on j5 header in battery power supply ? As far as the OTP headers i ve noticed that you dont have your application flags programmed. Please check the AN-B-001 for the booting procedure of the 580 and the function of the application flags. About the FTDI error i guess this has something to do with your FTDI drivers installed in your system, try to update them.
Thanks MT_dialog
嗨mt_dialog,
感谢您的快速回复。
“模块不能独立工作”,我的意思是,到目前为止,我正在加载程序,通过基本工具包,使用Keil-uVision 5,运行良好。但是在刷新OTP内存之后,我希望,没有必要使用Keil加载程序,它应该只通过提供电源来工作,但这并没有发生。
关于连接,模块的VBAT连接到J5的引脚1,模块的GND连接到J4的引脚2。
What should I program to Application Flags and can I change it now on the same module? Do I also need to program bool loader to OTP memory? If yes, where can I find it ?
等待您的回复。
谢谢,
DV.
嗨,DV,
As the AN-B-001 indicates the bootloader checks if the application flags are programmed to YES then the bootrom boots from the OTP otherwise it follows the ordinary procedure as if it is unprogrammed, just connect your module and set your OTP application flags to yes. In the 580 there is a bootloader the secondary bootloader is used for alternative purposes (for more info please check the UM-B-012 : Creation of secondary bootloader).
Thanks MT_dialog
嗨mt_dialog,
谢谢你的回复。
I am not able to "Connect" to the module using SmartSnippets, it is giving me errors. I think that is due to the OTP is already programmed. It seems that the module is wasted, as now I am not even able to program the System RAM to run it in debug mode from Keil uVision 5.
每次您建议新的应用程序注意/用户手册。没有任何东西在初学者的一个地方覆盖,没有任何东西可以立即提供。我要求您请让我知道我需要遵循的确切步骤,以成功编程模块的OTP内存。
谢谢,
DV.
嗨,DV,
如果您的OTP用Header_log.txt烧毁,那么您应该能够重新启动调试器并将您的OTP(不刻为刻录的字段)重新连接,因为应用程序标志未刻录,并且仍仍启用JTAG。它难以保留关于如何编程OTP,OTP的不同字段的信息,通过使用开发套件并在一个教程中进行故障排除OTP来连接参考设计,以便我们尝试将您重定向到相应的手册。
About programming the OTP i suppose that you are allready familiar in how to connect to the module with your development kit.
1) Choose the OTP Image tab
2) Choose your .hex file and burn you program to the OTP.
3) Go to the OTP Header tab and change both of your application flag fields to yes (Just to start your code executing from the OTP) i ve attached the OTP .hex from the ref design i ve just burned, for your reference.
之后,您的设备应在重置后进行宣传。您可以从附件中看到的,JTAG仍然启用,因此我能够在智能代码片段工具中的连接到OTP标题选项卡时立即重新连接到已全部刻录模块。
Thanks MT_dialog
嗨mt_dialog,
如果不可能有一个单独的教程,那么至少应该有一个文档,可以是一个应用程序注释,解释如何使用SmartSnippets编程OTP内存。这对像我这样的初学者很有帮助。不管怎样,非常感谢你的帮助。我能够编程的OTP内存和能够设置这些标志。现在我的代码执行,模块工作正常。
当做,
DV.
嗨,DV,
很高兴你能来。我将把你的请求转发给团队,让他们完整地记录如何与OTP互动。
Thanks MT_dialog