你好,
我目前正在使用DA14580基本套件和SDK 5.0.3。我有两个疑问;
1.目前使用keil我在RAM上运行我的代码,但如何为生产进行编程OTP内存。2.如何使用基于DA14580模块的基本套件来编程RAM以及OTP内存。
感谢您的快速回复。
谢谢,DV.
嗨dv,
您可以使用智能片段或CLI工具来编程OTP,您也可以使用它来开发目的来使用UART接口编程Sysram。
就使用DEV套件编程了您的定制板没有应用笔记,请您按照以下帖子进行操作:
http://support.dialog-semicondiondiondum/programming-external-board-basic ...
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复!
那么有没有说明如何使用智能片段或CLI来编程Sysram / OTP?
此外,我还阅读了你提到的帖子,但它没有描述基本开发套件和DA14580模块之间需要进行的连接。所以如果你可以解释它是自我的,那就太好了。
是的,您可以在智能代码段中的文档中找到更多关于编程的信息,并在智能代码段的文档中帮助PDF(在Smart Scepets Tool检查帮助选项中),在文件末尾您可以找到关于CLI的一些示例。
关于使用DEV套件进行编程的配置是:
SWCLK - > TCKSWDIO - > TMSvbat - > vbat580GND - > GNDVPP - > TP2(请放置OTP跳线,以燃烧OTP)
我们尝试了以下连接:
模块侧 - 开发套件侧J4(TCK)的SWCLK - PIN 27J4(TMS)的SWDIO - PIN 25J4(VBAT)的VBAT - PIN 1J4(GND)的GND - PIN 2
但随着上面提到的,我无法编程基于DA 14580的模块。我得到“没有找到Cortex-M个SW设备。”使用UVISION KEIL V5.16A编程时出错。
我无法理解我做错了什么。你能帮我这里吗?
建议进行OTP编程,如下所示:1.拔下USB并断开PC的基本套件。2.模块和基本DK之间的接线,首先取下J4的所有跳线。GND - 别针2的J4SWCLK - J4的PIN 27SWDIO - J4的PIN 25VPP - TP2(j8跳线打开)vbat - j5的引脚1(j5跳线未安装)3.插入式USB到PC上电以加电DK和模块。4.要验证您的设置,请转到Keil项目以编译您的来源,下载到DUT。5.如果确定,请退出Keil调试器。6.启动SmartSnippets工具并在首页中选择JTAG和DA14580-01。7.选择OTP标题部分,按“Connect”键以查看“JTAG_PRIGHIMMER.BIN”的下载成功。8.按“读取”图标读取OTP标题内容。9.如果没有问题,设置和连接已准备好用于OTP图像编程。对于OTP编程程序,您可以有关详细信息,请参阅我们的应用笔记。要启用OTP编程,需要安装J8跳线以启用VPP 6.8V。为了更好的BLE性能和更长的范围,建议调整16M Crystal并编程值并在OTP标题部分中启用此校准。在调试阶段,建议在OTP标题部分中启用的JTAG功能留下后门以进行进一步调试工作。如有必要,可以在以后禁用。请注意您的应用程序没有禁用JTAG功能。或者JTAG启用位无效。希望这个信息有用。
谢谢你快速的回复。您建议的连接工作。虽然我还没有尝试过OTP编程。
正如我在我想在基于DA 14580的模块的OTP存储器上编写的,但我还没有尝试过。我知道我必须在代码中禁用/启用宏也可以编译它以用于OTP编程。如果您能够告诉我包括OTP编程的代码编程的确切步骤,因为我有限量的模块,请执行以下操作。目前,我在SDK 5中使用了Proximity Reporter示例项目,因此您可以在该示例中解释我。
请检查以下帖子:
http://support.dialog-semicondiondiondum/step-step-guidelines-programming ...。
http://support.dialog-semicondiondiond.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上加载的十六进制文件,在这种情况下,使用'GPIO_DRV_PIN_ALLOC_MON_DISABLEABLEABLED构建的Proximity Reporter Project HEX文件定义。它显示“OTP映像”选项卡上的数据文件内容。5.成功连接到设备。6.读取OTP内存。7.刻录所选的十六进制文件。
在步骤7之后,我收到以下错误:
[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。
我已附加了包含SmartSnippets日志的ZIP文件和FTDI错误的快照。
请帮助我解决这些错误,以便我可以刻录OTP内存。
您收到的错误可能是此手机的根本原因,尝试使用最新版本的智能片段,此外可能是您OTP编程供应的问题。请确保与电路板的J-Link连接尽可能短,接地稳固。VPP必须清洁,不得超过6.8V。
另外请检查以下帖子。
http://support.dialog-semicondiondiondum/otp-programming-1.
http://support.dialog-semicondiondiondum/otp-program-mass-production-vpp -...
http://support.dialog-semicondiondiondum/vpp-current-consumption.
误差现在已解决,我能够使用基本套件对基于DA14580模块的OTP存储器进行编程。我忘了在基本套件上安装j8连接器上的跳线!
但现在,即使在编程OTP图像和OTP标题之后,模块无法独立工作。为什么会这样?设置中有什么不对劲吗?我需要做别的事情吗?我已附加了OTP图像和OTP标题编程日志以进行参考。
我正在使用最新的smartsnippets i.e.v3.9。而且我仍然得到这个ftdi错误。请帮我解决这个错误。
很高兴听到你做到了,我没有得到“模块无法独立工作”你的意思是什么?没有电力,只有电池?如果是这种情况,您是否在电池电源中更改了J5标题上的跳线?就OTP标题而言,我注意到您没有编程的应用程序标志。请检查AN-B-001以获取580的启动过程和应用程序标志的功能。关于FTDI错误我猜这与系统中安装的FTDI驱动程序有关,请尝试更新它们。
通过“模块无法独立工作”,我的意思是直到现在我正在将程序加载到模块通过基本套件,使用Keil Uvision 5和它运行正常。但在闪烁的OTP内存之后,我期待那个,没有必要使用keil加载程序,它应该只需提供电量,但不会发生这种情况。
关于连接,模块的VBAT连接到J5的PIN1,模块的GND连接到J4的PIN2。
我应该如何编程到应用程序标志,我现在可以在同一模块上更改它吗?我还需要将Bool Loader编程到OTP内存吗?如果是的话,我在哪里可以找到它?
等待您的回复。
由于AN-B-001表示Pootloader检查应用程序标志是否被编程为YES,因此从OTP中启动Bootrom靴子否则它遵循普通过程,就好像它未编程一样,只需连接您的模块并将您的OTP应用程序标记设置为“是”。在580中有一个引导加载程序,辅助引导程序用于替代目的(有关详细信息,请检查UM-B-012:辅助引导程序的创建)。
感谢您的回复。
我无法使用SmartSnippet将模块“连接”,它给了我错误。我认为这是由于OTP已经编程了。似乎模块被浪费了,现在我甚至不能在从Keil UVISION 5中编程系统RAM以在调试模式下运行它。
每次您建议新的应用程序注意/用户手册。没有任何东西在初学者的一个地方覆盖,没有任何东西可以立即提供。我要求您请让我知道我需要遵循的确切步骤,以成功编程模块的OTP内存。
如果您的OTP用Header_log.txt烧毁,那么您应该能够重新启动调试器并将您的OTP(不刻为刻录的字段)重新连接,因为应用程序标志未刻录,并且仍仍启用JTAG。它难以保留关于如何编程OTP,OTP的不同字段的信息,通过使用开发套件并在一个教程中进行故障排除OTP来连接参考设计,以便我们尝试将您重定向到相应的手册。
关于编程OTP我认为您已经熟悉如何使用开发套件连接到模块。
1)选择OTP图像选项卡
2)选择您的.hex文件并将您的程序刻录到OTP。
3)转到OTP标题选项卡,将两个应用程序标志字段更改为“是”(仅启动从OTP执行的代码)I VE附加到OTP .hex从Ref Design I Ve刚刻录,供您参考。
之后,您的设备应在重置后进行宣传。您可以从附件中看到的,JTAG仍然启用,因此我能够在智能代码片段工具中的连接到OTP标题选项卡时立即重新连接到已全部刻录模块。
如果不可能拥有单个教程,那么至少应该是一个文档,可以是应用笔记,这解释了如何使用SmartSnippet来编程OTP内存。这有助于初学者,像我一样,很多。无论如何,非常感谢您的帮助。我能够编程OTP内存并能够设置这些标志。现在我的代码和模块工作正常。
问候,DV.
很高兴你能做到。我会将您的请求转发给团队有关具有完全文档如何与OTP互动的。
嗨dv,
您可以使用智能片段或CLI工具来编程OTP,您也可以使用它来开发目的来使用UART接口编程Sysram。
就使用DEV套件编程了您的定制板没有应用笔记,请您按照以下帖子进行操作:
http://support.dialog-semicondiondiondum/programming-external-board-basic ...
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复!
那么有没有说明如何使用智能片段或CLI来编程Sysram / OTP?
此外,我还阅读了你提到的帖子,但它没有描述基本开发套件和DA14580模块之间需要进行的连接。所以如果你可以解释它是自我的,那就太好了。
谢谢,
DV.
嗨dv,
是的,您可以在智能代码段中的文档中找到更多关于编程的信息,并在智能代码段的文档中帮助PDF(在Smart Scepets Tool检查帮助选项中),在文件末尾您可以找到关于CLI的一些示例。
关于使用DEV套件进行编程的配置是:
SWCLK - > TCK
SWDIO - > TMS
vbat - > vbat580
GND - > GND
VPP - > TP2(请放置OTP跳线,以燃烧OTP)
谢谢mt_dialog.
嗨mt_dialog,
感谢您的快速回复。
我们尝试了以下连接:
模块侧 - 开发套件侧
J4(TCK)的SWCLK - PIN 27
J4(TMS)的SWDIO - PIN 25
J4(VBAT)的VBAT - PIN 1
J4(GND)的GND - PIN 2
但随着上面提到的,我无法编程基于DA 14580的模块。我得到“没有找到Cortex-M个SW设备。”使用UVISION KEIL V5.16A编程时出错。
我无法理解我做错了什么。你能帮我这里吗?
谢谢,
DV.
建议进行OTP编程,如下所示:
1.拔下USB并断开PC的基本套件。
2.模块和基本DK之间的接线,首先取下J4的所有跳线。
GND - 别针2的J4
SWCLK - J4的PIN 27
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.选择OTP标题部分,按“Connect”键以查看“JTAG_PRIGHIMMER.BIN”的下载成功。
8.按“读取”图标读取OTP标题内容。
9.如果没有问题,设置和连接已准备好用于OTP图像编程。
对于OTP编程程序,您可以有关详细信息,请参阅我们的应用笔记。
要启用OTP编程,需要安装J8跳线以启用VPP 6.8V。
为了更好的BLE性能和更长的范围,建议调整16M Crystal并编程值并在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-semicondiondiondum/step-step-guidelines-programming ...。
http://support.dialog-semicondiondiond.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上加载的十六进制文件,在这种情况下,使用'GPIO_DRV_PIN_ALLOC_MON_DISABLEABLEABLED构建的Proximity Reporter Project HEX文件定义。它显示“OTP映像”选项卡上的数据文件内容。
5.成功连接到设备。
6.读取OTP内存。
7.刻录所选的十六进制文件。
在步骤7之后,我收到以下错误:
[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。
我已附加了包含SmartSnippets日志的ZIP文件和FTDI错误的快照。
请帮助我解决这些错误,以便我可以刻录OTP内存。
谢谢,
DV.
嗨dv,
您收到的错误可能是此手机的根本原因,尝试使用最新版本的智能片段,此外可能是您OTP编程供应的问题。请确保与电路板的J-Link连接尽可能短,接地稳固。VPP必须清洁,不得超过6.8V。
另外请检查以下帖子。
http://support.dialog-semicondiondiondum/otp-programming-1.
http://support.dialog-semicondiondiondum/otp-program-mass-production-vpp -...
http://support.dialog-semicondiondiondum/vpp-current-consumption.
谢谢mt_dialog.
嗨mt_dialog,
感谢您的快速回复。
误差现在已解决,我能够使用基本套件对基于DA14580模块的OTP存储器进行编程。我忘了在基本套件上安装j8连接器上的跳线!
但现在,即使在编程OTP图像和OTP标题之后,模块无法独立工作。为什么会这样?设置中有什么不对劲吗?我需要做别的事情吗?我已附加了OTP图像和OTP标题编程日志以进行参考。
我正在使用最新的smartsnippets i.e.v3.9。而且我仍然得到这个ftdi错误。请帮我解决这个错误。
谢谢,
DV.
嗨dv,
很高兴听到你做到了,我没有得到“模块无法独立工作”你的意思是什么?没有电力,只有电池?如果是这种情况,您是否在电池电源中更改了J5标题上的跳线?就OTP标题而言,我注意到您没有编程的应用程序标志。请检查AN-B-001以获取580的启动过程和应用程序标志的功能。关于FTDI错误我猜这与系统中安装的FTDI驱动程序有关,请尝试更新它们。
谢谢mt_dialog.
嗨mt_dialog,
感谢您的快速回复。
通过“模块无法独立工作”,我的意思是直到现在我正在将程序加载到模块通过基本套件,使用Keil Uvision 5和它运行正常。但在闪烁的OTP内存之后,我期待那个,没有必要使用keil加载程序,它应该只需提供电量,但不会发生这种情况。
关于连接,模块的VBAT连接到J5的PIN1,模块的GND连接到J4的PIN2。
我应该如何编程到应用程序标志,我现在可以在同一模块上更改它吗?我还需要将Bool Loader编程到OTP内存吗?如果是的话,我在哪里可以找到它?
等待您的回复。
谢谢,
DV.
嗨dv,
由于AN-B-001表示Pootloader检查应用程序标志是否被编程为YES,因此从OTP中启动Bootrom靴子否则它遵循普通过程,就好像它未编程一样,只需连接您的模块并将您的OTP应用程序标记设置为“是”。在580中有一个引导加载程序,辅助引导程序用于替代目的(有关详细信息,请检查UM-B-012:辅助引导程序的创建)。
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复。
我无法使用SmartSnippet将模块“连接”,它给了我错误。我认为这是由于OTP已经编程了。似乎模块被浪费了,现在我甚至不能在从Keil UVISION 5中编程系统RAM以在调试模式下运行它。
每次您建议新的应用程序注意/用户手册。没有任何东西在初学者的一个地方覆盖,没有任何东西可以立即提供。我要求您请让我知道我需要遵循的确切步骤,以成功编程模块的OTP内存。
谢谢,
DV.
嗨dv,
如果您的OTP用Header_log.txt烧毁,那么您应该能够重新启动调试器并将您的OTP(不刻为刻录的字段)重新连接,因为应用程序标志未刻录,并且仍仍启用JTAG。它难以保留关于如何编程OTP,OTP的不同字段的信息,通过使用开发套件并在一个教程中进行故障排除OTP来连接参考设计,以便我们尝试将您重定向到相应的手册。
关于编程OTP我认为您已经熟悉如何使用开发套件连接到模块。
1)选择OTP图像选项卡
2)选择您的.hex文件并将您的程序刻录到OTP。
3)转到OTP标题选项卡,将两个应用程序标志字段更改为“是”(仅启动从OTP执行的代码)I VE附加到OTP .hex从Ref Design I Ve刚刻录,供您参考。
之后,您的设备应在重置后进行宣传。您可以从附件中看到的,JTAG仍然启用,因此我能够在智能代码片段工具中的连接到OTP标题选项卡时立即重新连接到已全部刻录模块。
谢谢mt_dialog.
嗨mt_dialog,
如果不可能拥有单个教程,那么至少应该是一个文档,可以是应用笔记,这解释了如何使用SmartSnippet来编程OTP内存。这有助于初学者,像我一样,很多。无论如何,非常感谢您的帮助。我能够编程OTP内存并能够设置这些标志。现在我的代码和模块工作正常。
问候,
DV.
嗨dv,
很高兴你能做到。我会将您的请求转发给团队有关具有完全文档如何与OTP互动的。
谢谢mt_dialog.