无法在DA14531模块上编程SPI闪存

了解更多常见问题教程

8个职位/0个新职位
最后一篇文章
茨戈特姆
离线
最后一次见到:1周5天前
已加入:2020-05-04 12:39
无法在DA14531模块上编程SPI闪存

你好,

我有一个自定义PCB,它使用DA14531模块。我能够使用Keil在Sysram上运行我的程序。但是当我尝试使用SmartBond Flash程序员工具在模块上编写或擦除SPI闪光时,我会收到以下错误。

[INFO General@20-09-15 19:07:20]已选择BTLE设备。[INFO SPI Flash@20-09-15 19:07:20]固件文件D:\DiaSemi\SmartBondFlashProgrammer1.0.4\common\u resources\SupportPackages\DA1453x\toolbox\u resources/common/jtag_程序员.bin已选择下载。[INFO SPI Flash@20-09-15 19:07:21]已成功配置SPI端口和引脚。[INFO SPI Flash@20-09-15 19:07:21]已成功将固件文件下载到主板。[INFO SPI Flash@20-09-15 19:07:21]开始从0x00擦除到0x3FFFF(64扇区)[ERROR SPI Flash@20-09-15 19:07:21]擦除内存失败。[INFO General@20-09-15 19:07:22]已选择BTLE设备。[INFO SPI Flash@20-09-15 19:07:23]固件文件D:\DiaSemi\SmartBondFlashProgrammer1.0.4\common\u resources\SupportPackages\DA1453x\toolbox\u resources/common/jtag_程序员.bin已选择下载。[INFO SPI Flash@20-09-15 19:07:23]已成功配置SPI端口和引脚。[INFO SPI Flash@20-09-15 19:07:23]已成功将固件文件下载到主板。[INFO SPI Flash@20-09-15 19:07:23]正在添加可引导标头。[INFO SPI Flash@20-09-15 19:07:23]开始从0x00擦除到0x5FFF(6个扇区)[ERROR SPI Flash@20-09-15 19:07:24]JTAG地址0x7FC3C0C处的附加错误信息。(MSB first):FF F8。[ERROR SPI Flash@20-09-15 19:07:24]在偏移量0x00处写入16384字节失败[ERROR SPI Flash@20-09-15 19:07:24]无法刻录内存。

定制板有4个引脚用于编程,SWCLK,SWDIO,GND和3V,所有这些引脚都连接到Pro-DK的主板。我在2个定制PCB上看到过这个问题,所以它似乎不是由于模块故障造成的问题。是什么导致了这个问题?

谢谢

PM\U对话框
离线
最后一次见到:36分11秒前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

谢谢你的问题。我假设Pro-DK和您的自定义板之间的SWD连接是正确的,如您所能为系统RAM编程。

但是,您能检查一下您的跳线配置是否与所附图片相同吗?

您可以检测闪存程序员中的JTAG ID吗?

你提到你已经在2个定制板上看到了这个问题,那么你能为rest板的flash编程吗?你有多余的木板可以试试吗?

您也应该从Pro-DK中删除子板模块。

如果您的自定义板已经有电源,例如电池,则不需要3V3(红线)。

此外,建议使用高质量的跨接导线。

谢谢,下午好

附件:
茨戈特姆
离线
最后一次见到:1周5天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

我重新创建了您提供的确切跳线配置,我还在面临这个问题。我能够检测Flash程序员中的JTAG ID,我在编程闪存时的所有尝试都是用子板删除的。我怀疑我能够让我的双手放弃几个董事会,现在试试这个。我的董事会目前没有另一种电源,我相信跳线质量很好。我确实尝试了另一对跳线,以确定,它也不适用于那些。自定义固件jtag_programmer.bin确实加载了,所以我怀疑它是跳线电缆的问题。

我想澄清的一件事是,使用P0\u0作为正常的GPIO是否可以?P0\u 0连接到我的PCB上的一个传感器,但是在我的程序开始运行之前不应该设置或重置线路。我已经证实,我能够编程的子板与相同的传感器连接相同的引脚闪存。

谢谢

PM\U对话框
离线
最后一次见到:36分11秒前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

你提到你正在使用习俗固件jtag_程序员.bin. 为此,我强烈建议使用默认的jtag_程序员.bin. –因为它是在闪存编程工具。

如果您检查日志文件,您将看到闪烁过程已正确完成:

[信息SPI Flash @ 20-09-15 19:07:23]固件文件D:\ DiaSemi \ SmartBondFlashProgrogmer1.0.4 \ common_resources \ supportpackages \ da1453x \ toolbox_resources / common / jtag_programmer.bin已被选中以下载。

[信息SPI Flash@20-09-15 19:07:23]已成功配置SPI端口和引脚。

[信息SPI Flash@20-09-15 19:07:23]已成功将固件文件下载到主板。

然后擦除过程未成功进行。

所以,请尝试使用默认的jtag_programmer.bin。

谢谢,下午好

茨戈特姆
离线
最后一次见到:1周5天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

我想你误解了我的意思,否则我应该说得更清楚一点。我使用的是默认的jtag_程序员.bin在闪光灯工具中提供。我甚至不知道jtag\u程序员固件是如何工作的,所以我最后要做的就是修改它。

另外,再指着它,你能看一下我上一篇关于P0的文章吗?

谢谢

PM\U对话框
离线
最后一次见到:36分11秒前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

在DA14531MOD中,P0\ U 0也连接到内部闪光灯-它是MOSI信号。那可能会引起麻烦。

对于编程,你也需要MOSI。如果外部传感器阻止信号,则无法编程。

是否可以将传感器放入另一个GPIO中进行测试?

此外,您应该确保外部传感器不会在引导时间干扰MOSI。

谢谢,下午好

茨戈特姆
离线
最后一次见到:1周5天前
已加入:2020-05-04 12:39
嗨,PM\U对话,

嗨,PM\U对话,

我从PCB上卸下DA14531模块,并能够使用连接到焊盘的跳线对模块的闪存进行编程。所以我猜isue是因为P0\U 0连接到传感器。

谢谢

PM\U对话框
离线
最后一次见到:36分11秒前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

是的,可能连接到P0_0的传感器正在阻止编程,因此我建议将其连接到另一个GPIO。

谢谢,下午好