9 posts / 0 new
Last post
luodonghuan
Offline
Last seen:2 years 9 months ago
加入:2018-07-27 08:51
请教一下DA14583内部FLASH烧写问题

1.“SmartSnippets->SPI Flash Programmer工具->连接、擦除、烧写” 请问正常流程是这样烧写的吗? 这样操作为什么我只能操作前32KB的内容?

2.通过上述方式烧写之后,运行不正常;但是通过Keil直接debug调试代码是全功能正常运行的。
(三块DA14583,只有一块烧录后正常,两块均运行一会死掉了)

请问是哪里出问题了吗?烧写方式不对?最小系统问题?MCU芯片问题?

Device:
CYibin
Offline
Last seen:7 months 4 days ago
工作人员
加入:2017-12-14 02:48
你好,

你好,

如果3块板子运行的代码一样,而只有一个块能正常运行的话,请检查下硬件板有什么异常。可检查以下几个因素,焊接,供电稳定性,16M晶振频偏等

luodonghuan
Offline
Last seen:2 years 9 months ago
加入:2018-07-27 08:51
您好,硬件上都一样的,检测过供电、晶振等波形都是正常的。

您好,硬件上都一样的,检测过供电、晶振等波形都是正常的。
您能否指导一下DA14583内部FLASH是如何烧写的,对应指导文件能否提供

CYibin
Offline
Last seen:7 months 4 days ago
工作人员
加入:2017-12-14 02:48
你好,

你好,

你可以把 583 当成是 580 + spi flash;操作方式和 580 + spi flash 的操作方式是一样的。

需要注意的一点是,583 内部的 flash 不是挂在系统的总线上,而是通过 spi 口,在内部直接接在了 IO 口上(这些接 flash 的 IO 口仍然可以当成正常 IO 口使用)。所以,需要注意你硬件上有没有用到这些口(P20 23 24 29)

附上 583 datasheet:https://support.dialog-semiconductor.com/system/files/resources/DA14583_...

GGQ_in
Offline
Last seen:5 months 3 weeks ago
加入:2019-07-23 04:41
你好,

你好,

请问 问题解决了吗?我也遇到了烧写不成功问题,引脚也改成了583的还是不行,请指教一下

CYibin
Offline
Last seen:7 months 4 days ago
工作人员
加入:2017-12-14 02:48
请问你的具体是什么情况?

请问你的具体是什么情况?

GGQ_in
Offline
Last seen:5 months 3 weeks ago
加入:2019-07-23 04:41

你好,

我想烧写583 OTA的bin文件到内部FLASH,我更新了 C:\Users\xx\SmartSnippets\resources\jtag_programmer.bin 文件里spi引脚后,SmartSnippets SPI FLASH无法正常读取烧写和擦除。spi 引脚定义如下,是还需要更改其他读写函数吗?

#define SPI_CS_PORT GPIO_PORT_2
#define SPI_CS_PIN GPIO_PIN_3
#define SPI_CLK_PORT GPIO_PORT_2
#define SPI_CLK_PIN GPIO_PIN_0
#define SPI_DO_PORT GPIO_PORT_2
#define SPI_DO_PIN GPIO_PIN_9
#define SPI_DI_PORT GPIO_PORT_2
#define SPI_DI_PIN GPIO_PIN_4

void set_pad_spi(void)
{
GPIO_ConfigurePin( (GPIO_PORT) spi_sel_pins.spi_cs_port, (GPIO_PIN) spi_sel_pins.spi_cs_pin, OUTPUT, PID_SPI_EN, true );
GPIO_ConfigurePin( (GPIO_PORT) spi_sel_pins.spi_clk_port, (GPIO_PIN) spi_sel_pins.spi_clk_pin, OUTPUT, PID_SPI_CLK, false );
GPIO_ConfigurePin( (GPIO_PORT) spi_sel_pins.spi_do_port, (GPIO_PIN) spi_sel_pins.spi_do_pin, OUTPUT, PID_SPI_DO, false );
GPIO_ConfigurePin( (GPIO_PORT) spi_sel_pins.spi_di_port, (GPIO_PIN) spi_sel_pins.spi_di_pin, INPUT, PID_SPI_DI, false );
}

还有,每当583上电后蜂鸣器就一直响,我把spi片选拉低后还是会有很小的声音,请问这个是怎么解决?

谢谢!

GGQ_in
Offline
Last seen:5 months 3 weeks ago
加入:2019-07-23 04:41
你好 CYibin,

你好 CYibin,

我对上一个贴做一个补充,现在我测试583用外部flash来存放OTAfile 把二次引导文件和工程文件以及resources\jtag_programmer.bin文件中的引脚改回580的引脚,当烧写完成硬件复位后蜂鸣器响而且没有正常广播。

当我debug再次下载二次引导文件到模块时,模块运行了烧写的程序,模块进行广播,请问这是为什么?一旦硬件复位就蜂鸣器响也没有运行到二次引导文件?

谢谢!

Attachment:
CYibin
Offline
Last seen:7 months 4 days ago
工作人员
加入:2017-12-14 02:48
你好,

你好,

请问你修改 jtag_progrmamer 的目的是什么?如果只是改引脚,则使用 toolbox 的 board setup 工具即可修改