Paul wrote
If your product sells for reasonable money (say $200 or more) the ability to update the firmware in the field is a vital safeguard against a major bug, which would otherwise result in a huge recall, loads of warranty claims, and if you are selling to any big-company customer/reseller or through a big distributor, they will bend you over a barrel and shaft you and make you absolutely pay for the mistake in blood.
That could trash your business totally if you are a small company.
We sell to a US based $20BN company, for example, and they are packed with the usual corporate brown-nosers and political climbers, and the best way to crawl up their internal ladder is to scalp one of the company's suppliers. So we need to be very very careful.
A USB interface is handy for firmware upgrades - even if it is disabled in all normal operating contexts.
If the product has say wifi then it can download the update all by itself (obviously after the customer has consented and performed some enabling actions) and that's even better, because it further reduces the % of returns if you have made some mistake. It could make a difference between the reseller shafting you by returning his entire stock to you (at *your* expense, all the way from say the USA back to Europe) just to make a point, and accepting that the in the field upgrade is a reasonable solution.
I am in a business where our best selling product has 1995 firmware and nobody has yet found a bug, but you can never be sure :)
The ST 32-bit ARM micros are pretty amazing. I have just found they do a little 6mm x 6mm one, with 16k of code space and 4k of RAM, for $1.50. If it wasn't for the higher power consumption, few would bother using the little Atmel or PIC devices. One can span a huge product range with the same device family and crucially the same development tools and same expertise. We still use the AT90S1200 (last time buy was a few years ago but we still have stock) and the last 1 or 2 replacements like the 2313 have already been discontinued (Atmel seem to move on quite quickly these days, sadly, and yes I saw they do ARM processors too) but they are about $1 (10k).
I am looking at the $10 32F with 1MB FLASH.