使用智能片段时,重置按钮不起作用

9个帖子/ 0新
最后一篇
jjw.
离线
最后一次露面:6年10个月前
加入:2014-06-18 15:28
使用智能片段时,重置按钮不起作用

你好,

我有一个十六进制文件。我下载了最新版本的智能片段。当我使用UART引导下载十六进制文件时,重置按钮不起作用。我试着按住按钮,也不是工作。

它只表示“超时:未检测到超过15000毫秒的重置信号”。
为什么?有人能帮我吗?

je_dialog
离线
最后一次露面:1个月6天前
职员
加入:2013-12-05 14:02
你好JJW,哪个发展

您好JJW,您使用的是哪个开发板:是主板/ Daugtherboard还是在一个套件中的所有新的基本开发?

BR JE_DIALOG.

塔佩奥
离线
最后一次露面:2年3周前
加入:2014-03-24 22:49
你好,

你好,

我有一个类似的问题,使用SmartSnippet将.hex文件下载到SPI Flash,基本板上。
以下内容在HTML帮助章节中表示,但我不清楚“下载特殊固件”的含义是什么。
我得到了类似的超时消息。

----------从用户指南“SPI Flash Programmer”:

用户可以选择.hex或二进制图像文件,以便将其刻录到SPI闪存。可以使用以下操作:

连接:特殊固件下载到芯片,以允许用户与SPI闪存进行交互。在启用其他操作之前,这是一个强制性的步骤。请注意,此固件与在OTP图像选项卡上按“Connect”按钮时下载的固件不同。如果“CRC不匹配”显示,请再次按“Connect”按钮,然后按下电路板上的硬件重置按钮重新启动下载过程。

轻敲。

klim9531
离线
最后一次露面:4年5个月前
加入:2015-01-28 23:52
嗨je_dialog / jjw,

嗨je_dialog / jjw,

我试图在我的自定义PCB上刻录OTP,以便我可以将其测试为独立设备。

当我尝试从SmartSnippet刻录OTP时,我得到相同的错误“超时:重置信号未检测到超过16000毫秒”(完整的日志在下面关闭)。

我正在使用Murata P2ML3078主板(带我的自定义PCB)。

我的自定义PCB仔细阅读主板上的PIN标题,我认为我基于我可以从Keil IDE连接和下载/运行调试模式下载/运行我的固件的事实,我认为我所有所需的连接。

在我的PCB我正在使用P0-0和P0_1连接到FTDI芯片,我将那些在SmartSnippet中的选择以及P0_7控制VPP(我还从主板到我的PCB跳投声)。

将范围放在RST引脚(也跳到我的PCB)上,我可以看到PIN基于原理图,只要应该像它一样进入3V。

我还尝试使用P0_4和P0_5主板引脚并将其运行到我的P0_0和P0_1引脚,只是看它是否有所不同。我尝试使用UART和UART / SPI模式使用SmartSnippets,我甚至尝试了JTAG模式。

别的东西,我尝试完全断开我的PCB,然后运行SmartSnippet。误差完全相同,即使没有连接BLE板。这让我相信我没有正确连接的PCB上没有东西,但如果是的话,为什么我可以在没有任何问题的调试模式下运行PCB?他们不使用相同的连接,以便调试和OTP编程吗?(添加VPP跳线燃烧OTP)。

我目前拥有的完整连接列表(10):
主板< - >我的PCB(DA14580上的引脚)
----------------------------------------
p0_4(tx)< - > p0.0(alt_uart_tx)
p0_5(rx)< - > p0_1(alt_uart_rx)
P0_2(CTS)< - > P0_2(CTS)
P0_3(RTS)< - > P0_3(RTS)
vcc_ext < - > vbat
GND < - > GND
VPP < - > VPP
SWDIO < - > SWDIO
SWCLK < - > SWCLK
RST < - > RST

你看到我错过了吗?

完整的日志消息:
[INFO @ 15-09-23 12:46:00]报头记录已从十六进制文件SPS_DEVICE.HEX中删除。
[信息@ 15-09-23 12:46:00]从文件sps_device.hex读取14212字节。
[信息@ 15-09-23 12:46:10]固件文件c:\ users \ klim \ smartsnippets \资源\ programmer_es5.bin已被选中以下载。
[信息@ 15-09-23 12:46:10]与COM31端口的连接已成功打开。
[info @ 15-09-23 12:46:10]开始下载程序...
[动作@ 15-09-23 12:46:11]请按电路板上的硬件重置按钮开始下载过程。
[错误@ 15-09-23 12:46:26]超时:重置信号未检测到超过16000毫秒。
[信息@ 15-09-23 12:46:26]成功断开了COM31端口。
[信息@ 15-09-23 12:46:26]将固件文件下载到电路板上。

感谢您的任何输入,--- klim
*注意 - 出于某种原因,论坛POST将字符串“P0_UNDERSCORE_0”替换为字符串“****”。所以我不得不将它编辑为“p0-0”所以它会显示。有趣的。

mhv_dialog
离线
最后一次露面:2个月5天前
职员
加入:2013-12-06 15:10
你好,

你好,

您所在地区的对话代表已联系您脱机以进行故障排除。据我所知,没有明显的步骤,你可以从你的描述中看到。

klim9531
离线
最后一次露面:4年5个月前
加入:2015-01-28 23:52
嗨mhv_dialog,

嗨mhv_dialog,

谢谢您的回复,我意识到我可以通过将我的代码恢复到调试(来自OTP)来测试智能人员的事情,然后只使用Booter实用程序中的文件下载功能来测试。

我得到相同的结果,我的PCB不允许下载,从主板上删除我的PCB给出了相同的错误消息。

但是,如果我现在将BLE子卡连接到主板(我的PCB仍然断开连接),那么越一步就会弄清楚,然后我能够成功将十六进制文件下载到子卡。

当我找到解决方案时,我会在这里发布,谢谢你的帮助, - klim

klim9531
离线
最后一次露面:4年5个月前
加入:2015-01-28 23:52
嗨mhv_dialog,

嗨mhv_dialog,

首先,由于对话为极大的支持!Mikael在对话框中打电话给我并帮助我调试我的设置,这非常有用。特别是有机会提出一些关于开发环境的关键问题真的帮助我了解*应该发生的事情。对话框应用笔记的性质是他们假设一切都会根据指令进行。所以,当事情变得震动时,我常常抓住我的头。但也许这只是我。无论如何,这里是关于我以前所做的事情的简要说明,结合我在电话期间学到的内容,希望我在Retell中得到它:

1.以前,您应该使用Keil IDE为项目构建.hex文件。我们在SmartSnippets的所有人都将指向.hex文件并将其加载到我们的BLE芯片中。但是,您应该知道,在您可以将您的.hex文件刻录到OTP之前,您需要在项目目录的根目录中更改DA14580_CONFIG文件中的某些设置。有几个定义指令,名称表明您想要更改它,但事实证明,至少需要更改的唯一需要更改的是需要的行“#define development_debug 1”更改为0.其他可以留下的其他部分:“#undef app_boot_from_otp”和“#undef read_nvds_struct_from_otp”。在进行这些更改后,请务必清理/重建项目。

2.使用JTAG连接通过SmartSnippet是可能的(和最简单),可以使用JTAG连接来编程。这意味着不需要束PF的连接,特别是UART线P0_4(TX),P0_5(RX),P0_2(CTS)和P0_3(RTS)。所以我断开了那些。现在,当您启动SmartSnippet时,应提供“打开项目/创建项目”屏幕。如果您之前没有尝试使用项目使用SmartSnippet,那么您需要点击“新建”并为项目提供一个名称,不要担心您在这里给出项目的名称,我们真正关心的是那么您选择“JTAG”单选按钮,此时您应该在中央框中看到jlink的序列号。在jlink序列号框中放置复选标记,选择芯片类型(我是DA14580-01)然后点击“打开”。

3.在左侧面板中选择OTP图标(鼠标鼠标以查看它们是什么)然后选择Teh OTP图像选项卡并浏览到您的.hex文件(应在项目中名为'OUT'的文件夹中)。点击“连接”按钮,然后,如果您真的感觉勇敢,请单击“刻录”。您应该在文件下载的日志窗口中看到,并刻录开始(可悲,我的项目仍然存在问题,我将描述下面的问题)。

4.在OTP标题选项卡上(如果未显示选项卡,请在左侧面板中的“OTP程序员”按钮上再次单击“连接”,然后单击“从内存中读取”。这将从您的芯片中读取一些在工厂设置的值(如XTAL校准装饰)。在窗口的顶部有两个应用程序标志参数,他们需要更改为“是”。有一堆其他价值观,我被告知我不需要改变任何一个,所以我没有。其中部分是因为Murata实际上已经“重新包装”的部分(如上面的早期帖子所描述的),他们已经完成了包括外部16MHz Xtal的工作。所以我的情况可能不适用于你,请意识到这一点。所以现在你需要做的就是点击“刻录”,你应该完成。

现在让我继续我悲伤的故事,因为在跟随上述内容之后,我仍然无法编程我的芯片。唐。

不幸的是,某些东西没有正确,但不是一种灾难性的方式。对于主要的十六进制文件的OTP刻录变得准备好了,然后它宣布了一个错误(其中一些非常糟糕的拼写),只是停止。幸运的是,我在VPP线上有一个探针,看看它是否提升了电压,即从未发生过电压,所以我仍然能够在调试模式下使用芯片,因为我在此之前完成。不确定这是问题,我们没有将6.8V获得6.8V到我的PCB,或者如果刻录失败,则在该部分之前失败。

这是我在“连接”然后“刻录”时生成的日志。

[信息@ 15-09-25 12:17:17]无法衡量总IR LEN。TDO是恒定的。
[信息@ 15-09-25 12:17:17]无法衡量总IR LEN。TDO是恒定的。
[Info @ 15-09-25 12:17:17]找到了带ID 0x0BB11477的SWD-DP
[信息@ 15-09-25 12:17:17]发现Cortex-M0 R0P0,Little Endian。
[信息@ 15-09-25 12:17:17] FpUnit:4代码(BP)插槽和0个字幕插槽
[Info @ 15-09-25 12:17:17]精选的设备。
[Info @ 15-09-25 12:17:30]报头记录已从十六进制文件SPS_DEVICE.HEX中删除。
[信息@ 15-09-25 12:17:30]从文件sps_device.hex中读取14276字节。
[info @ 15-09-25 12:18:05]固件文件c:\ users \ klim \ smartsnippets \资源\ jtag_programmer.bin已被选中以下载。
[INFO @ 15-09-25 12:18:05] Cortex-M:调试器尝试将PC设置为奇数值。从0x000800b5到0x000800b4的校正寄存器值
[Info @ 15-09-25 12:18:05]成功下载了固件文件到电路板。
[信息@ 15-09-25 12:19:18]开始刻录内存,在地址0x40000处使用14276个字节的数据。
[错误@ 15-09-25 12:19:18]地址0x81FEC(MSB第一)AddDitional错误信息:FF FF FF
[错误@ 15-09-25 12:19:19]记忆刻录失败。

您对如何测试系统的任何建议都将得到很大欣赏。

谢谢,克林

mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨Klim,

嗨Klim,

此错误的最可能原因可能是OTP编程供应。您可以查看VPP上的电源,并确保应用6.8伏。

谢谢mt_dialog.

klim9531
离线
最后一次露面:4年5个月前
加入:2015-01-28 23:52
嗨mt_dialog,

嗨mt_dialog,

好的,我有解决问题的解决方案上面描述的问题,可能这是罪魁祸首一直与原始的“重置按钮不工作”。在对话中再次感谢Mikael,以帮助我弄清楚问题。

在SmartSnippet中,“板设置”选项卡具有选择“GPIO引脚,可控制晶体管启用高电压......”默认为P0_7。显然,如果没有正确设置,那么我们将无法获得刻录OTP所需的6.8V。---但---- I /我们已经知道这一点,我已经在Murata PCB原理图中验证,P0_7确实控制了6.8V晶体管。

我制作的致命错误是假设Murata主板上的P0_7由SmartSnippet控制。我正在将控制流程从SmartSnippets开始,传递给Murata主板上的FTDI芯片,然后在我的PCB上携带到DA14580。不是OTP烧伤的情况。

事实证明,在OTP刻录期间,Murata主板上的P0_7引脚实际上由P0_7引脚*从我的PCB *上的DA14580控制。所以解决方案非常简单,我从我的PCB上的P0_7引脚上运行了一个跳线到Murata主板上的P0_7引脚,繁荣 - 我能够从中闪光并成功启动它。

所以我的设备现在函数独立,并确实应该做的事情。一个非常令人兴奋的里程碑,我希望我对我的斗争的笔记会帮助其他一些开发商也达到这一点。

欢呼,克林