Puedo pensar en cuatro razones: una es la disponibilidad de componentes: si diseñas para un IC particular con memoria de programa integrada, básicamente necesitas usar esa MCU (exacta). Pero si el programa es externo, puede usar cualquier MCU disponible, con o sin memoria de programa
La segunda razón es el costo. Los IC de memoria externa son casi invariablemente más baratos que la misma cantidad de memoria integrada en la MCU. Esta diferencia de costo proviene de las diferencias en el proceso de semiconductores o la vinculación + empaquetado + prueba de complejidad del flujo de trabajo.
La tercera razón podría ser la confiabilidad; es posible que no desee colocar los IC programados en un horno de reflujo. No estoy seguro de esto, pero me sentiría más seguro si programara el IC externamente con un programador de pandillas o si ordenara los IC del proveedor ya programado, y luego los insertara en los enchufes después de la producción para que los IC programados nunca se calienten.
La cuarta razón podría ser la diferenciación del producto. Quizás la misma ECU se usa con diferentes programas en diferentes modelos. El uso de un IC externo para el programa permite al fabricante crear todas las unidades en un solo lote y elegir la versión de software en una etapa muy avanzada de producción.