Programm SPI Flash:UART Works,JTAG错误...地址81FE8

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
Programm SPI Flash:UART Works,JTAG错误...地址81FE8

亲爱的对话支持,

我有一个带有Murara Zy模块(DA14580)的定制板,附加了SPI Flash Winbond W25x20。
我直接编程DA14580,或通过Smart Scippets V4.8.3.1804通过UART进行闪存。我使用物联网套件程序员[编辑:CIB]。
两个板都通过J4的15cm平板电缆连接。

通过UART连接时,我可以连接,读取,擦除,刻录成功,固件将在启动时加载,我可以使用设备。

通过JTAG(SWD)连接时,连接似乎已成功建立:


[信息概述@ 18-08-12 21:01:50]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 18-08-12 21:01:50]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 18-08-12 21:01:50]找到了带有ID 0x0BB11477的SWD-DP
[信息概述@ 18-08-12 21:01:50] FpUnit:4代码(BP)插槽和0个文字插槽
[信息概述@ 18-08-12 21:01:50]找到了Cortex-M0 R0P0,Little Endian。
[信息概述@ 18-08-12 21:01:50]精选的BTLE设备。

加载SPI Flash固件也需要工作:


[信息SPI Flash @ 18-08-12 21:04:25]找到了带ID 0x0BB11477的SWD-DP
[信息SPI Flash @ 18-08-12 21:04:25] FpUnit:4代码(BP)插槽和0个字幕插槽
[信息SPI Flash @ 18-08-12 21:04:25]找到了Cortex-M0 R0P0,Little Endian。
[信息SPI Flash @ 18-08-12 21:04:25]固件文件C:\ Program Files(x86)\ dialog \ smartsnippetsstudio \ toolbox \ common_resources \ jtag_progrogmer.bin已被选中以下载。
[信息SPI Flash @ 18-08-12 21:04:25]成功下载了固件文件到电路板。
[信息SPI Flash @ 18-08-12 21:04:25]成功配置了SPI闪存端口和引脚。

阅读不起作用(闪光/擦除也不是)


[信息SPI Flash @ 18-08-14 22:22:06]开始从内存中读取32768个字节。
[错误SPI Flash @ 18-08-14 22:22:06]地址81FE8的读取内存失败。
[错误SPI Flash @ 18-08-14 22:22:06]读取内存失败。

这两种情况都是相同的(SPI Flash引脚配置,SPI闪存选项,SPI闪存大小(HEX,以字节为单位),请参阅附加的PDF。

你有什么想法出错了吗?

此致
约翰内斯

附件:
设备:
PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

我无法理解你想做什么。您是否希望通过JTAG和使用SmartSnippets工具编程您的自定义板或Murata模块?你是什​​么意思是“物联网套装编程器板”?你的意思是通信接口板(CIB)?请提供更具体的信息ABAUT连接图以便为您提供合适的答案。

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
我已经收到了IOT

我已经收购了带有CIB的IOT传感器开发套件,是的。
使用此CIB,我尝试使用MurataZy和Const Winbond W25x20编写自定义板。

使用UART工作 - >可以编程内存,默塔拉ZY将从闪存中加载固件。
使用SWD,它不起作用。
让我混淆的是SWD似乎工作了,它确实建立了与模块的连接,但编程闪存失败。
请参阅上面的日志。

您需要哪些其他信息?

gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
是否有可能闪光

flash_programmer.bin(用于UART)是否有可能支持W25x20,而JTAG_Programmer.bin不存在?
我应该修改和重建此固件吗?
编辑:我已经调查了da1458x_sdk \ 5.0.4 \ umerities \ flash_programmer和我(作为一个外包)看起来w25x20支持不区分UART / JTAG。
此外,GPIOS似乎被拉了,这很好,因为我有其他传感器共享SPI总线(无论如何它与UART工作好,所以我没想到这将是罪魁祸首)。

此外,我也看到了与此线程的可能性:
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
您是否有可用的文件,这些文件在那里提到?它可以有所帮助吗?

PS:我意识到我应该在“工具”论坛中发布了这一点?也许你可以移动它。

gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
我现在注意到了

我现在已经注意到,只要W25X20为空的,就会注意到读取和编程闪存的闪存工作正常。

1. Flash被编程,闪光灯的设备靴,工作正常
2.使用SWD打开SS工具箱 - >表现如初始帖子中所述
3.使用UART打开SS Toolbox - >删除Flash
4.使用SWD打开SS Toolbox - >可以成功读取Flash(全部空= FF)[见下面的首页]
5.尝试编写Flash - >成功,但直接(自动)回读失败[下面的第二个日志]
6.成功的Flash编程确认,因为设备再次从闪光开始工作,工作正常

首先是日志

[信息概述@ 18-08-19 11:01:22]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 18-08-19 11:01:22]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 18-08-19 11:01:22]找到了带ID 0x0BB11477的SWD-DP
[信息概述@ 18-08-19 11:01:22] FpUnit:4代码(BP)插槽和0个字幕插槽
[信息概述@ 18-08-19 11:01:22]找到了Cortex-M0 R0P0,Little Endian。
[信息概述@ 18-08-19 11:01:22]选择了BLE设备。
[信息SPI Flash @ 18-08-19 11:03:16]标题记录已从十六进制文件WRBL_SFL_580.HEX中删除。
[信息SPI Flash @ 18-08-19 11:03:16]从文件wrbl_sfl_580.hex读取30776字节。
[信息SPI Flash @ 18-08-19 11:03:18]找到了带ID 0x0BB11477的SWD-DP
[信息SPI Flash @ 18-08-19 11:03:18] FpUnit:4代码(BP)插槽和0个字幕插槽
[信息SPI Flash @ 18-08-19 11:03:18]找到了Cortex-M0 R0P0,Little Endian。
[信息SPI Flash @ 18-08-19 11:03:19]固件文件c:\ program files(x86)\ dialtoget \ smartsnippetsstudio \ toolbox \ common_resources \ jtag_progrogmer.bin已被选中以下载。
[信息SPI Flash @ 18-08-19 11:03:19]成功下载了固件文件到电路板。
[信息SPI Flash @ 18-08-19 11:03:19]成功配置了SPI闪存端口和引脚。
[信息SPI Flash @ 18-08-19 11:03:33]从内存开始读取32768个字节。
[信息SPI Flash @ 18-08-19 11:03:34]阅读已完成。阅读32768字节。

第二个日志

[信息SPI Flash @ 18-08-19 11:05:01]在地址0x00000时,使用31096字节的数据刻录内存。
[信息SPI Flash @ 18-08-19 11:05:01]内存刻录成功完成。
[信息SPI Flash @ 18-08-19 11:05:01]阅读内存以刷新内存内容....
[错误SPI Flash @ 18-08-19 11:05:01]地址81FE8的读取内存失败。
[错误SPI Flash @ 18-08-19 11:05:01]阅读内存失败。

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

如果您要连接的情况和读取SPI Flash,而在为空的情况下,最可能的原因是因为您的固件禁用调试器。那么,可以请检查您的固件是否禁用调试器?此外,当闪光灯不空时,可以按下重置按钮,然后尝试连接并读取SPI闪存?

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
嗨pm_dialog,

嗨pm_dialog,

如在日志中所示

[信息SPI Flash @ 18-08-12 21:04:25]固件文件C:\ Program Files(x86)\ dialog \ smartsnippetsstudio \ toolbox \ common_resources \ jtag_progrogmer.bin已被选中以下载。
[信息SPI Flash @ 18-08-12 21:04:25]成功下载了固件文件到电路板。
[信息SPI Flash @ 18-08-12 21:04:25]成功配置了SPI闪存端口和引脚。

jtag_programmer.bin固件已成功加载到设备。因此,此时,我的固件不再运行......(我也可以通过LED的行为来讲述)。
是否可以在加载JTAG_Programmer.bin(???)中的过程中没有完全重置设备,并且DA14580中的一些寄存器仍然被编程,因为它们是我的固件(例如禁用的调试器)?

此外,在我对Suxcesspectused Simed Specture的时候,读取闪光灯的读数是多么读取闪存?
毕竟,由于设备未重置,新固件不会从Flash立即加载。

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

在加载JTAG_Programmer.bin的过程中,该设备无法完全复位。您是否检查了固件是否禁用调试器?我试图重现你的问题,但我能够在没有空的情况下成功连接/读取SPI闪存。

谢谢,PM_DIALOG.

gme_johannes
离线
最后一次露面:1天3小时前
加入:2017-12-22 10:09
嗨pm_dialog,

嗨pm_dialog,

我不了解你的论点,因为你说自己:一旦jtag_programmer.bin成功加载(根据日志它是),那么设备完全重置 - 因此,设备中不会存在固件的剩余内容,无论我的固件如何,它都不重要。

然而让我回答你的问题:
固件不禁用调试器,但确实我已经为连接到关联端口的两个LED实现了此选项。
我确保不禁用调试器,也不使用关联的GPIO端口。我已经验证了它,因为我可以轻松地通过操作而无法操作。


#ifdef使用_jtag_as_gpio.
setbits16(sys_ctrl_reg,debugger_enable,0);
#别的
setbits16(sys_ctrl_reg,debugger_enable,1);
#万一


#ifdef使用_jtag_as_gpio.
#define ledg_port gpio_port_1
#define ledg_pin gpio_pin_5.
#define LEDB_PORT GPIO_PORT_1.
#define ledb_pin gpio_pin_4.
#万一

仍然我在编程时仍然无法读取闪光灯。

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨gme_johannes,

嗨gme_johannes,

请尝试通过JTAG进行编程SPI闪存,当程序完成时按下CIB的重置按钮,然后尝试连接并读取SPI闪光灯。你能不能让我知道吗?正如我可以从你的上一篇文章看,你的调试器不禁用,但实际上是一个自定义板,我无法复制你的问题。

谢谢,PM_DIALOG.