大家好,
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.3V,电压选择的跳线已设置为3 V.
Do you have any pointers what we could be doing wrong?
谢谢!
枪
设备:
Hi ghschwab,
我想它是一个681,所以附着什么样的闪光灯?我想它不像在SDK中默认使用的那个,因为所有这三个都是1.8V?由于您使用SDK不支持的四级SPI闪光灯,因此您需要根据SDK / Memory / Readme.md文件中的Readme文件实现该特定闪存的驱动程序。之后,您需要在UartBoot.Bin中添加新驱动程序(UartBoot.bin在automode中运行)重建CLI_Programmer(将重建UartBoot.bin并在CLI_Programmer中包含UartBoot.bin)。之后,您需要在SS工具箱中替换默认的UartBoot.bin文件(因此您必须拍摄uartboot.bin文件,该文件实现新的闪存驱动程序,并将其粘贴到\ diasemi \ smartsnippetsstudio \ toolbox \ common_resources)。关于你无法读取分区表的事实(我想通过Smart Scippets Toolbox尝试这样做)智能代码箱主题是什么样的错误?如果闪存是空的,则只要SDK启动时,FW就会生成分区表即可读取。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_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_AutoDetect的唯一文件,您应该以这种方式留下。UARTBOOT.BIN是将下载到681的SYSRAM中的文件,并将与CLI_PRIGHER通信以与闪存进行交互。因此,在SDK中附加新闪光灯(将新包含标题文件放在QSPI_AUTOMODE.C下的“QSPI_AUTOMODE.C”下的“QSPI_AUTOMODE.C”下的“QSPI_AUTOMODE.C”中的“下载”中。然后,您应该在Flash_config_table中添加和flash_custom_config)。通过使用上述配置(定义DG_CONFIGFLASH_DEVICE_TYPE等)UARTBOOT.BIN将能够仅使用定义的闪存进行交互。您提到的配置应仅应用于您的项目。重新构建CLI - 程序员应该构建UartBoot.bin,如果从UartBoot项目中删除生成的文件夹或更改项目配置时,应在构建CLI_Programmer时重新创建它们,并且您应该看到时间戳更改。在SS工具的情况下和与闪存的交互您需要的是一个UartBoot.bin文件,该文件将通过可用的闪存驱动程序进行,并正确与闪光灯进行交互(也是您使用的闪光灯与默认值相同)。您是否尝试过使用脚本以便与闪存进行交互并检查您是否能够下载FW? There is an issue with the SS toolbox and operates the flash in quad mode, if the flash is new and the QE bit is not set then SS will not be able to interact with the flash, try to operate the flash with the scripts (the QE bit then should then be set and you will be able to interact with Smart Snippets as well). The V33 is always active on the device so there is no need to for additional sw configuration.
Thanks MT_dialog
Thank you for your answer!
删除UARTBOOT.BIN文件后,在构建CLI_Programmer项目时会重新创建它。
将文件复制到Common_resources文件夹,并使用SS工具未覆盖该问题。我尝试过从智能赛段中的脚本(菜单栏上的链接),但也没有工作。如果脚本直接在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