Posted on May 17, 2011 at 14:23Look at Application Note AN2557 about In-Application Programming (IAP) via the USART...
A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.