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

了解更多常见问题教程

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

你好,

我有一个使用DA14531模块的定制PCB。我可以用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对话框
离线
最后一次见到:1小时46分钟前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

谢谢你的问题。我假设Pro-Dk和定制板之间的SWD连接是正确的,因为您可以对系统RAM进行编程。

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

你能在Flash编程器中检测到JTAG ID吗?

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

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

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

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

谢谢,下午好

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

嗨,PM\U对话,

我重新创建了确切的跳线配置,你已经提供,我仍然面临这个问题。我能够在flash编程器中检测到JTAG ID,并且我所有编程flash的尝试都是在子板被移除的情况下进行的。我怀疑我现在能不能多弄几块板来试试这个。我的电路板目前没有其他电源,我相信跳线的质量很好。我确实试过另一双套头衫,只是为了确定一下,但这些套头衫也不管用。自定义固件jtag_程序员.bin确实有负载,所以我怀疑是跨接电缆的问题。

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

谢谢

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

嗨,茨戈特姆,

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

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

[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已选择下载。

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

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

然后执行擦除过程,但未成功。

所以,请尝试使用默认的jtag_程序员.bin.

谢谢,下午好

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

嗨,PM\U对话,

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

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

谢谢

PM\U对话框
离线
最后一次见到:1小时46分钟前
工作人员
已加入: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对话框
离线
最后一次见到:1小时46分钟前
工作人员
已加入:2018-02-08 11:03
嗨,茨戈特姆,

嗨,茨戈特姆,

是的,可能是连接到P0的传感器阻塞了编程,所以我建议将其连接到另一个GPIO。

谢谢,下午好