I’m not able to get dfu-util to work the way you describe. As far as I can tell, setting the start address makes no difference - the uploaded file is always a dump of the first 32k of memory only:
sudo ./dfu-util -s 0x08004000 -a0 -U lib0.bin
sudo ./dfu-util -s 0x0800792c -a0 -U lib1.bin
sudo ./dfu-util -s 0x0800c000 -a0 -U app.bin
and I end up with three identical bin files. Is there something I’ve missed?
Thanks,
Antonio