¿Cómo programa HP sus propias placas electrónicas dentro de una impresora, por ejemplo?

Hay dos formas de interpretar esta pregunta.

  1. ¿Cómo obtiene HP el código que escribieron en los chips que usan en las impresoras?
  2. ¿Cómo desarrolla HP el código que se ejecuta en los chips que usan en las impresoras?

Para responder a la pregunta uno, es probable que soliciten sus dispositivos preprogramados al fabricante. Esta es una oferta estándar de (todos?) Fabricantes de chips por una tarifa nominal, y permite a los diseñadores de sistemas ahorrar espacio y costos en su placa al omitir el hardware de conexión para una interfaz de depuración. Los chips programados de esta manera generalmente contienen un gestor de arranque capaz de actualizar el firmware del dispositivo y utilizan una interfaz más simple que una conexión de depuración completa (USB, UART, SPI, etc.).

Tengo que adivinar mi respuesta a la pregunta 2, porque no he trabajado / no he trabajado en HP, así que no sé cómo desarrollan el producto. HP probablemente tiene un equipo de ingenieros de firmware que trabajan en el código de los componentes internos en todas las plataformas nuevas de dispositivos. Plataformas es la palabra clave en esa última oración.

Es muy probable que agrupen sus impresoras en familias de dispositivos, donde cada familia tiene un conjunto común de componentes. Entre este conjunto común de componentes estarán la electrónica interna (PCB y MCU, etc.) y el firmware. Es probable que escriban una imagen maestra de firmware que contenga el superconjunto de todas las funciones en la plataforma de dispositivos para simplificar los costos de desarrollo. Dentro de esta imagen maestra de firmware, una de las primeras rutinas que se ejecuta al encender el dispositivo probablemente sea una rutina de identificación del sistema. Esta rutina verificará alguna característica de identificación (resistencias de identificación que se rellenan / despoblan según sea necesario, o una EEPROM que contiene una identificación del dispositivo) para determinar el número de modelo exacto y el sku del sistema. Esto permitirá que el firmware active / desactive las características necesarias para el número de modelo determinado por la rutina de identificación.

Como dije antes, no sé cuál es la metodología de desarrollo exacta de HP para sus impresoras. Estoy basando mi respuesta en la experiencia con otros productos y en cómo se desarrollan.

Sobre todo, creo. Las placas deben ser programadas por un equipo en contacto cercano con el diseñador de hardware, y creo que el diseño de la impresora HP es muy propio. Por otro lado, me han dicho que todas las impresoras HP usan ThreadX RTOS, un kernel comprado en tiempo real.