大家好,
we have just finished the first prototypes of our device and are ready to switch from the daughterboard to our own hardware. Unfortunateley, we are running into issues when it comes to programming the external flash. Using the SmartSnippets Toolbox, we can connect to the device via QSPI, but we can't read data from the flash or write to it.
We can't read the partition table.
The hardware is the same as in the starter kit, except that the flash is for 3V supply instead of 1.8V.
QSPI VDD IO提供3.3 v,和障碍物per for the voltage selection has been set for 3 V.
Do you have any pointers what we could be doing wrong?
谢谢!
冈瑟
设备:
Hi ghschwab,
我想这是681,那是什么样的闪光灯呢?我想它不像SDK中默认使用的那个,因为所有三个AM都是1.8V?由于您使用的是SDK不支持的四SPI flash,因此需要根据SDK/memory中的readme文件实现特定flash的驱动程序/自述文件.md文件。之后,您需要在uartboot.bin文件(the)uartboot.bin文件在自动模式下运行)重新生成cli\U编程器(它将重新生成uartboot.bin文件包括uartboot.bin文件在cli(U编程器)中。之后,您将需要替换默认值uartboot.bin文件文件在SS工具箱中(因此您必须uartboot.bin文件实现新闪存驱动程序并将其粘贴到\DiaSemi\SmartSnippetsStudio\Toolbox\common\u resources)的文件。关于您不能读取分区表的事实(我假设您正试图通过Smart Snippets工具箱来读取分区表),Smart Snippets会引发什么样的错误?如果flash是空的,那么就没有可读取的分区,因为fw会在SDK启动时生成分区表。V33始终开启,因此无需特殊处理即可启用。
Thanks MT_dialog
感谢您的回复!It is a 681, and the flash we are using is a W25Q80DV, so very similar to the supported type, except that flash device type is different (0x40 instead of 0x60). I have added a new, modified header file in the memory/include section of my project. Do I also need to do this in the uartboot project? I have tried doing this and changed the dg_configFLASH_DEVICE_TYPE setting and the dg_configFLASH_HEADER_FILE to the new flash, AUTO_DETECT is 0. I rebuilt the uartboot project, the libprogrammer project, and then the cli_programmer project. After that, I copied the uartboot.bin file from the release folder of the uartboot project to the common_resources folder of the SS Toolbox.
It has not caused any changes, it acts like I can read from the QSPI memory, but everything reads 0. When tryint to program, I get the following error message:
[INFO QSPI Flash @18-02-28 09:29:47] Verify writing to qspi address 0x0 failed. Retrying ...
我也尝试过将AUTO\u DETECT设置为1,不幸的是没有区别。
I have noticed that the timestamp on the uartboot.bin file is from the time the uartboot project was built, it does not change after building cli_programmer.
Thanks for your help!
Hi ghschwab,
是的,您必须在uartboot.bin文件文件。这个uartboot.bin文件文件是唯一支持自动模式dgconfigFLASH\u AUTODETECT的文件,您应该保持这种方式。这个uartboot.bin文件是将下载到681系统RAM中的文件,它将与cli\ U程序员通信,以便与闪存交互。因此,在SDK中附加了新的flash之后(将新的include头文件放在qspi_automode.c中的其他flash头文件下,条件是#if flash_AUTODETECT==1,然后应该在flash_config_表中添加&flash_custom_config)。通过使用上述配置(定义dg\u configFLASH\u DEVICE\u TYPE等)uartboot.bin文件将只能与定义的闪存进行交互。您提到的配置应该只应用于您的项目。重新构建cli程序员应该构建uartboot.bin文件,如果从uartboot项目中删除生成的文件夹或更改项目配置,则应在构建cli\u程序员时重新创建这些文件夹,并且应看到时间戳发生更改。在SS工具和flash交互的情况下,你需要的是一个uartboot.bin文件文件,该项目将通过可用的闪存驱动程序,并与您的闪存正确地进行交互(同样的闪存,您正在使用的看起来与默认值完全相同)。你是否试过使用这些脚本来与flash交互,并检查你是否能够下载fw?SS工具箱有问题,以四元模式操作flash,如果flash是新的,并且没有设置QE位,则SS将无法与flash交互,请尝试使用脚本操作flash(然后应该设置QE位,您也可以与智能代码段交互)。V33在设备上始终处于活动状态,因此无需进行额外的软件配置。
Thanks MT_dialog
Thank you for your answer!
删除后uartboot.bin文件文件,则在生成cli\u程序员项目时将重新创建该文件。
但是,将文件复制到common\u resources文件夹并使用SS工具并没有解决此问题。我尝试过使用SmartSnippets Studio中的脚本(菜单栏上的链接),但也没有成功。脚本应该直接在Windows下的命令行中执行吗?我也试过,但没有成功。这需要什么程序?
谢谢您,
冈瑟
Hi ghscwab,
Yes, if you have a working board and valid flash drivers for your flash, then for burning the flash you can run either directly run the scripts from the menu bar as the documentation indicates, or you can run the cli_programmer using the CLI interface (which is what the scripts automate the cli procedure and invoke the cli programmer). You will also find documentation on how to burn the flash i the UM-B-047 Getting Started.pdf and also you will be able to find a CLI guide in the UM-B-044 Software Platform Reference.pdf on Appendix B.
Thanks MT_dialog