¿Cómo funciona el firmware incorporado?

Ok, escribiré aquí de la manera más simple, un sistema operativo menos firmware de sistemas integrados funciona. Supongamos que tiene un dispositivo integrado y que tiene una tecla y una pequeña pantalla LCD para la interfaz de usuario. Entonces, de manera predeterminada, la pantalla LCD muestra un mensaje predeterminado que dice “hola” y cuando el usuario presiona la tecla, muestra la hora actual en la pantalla LCD.

Ahora escribes tu código de pueudo algo como esto.

Principal()

{

Inicialización

Mientras (1)

{

Si se presiona la tecla

Luego lea la hora actual de la pantalla RTC y

Más

Mostrar “hola”

}

Entonces, compila este código, crea el archivo binario y lo actualiza en el dispositivo flash o en un dispositivo externo. Si el programa se flashea en NOR flash, entonces NOR flash admite lo que se llama XIP (ejecutar en su lugar), de modo que el programa o firmware puede ejecutarse directamente desde NOR flash. Si el firmware se coloca en flash NAND, se copiará a la RAM y se ejecutará desde la RAM.

Entonces, una vez que el dispositivo integrado se enciende, el firmware que se almacena en la dirección de reinicio del microcontrolador comienza a ejecutarse. La primera función generalmente inicializa el microcontrolador, el ram y algunos dispositivos del sistema. Luego, el código del programa se ejecuta mientras el bucle es verdadero para siempre. Esta es una explicación muy simple en la que puedo pensar. Si eres más específico sobre lo que estás buscando exactamente, entonces estaré en una mejor posición para responder.

Esto es un poco como preguntarle a un pintor cómo pintar. Es la pregunta más general que puedes hacer: ¿cómo hago lo que haces? Creo que debes pensar un poco más y hacer preguntas más detalladas una vez que tengas claro a dónde te diriges con esto. No hay respuestas rápidas, lo siento. 😉

Es una pregunta general, así que la responderé en general.

OK, primero déjame preguntarte, ¿cómo haces tus actividades diarias por la mañana?

El ane puede ser: te despiertas, piensas un poco y luego simplemente haces tu trabajo predefinido que se suponía que debías hacer.

Lo mismo es aplicable al firmware incorporado.

  1. Lo primero es DESPERTAR el procesador (cerebro) particular de su firmware. Esto se hace internamente cuando, cuando enciende el hardware interno de su procesador, inicia impulsos de reloj y realiza otra parte necesaria.
  2. En segundo lugar, viene la parte de “pensar un poco”. Eso lo hace el programador, donde escribimos ciertas instrucciones para iniciar la asignación de memoria y otras inicializaciones como interrupciones, ram, etc.
  3. Luego viene la parte de “hacer las cosas necesarias”. Eso depende del código particular que escriba.

Si está buscando una respuesta particular, en cuanto a cómo podemos acceder al hardware complejo utilizando un código, entonces debe especificar su aplicación requerida para que pueda explicarle al respecto.

Un firmware incorporado tiene una sección de inicialización y un bucle permanente con rutinas de interrupción y llamadas a funciones (ambas opcionales).

Shaunak Agastya Vyas

https://tinu.live