嗨,支持!
我使用DA14695芯片+ SDK_10.0.8.105。
前一段时间我试图将不受支持的内存芯片添加到SDK,现在我对你有夫妻问题。
我为我的Flash芯片(W25Q64FWXGIG)写了正确的标题,然后成功构建了UartBoot固件。我使用SmartSnippets Toolbox进行了一些测试,所有似乎都很好。
但进一步,当我试图上传固件到目标处理器(闪存芯片)时,我遇到了问题。之前,我使用了DA1468x处理器,我认为问题在于缺少cli_programmer.ini文件。我把它复制到sdk/二进制目录,然后再试一次-固件成功上传。我以为那个问题已经解决了,但它仍然存在。现在我不能上传固件到flash没有之前的完整擦除闪存芯片(使用erase_qspi_jtag脚本从工作室)。如果我先擦除芯片,然后试图上传固件-大多数情况下,进程结束成功。对于DA14695, .ini文件中是否有特定的设置?为什么当我试图使用flash从工具箱,它使用正确的uartboot.bin,但当从Studio不是?我的cli_programmer.ini文件在attach中(只需将文件扩展名更改为.ini)。请帮助我。
提前致谢,
斯蒂芬夫伊万
设备:
嗨Ivan,
谢谢你的问题。让我检查一下,我会回复你。
你能重新附上PDF文件,因为我无法打开它吗?
谢谢,PM_Dialog
嗨Ivan,
此外,请提供以下澄清。
如果我从你提到的正确理解,问题存在于DA1469x中,只有当试图通过SmartSnippets Studio (SSS)编程QSPI flash (W25Q64FWXGIG)时。那是正确的吗?SSS的版本是什么?
你提到了:
“现在我不能上传固件到flash没有之前的完整擦除闪存芯片(使用erase_qspi_jtag脚本从工作室)。如果我先擦除芯片,然后尝试上传固件——大多数情况下,进程会成功结束。”
因此,如果已执行erase_qspi_jtag脚本,则可以正确执行Program_Qspi_jtag脚本和设备靴子。我的理解是否正确?
如果在不执行erase_qspi_jtag脚本的情况下执行program_qspi_jtag,则出现的消息是什么?
谢谢,PM_Dialog
你好,
1.“如果我从所提到的那里理解正确,问题存在于DA1469X中,只有在尝试通过SmartSnippets Studio(SSS)编写QSPI闪存(W25Q64FWXGIG)时。这是正确的吗?SSS的版本是什么?”
- 是的,您是对的,问题仅在da14695 + w25q64fwxgig + sss上存在。版本的SSS是2.0.12.1622(Win7);
2.因此,如果已经执行了erase_qspi_jtag脚本,那么您可以执行program_qspi_jtag脚本并且设备正确引导。我的理解正确吗?”
-是的,它是。
3.“如果在不执行erase_qspi_jtag脚本的情况下执行program_qspi_jtag,则出现的消息是什么?”
- 这是来自控制台的一些日志:
....................................................................................................................
..
..程序QSPI.
..
....................................................................................................................
.
....................................................................................................................
..
..编程图像
..
....................................................................................................................
cli_programmer 1.26
版权所有(c) Dialog Semicondu雷竞技电竞平台ctor
从e:\ projects \ active_projects \ moby.da1469x \ sdk \ binaries \ cli_progromer.ini文件加载的。
上传引导加载程序/应用程序可执行文件…
可执行上传。
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写地址:0x00002000偏移量:0x00000000块大小:0x00002000
验证写入qspi地址0x2000失败。重试…
写入qspi失败。中止。
写入QSPI失败:未知错误(-300)
.
....................................................................................................................
.错误:
.cli_programmer.exe“退出代码:1
.
.致电:“e:\ projects \ active_projects \ moby.da1469x \ sdk \ binaries \ cli_programmer.exe”--cfg c:\ user \ ivan \ appdata \ local \ temp \ tmpu48vidhc --check-booter-load --no-kill gdbserver write_qspi 8192 c:\ user \ ivan \ appdata \ local \ temp \ tmpg67lr5ul
....................................................................................................................
.
.
....................................................................................................................
..
.. 完成的
..
....................................................................................................................
这里是我的cli_progrogmer.ini文件的内容:
-----------------------------------------------------------------------------------------
;这是一个cli_programmer配置文件。
(cli)
initial_baudrate = 57600
超时= 5000.
项目bootloader_fname = E: \ \ Active_Projects \ \ uartboot.bin Moby.DA1469x \ SDK \二进制文件
(uartboot)
波特率=
tx_port =
tx_pin =.
rx_port =.
rx_pin =.
(gdb服务器)
端口= 2331.
host_name = localhost
gdb_server_path = "C: Program Files (x86)\SEGGER\JLink_V644f\JLinkGDBServerCL.exe" -if SWD -device Cortex-M0 -singlerun -silent -speed auto -select -port 2331 -swoport 2332 -telnetport 2333 -log jlink.log .exe -if SWD -device Cortex-M0 -singlerun -silent -speed auto -select -port 2331 -swoport 2332 -telnetport 2333 -log jlink.log .log
no_kill_mode = 0
(bin2image)
chip_rev =
[目标重置]
target_reset_cmd =
-------------------------------------------------------------------------
提前致谢
嗨Ivan,
program_qspi_jtag脚本将执行以下操作:首先,它将“Erase扇区”,然后是“Program扇区”,最后将执行整个flash验证。
由于您可以擦除(erase_qspi_jtag) QSPI Flash,然后可以正确地对它进行编程(program_qspi_jtag),我们怀疑最可能的原因可能是擦除扇区步骤。当执行erase_qspi_jtag脚本时,擦除芯片将发生,它将擦除整个闪存,因此在此之后,它希望您可以对它进行编程。
要这样做,你可以检查你的闪存驱动器中的“擦除扇区”命令吗?是根据数据表吗?
可能是这样的.erase_opcode = CMD_SECTOR_ERASEQSPI flash配置结构。
此外,你可以做以下测试:
谢谢,PM_Dialog
嗨,pm_dialog.
感谢您的回复。
我检查了我的闪光描述,一切似乎都很好。所有Ocodes都是正确的,并等于数据表的值。问题仍然存在。
一个重要的时刻,作为基础,我使用现有的winbond描述文件从sdk (w25q32fw),并做了一些修正(至少大小)。其他操作码是相同的。
还有一个,有时我可以上传两三次固件,但我认为这是因为固件文件在所有情况下都是一样的。
问候,伊万。
嗨Ivan,
当使用CLI程序员时是否存在同样的问题?你是否试过执行芯片擦除,扇区擦除并通过命令行对其进行编程?
谢谢,PM_Dialog
嗨pm_dialog,
抱歉,我没听清。我会尽快做这些测试的。
谢谢你的帮助,伊万。
嗨Ivan,
没问题 - 请通过结果回复我。等待反馈!
谢谢,PM_Dialog
嗨Ivan,
如果有的进展,请您告诉我们吗?
谢谢,PM_Dialog