The STM32F205 default ROM start address is 0x800000 and is set in the target driver Programming Algorithm for the flash, but when using default I get No Algorithm found for: 00000000H - 0000FFFFH. When I change the start address to 0x0 it then flashes without error so is this correct?
Also would like to confirm that the keil uvision 5.16 MDK-Lite only will use hex files for flashing? And will it use bin2hex file output with and without offsets?
The Flash memory can be remapped to address 0. This is a alias address and the reason why Flash programming works for you.
However the Flash memory is always present at 0x08000000.
For more information refer to 2.4 Boot configuration in STM32F2 Reference Manual.
MDK-Lite supports code generation, debugging, and flash programming for image sizes up to 32KB. MDK-Lite supports Flash programming using HEX files without any size restriction.