solo mire / lib / firmware para la gente que se pregunta de qué se trata.
Estas son mis opiniones y en realidad no hay una respuesta real, son todas las opiniones, tendría que encuestar a los equipos en cada uno de estos proveedores y puede encontrar una respuesta diferente para cada uno. No hay ninguna regla aquí.
Sí, ahorras en flash, flash cuesta dinero y si puedes ahorrar más para ti, asegúrate de canjearlo por ram, pero creo que es un costo de comercio justo.
En segundo lugar, no tiene que hacer actualizaciones de campo, no necesita que el usuario descargue una actualización de firmware y, posiblemente, bloquee el producto. Idealmente, su firmware debería ser lo suficientemente bueno en el lanzamiento del producto para no necesitar nunca una actualización de campo, pero estamos en un post microsoft, reiniciar / reiniciar y ver si eso lo arregla todo el mundo. Por lo tanto, el firmware puede ser específico para el sistema operativo, ya que está vinculado al controlador para ese sistema operativo y, en segundo lugar, si las actualizaciones de software en el sistema operativo ocurren, el firmware para los dispositivos incorporados puede obtener un viaje gratis.
En algunos casos, es solo el producto que utilizan un popular microcontrolador usb, por ejemplo, que por alguna razón se usa comúnmente en una línea de productos, o un proveedor de productos hace el diablo que conoce contra el diablo con el que no se atasca esta solución.
Con los dispositivos de IoT dudo que tengan un firmware a prueba de balas en la versión del producto y vendrán nuevos ataques para atacar el firmware de IoT para una línea de productos, por lo que es deseable tener una forma rápida y fácil de actualizar sin bricking. un disco duro de computadora es otra cosa que atacar para obtener acceso a una red. Así que hay ventajas y desventajas desde una perspectiva de seguridad.
En cuanto al controlador genérico, debe ver el sistema operativo y el producto y cómo se enumera, etc. Si mi teclado y el dongle wifi usaron la misma parte, ¿cómo los separaría un controlador genérico? Si una familia de productos o suficientes dispositivos adoptan de alguna manera una enumeración / carga de firmware / reenumeración comunes, es posible que no tenga que escribir un controlador para cubrir la carga de firmware. Realmente es una cosa de implementación, por lo tanto, el sistema operativo y la versión específica.
Uno de los muchos inconvenientes aquí es que es posible que tenga que escribir un cargador para cada sistema operativo que admita, donde si el firmware estuviera en flash en el producto, tal vez no tenga que hacerlo, depende del producto y el protocolo del host. Del mismo modo, el protocolo de descarga de firmware, etc. Incluso si se usó un controlador genérico para realizar la descarga de firmware, tiene que hacer un esfuerzo adicional para proporcionar un paquete de software operativo específico e instalador para colocar el firmware en la ubicación donde se encuentran el sistema operativo y el controlador. cuente con los archivos de control o las entradas de registro que lo acompañan, donde si el producto tuviera un firmware en flash, tendrá que hacer menos para que el producto funcione. También funciona la primera vez que lo conectan en lugar de hacerlo en dos pasos (hay una razón por la que algunos productos que compra fuertemente dicen que no se conecte hasta que instale el controlador, esta es una razón, quieren que el firmware esté listo antes) el periférico lo quiere una vez enchufado la primera vez).
no hay una respuesta correcta, son decisiones de diseño personales, intercambias trabajo por un lado por trabajo por otro. Potencialmente, puede ahorrar entre un centavo y un dólar el costo del producto, intercambiándolo por "bits" que el usuario paga por almacenar en su disco duro. Siempre y cuando no intercambies eso por facturas de soporte técnico porque no obtuviste el diseño general correcto del sistema.