Problem Background
When using the SF32LB52 + NOR FLASH MX25L25635F solution, it’s impossible to download the program (the Huangshanpai development board works normally under the same environment).
Typical Error Message
PS E:\Workspace\demo\lckfb-hspi-ulp_example\lvgl\lvgl_v9_demos\project\build_sf32lb52-lchspi-ulp_hcpu> .\uart_download.bat
Uart Download
please input the serial port num:62
com62
[0x00] Connected success! [0x01] Download stub success! [0x02] Need to re-download [0x03] Downloaded successfully for 0x12010000..0x1201E173 ================================================================================= 48.70 KiB/s 100.000%Error: Failed to execute write_flash command
Caused by:
protocol error: verify failed for 0x12010000..0x1201E173
Current Attempts
I have read the Flash Configuration Guide, and attempted to add MX25L25635F driver support into ram_patch_52X.bin. However, the issue persists.
The current driver’s flash_table already contains MX25L25645G, which shares the same ID as the MX25L25635F currently in use. The main difference between these two chips is DTR (Double Transfer Rate) support. According to the SDK driver implementation, MX25L25645G has DTR enabled.
- MX25L25645G: Supports DTR
- MX25L25635F: Does not support DTR
It is suspected that the current BurnDriverEx tool can only append new drivers on top of existing ones, and the original built-in drivers have higher priority. When both the appended driver and the original driver share the same flash ID, the system actually uses the original driver (MX25L25645G). Since the original MX25L25645G driver enables DTR mode, communication fails when used with MX25L25635F (which does not support DTR), resulting in incorrect data reading/writing.
Could you please help analyze whether this hypothesis is correct, and provide possible solutions or troubleshooting directions?