@Atlan,
I answer your questions here, as others might find it useful too.
How does FEL mode actually work?
FEL is something of Allwinner technology and build in to (some of the) the MCU's they make. When there is no boot program found on either the SD card or FLASH memory it starts this FEL code. This opens an USB connection with a host and allows for all kind of actions. See
https://linux-sunxi.org/Sunxi-tools#sunxi-feldoes it have any advantage over uploading to an sd card?
It certainly does, because with the scope it becomes possible to load the compiled firmware directly to the memory and execute it. This way there is no wear of the SD card, and it allows for a bit faster testing of new development.
The default FEL mode does not allow loading to the DRAM because it does not enable it, but with the starting FEL via the bootloader the DRAM is enabled and therefore allows loading to it.
does it allow reset via PC?
No, you will have to power cycle the scope to reenter the FEL mode. You could add a menu option to the main menu though, that does this for you and with that avoid power cycling.
is a specially compiled firmware required?
No, the binary firmware as it rolls out of the .elf file can be uploaded and executed. For this you need the sunxi-fel tool found
here. This one is build by me from the sources I found on the net and is intended for Linux only. Don't forget to set it executable.
I have used this during the development of both the 1013D and the 1014D firmwares. Very easy. Check the instructions in
this file.
I load the binary to a non existing address 32 bytes (size of the BROM header) before the start of the memory to have it in the right location for the vectors. The original firmware binary does not need this.