你好,
我目前正在使用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模块之间需要进行的连接。所以如果你可以解释它是自我的,那就太好了。
是的,你可以在Smart Snippets帮助pdf文档中找到更多关于使用Smart Snippets和CLI编程的信息(在Smart Snippets工具中检查帮助选项),在文件的结尾,你可以找到一些关于CLI的例子。
关于使用DEV套件进行编程的配置是:
SWCLK - > TCKSWDIO - > TMSVBAT - > VBAT580接地- >接地VPP - > TP2(请放置OTP跳线,以燃烧OTP)
我们尝试了以下连接:
模块端-开发工具包端J4(TCK)的SWCLK - PIN 27J4(TMS)的SWDIO - PIN 25J4(VBAT)的VBAT - PIN 1GND - J4的2脚(GND)
但随着上面提到的,我无法编程基于DA 14580的模块。我得到“没有找到Cortex-M个SW设备。”使用UVISION KEIL V5.16A编程时出错。
我无法理解我做错了什么。你能帮我这里吗?
建议做以下OTP编程:1.拔下USB并断开PC的基本套件。2.模块和基本DK之间的接线,首先取下J4的所有跳线。GND - 别针2的J4SWCLK - J4的PIN 27SWDIO -引脚25的J4VPP - TP2(j8跳线打开)vbat - j5的引脚1(j5跳线未安装)3.插入USB到PC,为DK和模块供电。4.要验证您的设置,请转到您的Keil项目来编译源代码,并下载到DUT。5.如果确定,请退出Keil调试器。6.打开smartnippets工具,在首页选择“JTAG”和“DA14580-01”。7.选择OTP标题部分,按“Connect”键以查看“JTAG_PRIGHIMMER.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-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上加载的HEX文件,在本例中,Proximity Reporter项目使用定义了'GPIO_DRV_PIN_ALLOC_MON_DISABLED'宏构建的HEX文件。它显示“OTP图像”标签上的数据文件内容。5.成功连接到设备。6.读取OTP内存。7.刻录所选的十六进制文件。
在步骤7之后,我收到以下错误:
[INFO @16-01-21 00:01:21] OTP Image:开始燃烧内存与25036字节的数据在地址0x40000。[错误@ 16-01-21 00:01:22] OTP图像:地址0x81FEC(MSB第一)Adddition Error Info:FF FF FE[ERROR @16-01-21 00:01:22] OTP镜像:内存烧录失败。
同样,当我启动smartnippets我得到错误"ftd2xx.dll没有在C:\Windows\System32找到"。
我已附加了包含SmartSnippets日志的ZIP文件和FTDI错误的快照。
请帮我解决这些错误,以便我烧毁OTP内存。
您收到的错误可能是这个manfunction的根本原因,请尝试使用最新版本的Smart Snippets,这也可能是您的OTP编程供应的问题。请确保您与单板的J-link连接尽可能短,接地牢靠。Vpp必须是干净的,不能超过6.8V。
另外请检查以下帖子。
http://support.dialog-semicondiondiondum/otp-programming-1.
http://support.dialog-semiconductor.com/otp-program-mass-production-vpp-..。
http://support.dialog-semicondiondiondum/vpp-current-consumption.
现在错误已经解决,我可以使用Basic Kit编写基于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我认为您已经熟悉如何使用开发套件连接到模块。
1)选择OTP图像选项卡
2)选择您的.hex文件并将您的程序刻录到OTP。
3)转到OTP标题选项卡,将两个应用程序标志字段更改为“是”(仅启动从OTP执行的代码)I VE附加到OTP .hex从Ref Design I Ve刚刻录,供您参考。
在那之后,你的设备应该在重置后发布广告。正如您从附件中看到的,JTAG仍然是启用的,因此我能够重新连接到已经烧毁的模块,只要我在智能代码片段工具中点击连接到OTP头选项卡。
如果不可能有一个单一的教程,那么至少应该有一个文档,可能是一个应用程序说明,说明如何使用SmartSnippets编程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,
是的,你可以在Smart Snippets帮助pdf文档中找到更多关于使用Smart Snippets和CLI编程的信息(在Smart Snippets工具中检查帮助选项),在文件的结尾,你可以找到一些关于CLI的例子。
关于使用DEV套件进行编程的配置是:
SWCLK - > TCK
SWDIO - > TMS
VBAT - > VBAT580
接地- >接地
VPP - > TP2(请放置OTP跳线,以燃烧OTP)
谢谢mt_dialog.
嗨mt_dialog,
感谢您的快速回复。
我们尝试了以下连接:
模块端-开发工具包端
J4(TCK)的SWCLK - PIN 27
J4(TMS)的SWDIO - PIN 25
J4(VBAT)的VBAT - PIN 1
GND - J4的2脚(GND)
但随着上面提到的,我无法编程基于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 -引脚25的J4
VPP - TP2(j8跳线打开)
vbat - j5的引脚1(j5跳线未安装)
3.插入USB到PC,为DK和模块供电。
4.要验证您的设置,请转到您的Keil项目来编译源代码,并下载到DUT。
5.如果确定,请退出Keil调试器。
6.打开smartnippets工具,在首页选择“JTAG”和“DA14580-01”。
7.选择OTP标题部分,按“Connect”键以查看“JTAG_PRIGHIMMER.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-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上加载的HEX文件,在本例中,Proximity Reporter项目使用定义了'GPIO_DRV_PIN_ALLOC_MON_DISABLED'宏构建的HEX文件。它显示“OTP图像”标签上的数据文件内容。
5.成功连接到设备。
6.读取OTP内存。
7.刻录所选的十六进制文件。
在步骤7之后,我收到以下错误:
[INFO @16-01-21 00:01:21] OTP Image:开始燃烧内存与25036字节的数据在地址0x40000。
[错误@ 16-01-21 00:01:22] OTP图像:地址0x81FEC(MSB第一)Adddition Error Info:FF FF FE
[ERROR @16-01-21 00:01:22] OTP镜像:内存烧录失败。
同样,当我启动smartnippets我得到错误"ftd2xx.dll没有在C:\Windows\System32找到"。
我已附加了包含SmartSnippets日志的ZIP文件和FTDI错误的快照。
请帮我解决这些错误,以便我烧毁OTP内存。
谢谢,
DV
嗨dv,
您收到的错误可能是这个manfunction的根本原因,请尝试使用最新版本的Smart Snippets,这也可能是您的OTP编程供应的问题。请确保您与单板的J-link连接尽可能短,接地牢靠。Vpp必须是干净的,不能超过6.8V。
另外请检查以下帖子。
http://support.dialog-semicondiondiondum/otp-programming-1.
http://support.dialog-semiconductor.com/otp-program-mass-production-vpp-..。
http://support.dialog-semicondiondiondum/vpp-current-consumption.
谢谢mt_dialog.
嗨MT_dialog,
感谢您的快速回复。
现在错误已经解决,我可以使用Basic Kit编写基于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我认为您已经熟悉如何使用开发套件连接到模块。
1)选择OTP图像选项卡
2)选择您的.hex文件并将您的程序刻录到OTP。
3)转到OTP标题选项卡,将两个应用程序标志字段更改为“是”(仅启动从OTP执行的代码)I VE附加到OTP .hex从Ref Design I Ve刚刻录,供您参考。
在那之后,你的设备应该在重置后发布广告。正如您从附件中看到的,JTAG仍然是启用的,因此我能够重新连接到已经烧毁的模块,只要我在智能代码片段工具中点击连接到OTP头选项卡。
谢谢mt_dialog.
嗨MT_dialog,
如果不可能有一个单一的教程,那么至少应该有一个文档,可能是一个应用程序说明,说明如何使用SmartSnippets编程OTP内存。这对像我这样的初学者很有帮助。不管怎样,非常感谢你的帮助。我能够编程的OTP记忆,并能够设置这些标志。现在我的代码可以执行并且模块工作正常。
问候,
DV
嗨dv,
很高兴你能做到。我会将您的请求转发给团队有关具有完全文档如何与OTP互动的。
谢谢mt_dialog.