¿Qué está haciendo el código de inicio de Keil en 8051?

El código de inicio inicializa el microcontrolador y debe coincidir con la configuración del diseño del hardware.

Por lo general, el código de inicio reside en un archivo llamado startup_ device_family .s . Algunos dispositivos también pueden usar un archivo llamado system_ device_family .c . Los archivos de inicio deben copiarse en la carpeta del proyecto. Para los dispositivos compatibles con los Paquetes de software, los archivos de inicio se encuentran en el grupo Dispositivo .

El código de inicio de Keil (startup.a51) realiza las siguientes operaciones:

  • Borra DATOS y opcionalmente memoria PDATA y XDATA,
  • Configura las pilas reentrantes (si es necesario),
  • Inicializa las variables globales C (ver INIT.A51),
  • Establece el puntero de pila (SP),
  • Salta a su función PRINCIPAL C.

Su código de inicio debe hacer todo esto. Si no es así, puede encontrar problemas de tiempo de ejecución que son difíciles de depurar y diagnosticar.

Para comprender startup.a51 necesita comprender el ensamblaje 8051. Entonces, hazlo como un ejercicio.

La responsabilidad de startup.a51 es configurar varios parámetros del entorno de tiempo de ejecución C, incluido el cambio del puntero de pila predeterminado.

Si es un principiante, agregue este archivo a su proyecto cuando escriba el código C. No se requiere al escribir solo código de ensamblaje.