你好,
我目前工作与DA14580基本套件和SDK 5.0.3。我有以下两个问题;
1.目前使用Keil我在RAM上运行我的代码,但如何为生产OTP内存编程。2.如何使用基本套件来编写基于DA14580的模块的RAM和OTP内存。
感谢您的快速回复。
谢谢,DV
嗨,DV,
您可以使用Smart Snippets或CLI工具来编写OTP,也可以使用它来开发使用UART接口编写syram。
至于使用你的开发工具包编程你的自定义板,没有应用程序说明,你可以按照下面的帖子:
http://support.dialog-semiconductor.com/programming-external-board-basic..。
由于MT_dialog
嗨MT_Dialog,
谢谢你的回复!
所以有没有任何指南描述如何使用智能片段或CLI程序sysram/OTP?
我还读了你提到的文章,但它并没有描述基本开发工具包和DA14580模块之间需要建立的连接。如果你能解释一下,那就太好了。
是的,你可以在Smart Snippets帮助pdf文档中找到更多关于使用Smart Snippets和CLI编程的信息(在Smart Snippets工具中检查帮助选项),在文件的结尾,你可以找到一些关于CLI的例子。
使用开发套件编程的配置如下:
SWCLK - > TCKSWDIO - >经颅磁刺激VBAT - > VBAT580接地- >接地VPP -> TP2(请同时放置OTP跳线,以便烧毁OTP)
我们尝试了以下连接:
模块端-开发工具包端SWCLK - J4 (TCK)第27引脚SWDIO - J4 (TMS) 25引脚VBAT - J4 (VBAT)的1引脚GND - J4的2脚(GND)
但与上述提到,我不能编程的DA 14580基于模块。当使用uVision Keil v5.16a编程时,我得到“No Cortex-M SW device found.”错误。
我不能理解我做错了什么。你能帮我一下吗?
建议做以下OTP编程:1.拔下USB并从PC上断开基本套件。2.模块与基本DK接线,先拆下J4所有跳线。GND - J4的2引脚SWCLK - J4的第27引脚SWDIO -引脚25的J4VPP - TP2 (J8跳线打开)VBAT - J5的引脚1 (J5跳线未安装)3.插入USB到PC,为DK和模块供电。4.要验证您的设置,请转到您的Keil项目来编译源代码,并下载到DUT。5.如果ok,退出Keil调试器。6.打开smartnippets工具,在首页选择“JTAG”和“DA14580-01”。7.选择OTP报头部分,按“Connect”键查看“jtag_program .bin”下载是否成功。8.按“读”图标阅读OTP标题内容。9.如果没有问题,设置和连接就可以进行OTP图像编程了。关于OTP编程程序,您可以参考我们的申请说明以获得详细信息。为了使能OTP编程,需要安装J8跳线使能VPP 6.8V。为了更好的BLE性能和更长的范围,建议调整16M晶体和编程值,并在OTP报头部分启用此校准。在调试阶段,建议在OTP头部分保留JTAG特性,为进一步的调试工作留下后门。如果有必要,可以稍后禁用此功能。注意,您的应用程序没有禁用JTAG特性。或者JTAG使能位没有功能。希望这些信息对你有所帮助。
感谢您的快速回复。您所建议的连接是有效的。虽然我还没有尝试过OTP编程。
嗨MT_dialog,
正如我之前说的,我想编写基于DA 14580模块的OTP内存,但我还没有尝试它。我知道我必须禁用/启用代码中的宏也编译它的OTP编程。如果您能告诉我准确的步骤,包括OTP编程的代码编译,我将不胜感激,因为我有有限的模块来做这一点。目前,我正在使用SDK 5中的Proximity Reporter示例项目,所以您可以就那个示例向我解释。
请查看以下帖子:
http://support.dialog-semiconductor.com/step-step-guidelines-programming..。.
http://support.dialog-semiconductor.com/document-programming-otp-da14580..。
另外,对于OTP编程,请检查AN-B-020.pdf文件。
我读了应用程序说明,也SmartSnippets工具的帮助。在那之后,我做了必要的连接模块到基本套件,如你之前的一篇文章中提到的。请注意,有了这些连接,我能够使用Keil uVision5编程SRAM和模块工作良好。现在我做了以下步骤:
1.开始SmartSnippets v3.82.选择JTAG和DA14580-013.到OTP程序员,选择“OTP图像”选项卡4.浏览并选择要在OTP Memort上加载的HEX文件,在本例中,Proximity Reporter项目使用定义了'GPIO_DRV_PIN_ALLOC_MON_DISABLED'宏构建的HEX文件。它显示“OTP图像”标签上的数据文件内容。5.成功连接设备。6.读取OTP内存。7.刻录选定的HEX文件。
在步骤7后,我得到以下错误:
[INFO @16-01-21 00:01:21] OTP Image:开始燃烧内存与25036字节的数据在地址0x40000。[ERROR @16-01-21 00:01:22] OTP Image: add ERROR info at address 0x81FEC (MSB first): FF FF FF FE[ERROR @16-01-21 00:01:22] OTP镜像:内存烧录失败。
同样,当我启动smartnippets我得到错误"ftd2xx.dll没有在C:\Windows\System32找到"。
我附加了ZIP文件,其中包含SmartSnippets日志和FTDI错误的快照。
请帮我解决这些错误,以便我烧毁OTP内存。
您收到的错误可能是这个manfunction的根本原因,请尝试使用最新版本的Smart Snippets,这也可能是您的OTP编程供应的问题。请确保您与单板的J-link连接尽可能短,接地牢靠。Vpp必须是干净的,不能超过6.8V。
也请查看下面的帖子。
http://support.dialog-semiconductor.com/otp-programming-1
http://support.dialog-semiconductor.com/otp-program-mass-production-vpp-..。
http://support.dialog-semiconductor.com/vpp-current-consumption
现在错误已经解决,我可以使用Basic Kit编写基于DA14580模块的OTP内存。我忘记在基本套件的J8连接器上安装跳线了!
但现在,即使程序后的OTP图像和OTP头模块不是独立工作。为什么会这样?设置有什么问题吗?我还需要做些别的事情吗?我附上了OTP图像和OTP头编程日志作为参考。
我使用最新的SmartSnippets即v3.9。我还是会得到FTDI错误。请帮我解决这个错误。
很高兴听到你做到了,我不明白“模块不能独立工作”是什么意思?没有电源,只有电池?如果是这样,你是否改变了j5头电池电源跳线?至于OTP报头,我已经注意到你没有你的应用程序标志程序。请检查AN-B-001 580的启动程序和应用标志的功能。关于FTDI错误,我猜这与您的系统中安装的FTDI驱动程序有关,请尝试更新它们。
通过“模块不是独立工作的”,我的意思是,直到现在我正在通过Basic Kit加载程序到模块中,使用Keil uVision 5,运行良好。但是在闪过OTP内存后,我期望,没有必要使用Keil加载程序,它应该通过给予能量工作,但这没有发生。
关于连接,模块的VBAT连接到J5的Pin1,模块的GND连接到J4的Pin2。
我应该如何编程到应用程序标志,我现在可以在相同的模块上更改它吗?我也需要程序bool加载器到OTP内存吗?如果有,在哪里可以找到?
等待你的回复。
AN-B-001表示引导加载程序检查应用程序标志是否被编程为YES,然后引导从OTP启动,否则它遵循普通的过程,就像它未被编程一样,只需连接你的模块并设置你的OTP应用程序标志为YES。在580中有一个引导加载程序,次要引导加载程序用于替代目的(更多信息请检查UM-B-012:次要引导加载程序的创建)。
谢谢你的回复。
我不能使用SmartSnippets“连接”到模块,它给我错误。我认为这是由于OTP已经被编程。似乎模块是浪费了,因为现在我甚至不能编程系统RAM运行在调试模式从Keil uVision 5。
每次您建议新的应用程序笔记/用户手册。对于初学者来说,没有什么是在一个地方覆盖的,也没有什么是立即提供的。我请求您让我知道我需要遵循的准确步骤,以成功编程模块的OTP内存。
如果你的OTP被烧与你上传的header_log.txt,那么你应该能够重新连接调试器和重新烧你的OTP(字段尚未烧成),因为应用程序标志没有烧成,JTAG仍然是启用的。它很难保持所有的信息如何编程的OTP, OTP的不同领域,连接一个参考设计使用开发工具包和故障排除在一个单一的教程,所以我们试图重定向您到相应的手册。
关于编程的OTP,我想你已经熟悉如何连接到模块与您的开发工具包。
1)选择“OTP镜像”页签
2)选择你的。hex文件和刻录你的程序到OTP。
3)去OTP头标签和改变两个你的应用标志字段是(只是开始你的代码从OTP执行)我已经附加了OTP .hex从ref设计我刚刚烧毁,供你参考。
在那之后,你的设备应该在重置后发布广告。正如您从附件中看到的,JTAG仍然是启用的,因此我能够重新连接到已经烧毁的模块,只要我在智能代码片段工具中点击连接到OTP头选项卡。
如果不可能有一个单一的教程,那么至少应该有一个文档,可能是一个应用程序说明,说明如何使用SmartSnippets编程OTP内存。这对像我这样的初学者很有帮助。不管怎样,非常感谢你的帮助。我能够编程的OTP记忆,并能够设置这些标志。现在我的代码可以执行并且模块工作正常。
问候,DV
很高兴你能来。我会将您的请求转发给团队,关于如何与OTP交互的完整文档。
嗨,DV,
您可以使用Smart Snippets或CLI工具来编写OTP,也可以使用它来开发使用UART接口编写syram。
至于使用你的开发工具包编程你的自定义板,没有应用程序说明,你可以按照下面的帖子:
http://support.dialog-semiconductor.com/programming-external-board-basic..。
由于MT_dialog
嗨MT_Dialog,
谢谢你的回复!
所以有没有任何指南描述如何使用智能片段或CLI程序sysram/OTP?
我还读了你提到的文章,但它并没有描述基本开发工具包和DA14580模块之间需要建立的连接。如果你能解释一下,那就太好了。
谢谢,
DV
嗨,DV,
是的,你可以在Smart Snippets帮助pdf文档中找到更多关于使用Smart Snippets和CLI编程的信息(在Smart Snippets工具中检查帮助选项),在文件的结尾,你可以找到一些关于CLI的例子。
使用开发套件编程的配置如下:
SWCLK - > TCK
SWDIO - >经颅磁刺激
VBAT - > VBAT580
接地- >接地
VPP -> TP2(请同时放置OTP跳线,以便烧毁OTP)
由于MT_dialog
嗨MT_Dialog,
感谢您的快速回复。
我们尝试了以下连接:
模块端-开发工具包端
SWCLK - J4 (TCK)第27引脚
SWDIO - J4 (TMS) 25引脚
VBAT - J4 (VBAT)的1引脚
GND - J4的2脚(GND)
但与上述提到,我不能编程的DA 14580基于模块。当使用uVision Keil v5.16a编程时,我得到“No Cortex-M SW device found.”错误。
我不能理解我做错了什么。你能帮我一下吗?
谢谢,
DV
建议做以下OTP编程:
1.拔下USB并从PC上断开基本套件。
2.模块与基本DK接线,先拆下J4所有跳线。
GND - J4的2引脚
SWCLK - J4的第27引脚
SWDIO -引脚25的J4
VPP - TP2 (J8跳线打开)
VBAT - J5的引脚1 (J5跳线未安装)
3.插入USB到PC,为DK和模块供电。
4.要验证您的设置,请转到您的Keil项目来编译源代码,并下载到DUT。
5.如果ok,退出Keil调试器。
6.打开smartnippets工具,在首页选择“JTAG”和“DA14580-01”。
7.选择OTP报头部分,按“Connect”键查看“jtag_program .bin”下载是否成功。
8.按“读”图标阅读OTP标题内容。
9.如果没有问题,设置和连接就可以进行OTP图像编程了。
关于OTP编程程序,您可以参考我们的申请说明以获得详细信息。
为了使能OTP编程,需要安装J8跳线使能VPP 6.8V。
为了更好的BLE性能和更长的范围,建议调整16M晶体和编程值,并在OTP报头部分启用此校准。
在调试阶段,建议在OTP头部分保留JTAG特性,为进一步的调试工作留下后门。如果有必要,可以稍后禁用此功能。
注意,您的应用程序没有禁用JTAG特性。或者JTAG使能位没有功能。
希望这些信息对你有所帮助。
嗨MT_Dialog,
感谢您的快速回复。
您所建议的连接是有效的。虽然我还没有尝试过OTP编程。
谢谢,
DV
嗨MT_dialog,
正如我之前说的,我想编写基于DA 14580模块的OTP内存,但我还没有尝试它。我知道我必须禁用/启用代码中的宏也编译它的OTP编程。如果您能告诉我准确的步骤,包括OTP编程的代码编译,我将不胜感激,因为我有有限的模块来做这一点。目前,我正在使用SDK 5中的Proximity Reporter示例项目,所以您可以就那个示例向我解释。
谢谢,
DV
嗨,DV,
请查看以下帖子:
http://support.dialog-semiconductor.com/step-step-guidelines-programming..。.
http://support.dialog-semiconductor.com/document-programming-otp-da14580..。
另外,对于OTP编程,请检查AN-B-020.pdf文件。
由于MT_dialog
嗨MT_dialog,
我读了应用程序说明,也SmartSnippets工具的帮助。在那之后,我做了必要的连接模块到基本套件,如你之前的一篇文章中提到的。请注意,有了这些连接,我能够使用Keil uVision5编程SRAM和模块工作良好。现在我做了以下步骤:
1.开始SmartSnippets v3.8
2.选择JTAG和DA14580-01
3.到OTP程序员,选择“OTP图像”选项卡
4.浏览并选择要在OTP Memort上加载的HEX文件,在本例中,Proximity Reporter项目使用定义了'GPIO_DRV_PIN_ALLOC_MON_DISABLED'宏构建的HEX文件。它显示“OTP图像”标签上的数据文件内容。
5.成功连接设备。
6.读取OTP内存。
7.刻录选定的HEX文件。
在步骤7后,我得到以下错误:
[INFO @16-01-21 00:01:21] OTP Image:开始燃烧内存与25036字节的数据在地址0x40000。
[ERROR @16-01-21 00:01:22] OTP Image: add ERROR info at address 0x81FEC (MSB first): FF FF FF FE
[ERROR @16-01-21 00:01:22] OTP镜像:内存烧录失败。
同样,当我启动smartnippets我得到错误"ftd2xx.dll没有在C:\Windows\System32找到"。
我附加了ZIP文件,其中包含SmartSnippets日志和FTDI错误的快照。
请帮我解决这些错误,以便我烧毁OTP内存。
谢谢,
DV
嗨,DV,
您收到的错误可能是这个manfunction的根本原因,请尝试使用最新版本的Smart Snippets,这也可能是您的OTP编程供应的问题。请确保您与单板的J-link连接尽可能短,接地牢靠。Vpp必须是干净的,不能超过6.8V。
也请查看下面的帖子。
http://support.dialog-semiconductor.com/otp-programming-1
http://support.dialog-semiconductor.com/otp-program-mass-production-vpp-..。
http://support.dialog-semiconductor.com/vpp-current-consumption
由于MT_dialog
嗨MT_dialog,
感谢您的快速回复。
现在错误已经解决,我可以使用Basic Kit编写基于DA14580模块的OTP内存。我忘记在基本套件的J8连接器上安装跳线了!
但现在,即使程序后的OTP图像和OTP头模块不是独立工作。为什么会这样?设置有什么问题吗?我还需要做些别的事情吗?我附上了OTP图像和OTP头编程日志作为参考。
我使用最新的SmartSnippets即v3.9。我还是会得到FTDI错误。请帮我解决这个错误。
谢谢,
DV
嗨,DV,
很高兴听到你做到了,我不明白“模块不能独立工作”是什么意思?没有电源,只有电池?如果是这样,你是否改变了j5头电池电源跳线?至于OTP报头,我已经注意到你没有你的应用程序标志程序。请检查AN-B-001 580的启动程序和应用标志的功能。关于FTDI错误,我猜这与您的系统中安装的FTDI驱动程序有关,请尝试更新它们。
由于MT_dialog
嗨MT_dialog,
感谢您的快速回复。
通过“模块不是独立工作的”,我的意思是,直到现在我正在通过Basic Kit加载程序到模块中,使用Keil uVision 5,运行良好。但是在闪过OTP内存后,我期望,没有必要使用Keil加载程序,它应该通过给予能量工作,但这没有发生。
关于连接,模块的VBAT连接到J5的Pin1,模块的GND连接到J4的Pin2。
我应该如何编程到应用程序标志,我现在可以在相同的模块上更改它吗?我也需要程序bool加载器到OTP内存吗?如果有,在哪里可以找到?
等待你的回复。
谢谢,
DV
嗨,DV,
AN-B-001表示引导加载程序检查应用程序标志是否被编程为YES,然后引导从OTP启动,否则它遵循普通的过程,就像它未被编程一样,只需连接你的模块并设置你的OTP应用程序标志为YES。在580中有一个引导加载程序,次要引导加载程序用于替代目的(更多信息请检查UM-B-012:次要引导加载程序的创建)。
由于MT_dialog
嗨MT_dialog,
谢谢你的回复。
我不能使用SmartSnippets“连接”到模块,它给我错误。我认为这是由于OTP已经被编程。似乎模块是浪费了,因为现在我甚至不能编程系统RAM运行在调试模式从Keil uVision 5。
每次您建议新的应用程序笔记/用户手册。对于初学者来说,没有什么是在一个地方覆盖的,也没有什么是立即提供的。我请求您让我知道我需要遵循的准确步骤,以成功编程模块的OTP内存。
谢谢,
DV
嗨,DV,
如果你的OTP被烧与你上传的header_log.txt,那么你应该能够重新连接调试器和重新烧你的OTP(字段尚未烧成),因为应用程序标志没有烧成,JTAG仍然是启用的。它很难保持所有的信息如何编程的OTP, OTP的不同领域,连接一个参考设计使用开发工具包和故障排除在一个单一的教程,所以我们试图重定向您到相应的手册。
关于编程的OTP,我想你已经熟悉如何连接到模块与您的开发工具包。
1)选择“OTP镜像”页签
2)选择你的。hex文件和刻录你的程序到OTP。
3)去OTP头标签和改变两个你的应用标志字段是(只是开始你的代码从OTP执行)我已经附加了OTP .hex从ref设计我刚刚烧毁,供你参考。
在那之后,你的设备应该在重置后发布广告。正如您从附件中看到的,JTAG仍然是启用的,因此我能够重新连接到已经烧毁的模块,只要我在智能代码片段工具中点击连接到OTP头选项卡。
由于MT_dialog
嗨MT_dialog,
如果不可能有一个单一的教程,那么至少应该有一个文档,可能是一个应用程序说明,说明如何使用SmartSnippets编程OTP内存。这对像我这样的初学者很有帮助。不管怎样,非常感谢你的帮助。我能够编程的OTP记忆,并能够设置这些标志。现在我的代码可以执行并且模块工作正常。
问候,
DV
嗨,DV,
很高兴你能来。我会将您的请求转发给团队,关于如何与OTP交互的完整文档。
由于MT_dialog