How to design a PCB that allows firmware updates.

Option 1 maybe?
http://baldwisdom.com/bootdrive/