¿y qué relación tiene con el microcódigo?
Absolutamente ninguna.
El microcódigo es una de las formas en las que pueden estar definidas las instrucciones de un microprocesador, como no me dedico ni me voy a dedicar nunca a fabricar microprocesadores no se mas detalles pero me suena que hay otras formas de definir las instrucciones.
El firmware usa las instrucciones, estén hechas con microcódigo o no, para generar un programa.
Ejemplo tonto:
Supongamos que tengo un sistema con microcontrolador o microprocesador (da lo mismo) que tiene en hard "un montón de triacs" y poco mas.
Si el fabricante le pone un firmware ese sistema podría hacer de mesa de iluminación, pero si le pone otro podría hacer de controlador de semáforo. Después de eso podría llevar otra capa de "programa" para música disco, trans o reguetón en un caso y en otro caso para el cruce tipo a, tipo b etc.
La primera capa sería firmware y el que compre un semáforo seguramente no se le dejaría usar como mesa de iluminación y viceversa, sin embargo en la otra capa si que se le dejaría manipular.
Esto es un tanto difuso, el ejemplo está pillado por los pelos y en otro caso dependiendo de la política de la empresa podría dejar o n manipular todo el soft de todas las capas o de ninguna.