嗨,支持!
我使用DA14695芯片+ SDK_10.0.8.105。
前一段时间,我试图添加不支持的内存芯片到sdk,现在我有几个问题要问你。
我写了正确的头我的闪存芯片(W25Q64FWXGIG),然后成功构建uartboot固件。我用SmartSnippets工具箱做了一些测试,一切看起来都很好。
但进一步,当我试图上传固件到目标处理器(闪存芯片)时,我遇到了问题。之前,我使用了DA1468x处理器,我认为问题在于缺少cli_programmer.ini文件。我把它复制到sdk/二进制目录,然后再试一次-固件成功上传。我以为那个问题已经解决了,但它仍然存在。现在我不能上传固件到flash没有之前的完整擦除闪存芯片(使用erase_qspi_jtag脚本从工作室)。如果我先擦除芯片,然后试图上传固件-大多数情况下,进程结束成功。对于DA14695, .ini文件中是否有特定的设置?为什么当我试图使用flash从工具箱,它使用正确的uartboot.bin,但当从Studio不是?我的cli_programmer.ini文件在attach中(只需将文件扩展名更改为.ini)。请帮助我。
提前谢谢,
Stepanov伊万
设备:
你好伊万,
谢谢你的问题。让我查一下,然后再回复你。
你能重新附加pdf文件吗,因为我不能打开它。
谢谢,PM_Dialog
你好伊万,
另外,请提供以下澄清。
如果我从你提到的正确理解,问题存在于DA1469x中,只有当试图通过SmartSnippets Studio (SSS)编程QSPI flash (W25Q64FWXGIG)时。那是正确的吗?SSS的版本是什么?
你提到:
“现在我不能上传固件到flash没有之前的完整擦除闪存芯片(使用erase_qspi_jtag脚本从工作室)。如果我先擦除芯片,然后尝试上传固件——大多数情况下,进程会成功结束。”
因此,如果已经执行了erase_qspi_jtag脚本,那么您可以执行program_qspi_jtag脚本,设备将正确引导。我的理解正确吗?
说明如果执行program_qspi_jtag而不执行erase_qspi_jtag脚本,会显示什么信息?
谢谢,PM_Dialog
你好,
1.“如果我从你提到的理解正确,问题存在于DA1469x中,并且只有在试图通过SmartSnippets Studio (SSS)编程QSPI flash (W25Q64FWXGIG)时才存在。那是正确的吗?SSS的版本是什么?”
-是的,你是对的,问题只存在于DA14695 + W25Q64FWXGIG + SSS。SSS版本是2.0.12.1622 (win7);
2.因此,如果已经执行了erase_qspi_jtag脚本,那么您可以执行program_qspi_jtag脚本并且设备正确引导。我的理解正确吗?”
-是的,它是。
3.如果执行program_qspi_jtag而不执行erase_qspi_jtag脚本,会显示什么信息?
-这是从控制台的一些日志:
........................................................................................................................
..
..程序QSPI
..
........................................................................................................................
.
........................................................................................................................
..
..编程的形象
..
........................................................................................................................
cli_programmer 1.26
版权所有(c) Dialog Semicondu雷竞技电竞平台ctor
从E:\Projects\Active_Projects\Moby.DA1469x\SDK\二进制文件\cli_program .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_program .exe"已经退出代码:1
.
.c:\ \用户\ ivan\ appdata \本地\ temp\ tmpu48vidhc——检查- boozer -load——无-kill gdbserver write_qspi 8192 c:\用户\ ivan\ appdata \本地\ temp\ tmpg67lr5ul
........................................................................................................................
.
.
........................................................................................................................
..
..完成了
..
........................................................................................................................
4.下面是我的cli_program .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 =
-------------------------------------------------------------------------
谢谢提前
你好伊万,
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
谢谢你的回复。
我检查了我的闪光灯描述,一切正常。所有的ocode都是正确的,等于数据表中的值。问题仍然存在。
一个重要的时刻,作为基础,我使用现有的winbond描述文件从sdk (w25q32fw),并做了一些修正(至少大小)。其他操作码是相同的。
还有一个,有时我可以上传固件两三次,但我认为这是因为固件文件在所有情况下都是一样的。
问候,伊万。
你好伊万,
当使用CLI程序员时是否存在同样的问题?你是否试过执行芯片擦除,扇区擦除并通过命令行对其进行编程?
谢谢,PM_Dialog
嗨PM_Dialog,
抱歉,我没听清。我会尽快做这些测试的。
谢谢你的帮助,伊凡。
你好伊万,
没问题,请把结果告诉我。等待反馈!
谢谢,PM_Dialog
你好伊万,
请问有什么进展吗?
谢谢,PM_Dialog