Did you set size 0x20000 when reading the old one?
If you left it to 0x400, definitely didn't read the entire flash.
The final bin file should be 128KB, by the looks of it, it's 1KB instead!
All those 0s belong to nvic isr table.
Lots are unimplemented in the Cortex-M3 core, others might not be used by the program, so not really suspicious.
Thank you so much DavidAlfa. I responded to you in my other thread in the repair section. But I'm pretty sure I understand what you mean by read size! I will give it another try.
I agree with David, if you left it at 0x400 for the read side then you got only 1k of 64k so the jump instruction 0x8000edd wont happen , i normally put 0xfffff in the size box when reading or use stflash read all function.
*edit* if your board has a connector J40 next too a couple of caps then check to see if pins PA13/PA14 goto that point as that looks like a programming header to me so you might just have to reflow the "old chip" to your header board and leave the new chip in place and program.
Thanks! This is what I will plan to do today. I will check that connector on the original PCB. This STM32F102 micro's bootloader function only suggests connection via UART in the ST 2606 application note. So I only know how to connect using the TXD and RXD pins (pin 30, pin 31). When you say programming headers, would that mean interfacing with the micro a different way? Excuse my ignorance, again this is brand new stuff for me.
I read the ST application note 2606 to get info on the bootloader function for this chip. Here's how I set it up:
[...]
Look at section 5.1.6 "Power supply scheme".
The capacitors shown there are required for proper operation, and they need to be within a few mm of the corresponding pin pair. Distance is critical here. PCB traces are not a zero ohm connection but act as capacitors, inductors and resistors. So using a generic adapter board is not the brightest idea.
Wow I didn't even consider that. I hope I didn't do any damage to the new and old chips by attaching it to a generic adapter board like this. Do you have recommendations for boards to do this with? I guess I found that I can connect to the micro in-circuit (i.e. the original UPS PCB) anyway. I only removed it because I was having trouble connecting to it at first and thought that was the problem

Anyways a stm32 pin going bad would be very rare.
There're hundreds of parts there: Resistors, transistors, logic ICs...
Maybe it's not a bad relay, but a bad part in the signal path that checks the actuation of xyz part.
Also the board listed few posts earlier is just $20: https://www.ebay.com/itm/364182438674
Thank you again DavidAlfa. But I have definitely narrowed down the issue to the micro. I have traced the signal paths to relays in question. Both PB14 and PB13 connect to their own internally biased NPN transistor and a zener diode before the buck and boost relays, respectively. These components are fine. There's nothing else in the chain that could be causing this. Also, I removed the original micro and as I said, VDD and PB14 are shorted together - that definitely should not be. Thank you for providing a link to a new board. But my interest in getting this to work is to learn new skills (like this for example!) and repair it myself. Not just replace the entire board. What is the fun in that!?
