I've made some modification to the FPGA image of Pluto, and using JTAG to update the FPGA image works perfectly. But when I build the firmware and load it (either mount or DFU mode) the firmware doesn't get updated.
I've integrated my code in HDL submodule of the firmware repo at https://github.com/analogdevicesinc/plutosdr-fw. I do make at the top directory and it builds the new FPGA bit file along the way. I use this bit file for JTAG programming and it works perfectly. I don't get any errors, you can find the log attached (It has both stdout and stderr outputs). But when I use mount or DFU mode to flash the device, the flashing goes smoothly as expected (blinking and all), but the firmware is not updated and I get the default image behavior. I even tried only sending 0xDEADBEEF out, but again it sends me normal samples from the default image. The interesting thing is when I wanted to update the default firmware from the website, using normal copy in Windows worked, but for the new image trying Windows or Linux did not change the problem either.
I would appreciate any suggestions or pointers to how I can debug this issue.
P.S.: after updating the image with JTAG I have to unbind and rebind the AXI dmas on the integrated ARM to receive the data, but that's not the case when updating the firmware and it brings up the default image.