FDL2 does more than just load code; it initializes the eMMC/UFS storage controller. If the physical storage is dead, dying, or has bad blocks:

"FDL2 failed" error is a common roadblock encountered when flashing firmware onto devices powered by Unisoc (formerly Spreadtrum) chipsets using tools like Research Download Upgrade Download SPD Flash Tool Understanding FDL2 In the Unisoc flashing process, FDL (First Download Loader) fdl2 failed

dfu-util -a fdl2 -D Fdl2Image.bin