//Update
Revo has two flash chips:
- STM32F405 is the main micro-controller 1Mb flash
- SPI flash for storing logs and configuration 2Mb flash
Revo has two bootloaders
[ STM32 Bootloader ] [ LP or TL bootloadr] [ LP or TL Firmware]
STM32 Bootloader you have access to when you short SBL pads and that can brick board if you flash wrong firmware.
Second bootloader is safe and can only boot firmware that matches it (LP boots LP, TL boots TL).
You have also different images of firmware
EF = Entire flash (LP bootloader + LP firmware)
BU = Bootloader updater (LP program that goes in place of firmware and flashes LP bootloader if it boots).
BF = Bootloader firmware (actuall LP bootloader alone)
FW = Firmware (actuall firmware alone)
1) Make sure your STM32 flash has correct images loaded up by using SBL method to flash ef*.bin image.
This makes sure both firmware and bootloader are right and compatible (less complicated way).
I am saying this because I don't know if TL bootloader will actually boot LP bu image. So just easiest is to use EF and done.
2) Revo has watchdog that reboots board if something fails or times-out on initialization. This can be flash or sensor.
Sensor you checked that all work and return values (mag, baro, accel, gyro). So what's left is SPI flash.
SPI flash may have different format for LP and TL. If TL have written to it, or when you were connecting battery you could have touched flash and cause electrostatic discharge (guessing) which could corrupt flash (potentially bad block).
In that case you need to flash ressurection image
https://forum.librepilot.org/index.php?topic=208.0 to fix the potential problem.
There is a reason why Revo cycles, it cant initialize due to something failing. I hope providing this level of detail is helpful for you in figuring out what's wrong.