An Arduino board can be used as ISP programmer to program an Atmega chip.
There is a good tutorial here.
This post is just a quick note of the avrdude command to program an Atmega328p (MinimOSD).
For reading flash on COM4:
avrdude -P com4 -c avrisp -p m328p -b 19200 -U flash:r:READ.BIN
For writing flash on COM4:
avrdude -P com4 -c avrisp -p m328p -b 19200 -U flash:w:WRITE.HEX
Add -v for verbose output.