wxhemiao:
lose the ability to talk to the serial monitor or PC application programs using serial COM port
I believe it is possible to stay connected in serial, as composite device can be emulated via atmega USB series (like Leonardo that acts as a COM and Keyboard concurrently)
The reason I suggest using ISP + debugwire(if possible) emulation is because of its great flexibility and speed (committing pages through ISP is much faster than Serial)
Not sure if ISP via the IDE/AVRDUDE is any faster. A group of us have been playing with 1284P boards running the bootloader at 1M baudrate and many are not seeing much speed difference from standard baudrate as AVRDUDE/STK500 protocol/flash writing speed might be the speed limiting factor and that might hold true for ISP programming.
Anyway don't let me rain on your idea, get it a go, check your results, and then share your findings and code. That is the 'arduino way' ![]()