Re: Bootloader v4 (ds30 Loader)
Reply #172 –
Great work.
I like the auto identification of the version. Will it work for v2? Maybe check if oxffff and say 'probably v2'.
With the v2 bootloader the user reset vector is located at 0xc04, it was declared in the v3 firmware as:
unsigned int userReset __attribute__ ((space(prog),section(".init"))) = 0xC04 ;
unsigned char timeout __attribute__ ((space(prog),section(".init"))) = 0x00 ;
This isn't in the universal updater, but isn't in the v2 to v4 updater either. I know that P24QP.exe relocated the 0x0000 jump instruction to the user location, and I think that's hard coded as 0xc04 in the v2 bootloader and P24QP.ini config file. I think this might be a minor bug in the v2 to v4 bootloader, but I'm unsure of the impact.