problema de memoria del cargador de arranque TCP

1

Estoy intentando escribir un gestor de arranque TCP simple e independiente para un microcontrolador AVR.

En este momento, tengo una colección de APN que pesa casi 14 KB de memoria. El código de la aplicación establecerá una conexión TCP con el servidor, utilizando el APN de la red que se almacenó en el espacio del programa y verifica con el servidor cualquier código de aplicación actualizado. Si el servidor responde positivamente, el código reiniciará el controlador para ingresar al programa del cargador de arranque. El gestor de arranque buscará el código de la aplicación y lo almacenará en el espacio del programa.

Mi pregunta es: ¿Cómo puedo hacer el cargador de arranque TCP independiente sin depender del código de la aplicación para establecer la conexión TCP? Como el cargador de arranque solo está limitado a 8 KB de memoria flash, ¿Cómo puedo almacenar los 14 KB de APN + 4 KB de código del cargador de arranque en esta sección de inicio de 8 KB?

Código de la aplicación:

  initiate TCP connection using APN in pgmspace;
  check server for any updates;
  if(yes)
  restart;
  else
  normal function;

Código del cargador de arranque:

  request server to send the updated application code;
  receive code and flash the application code;
  goto application code address;

EDITAR:   Mi principal preocupación aquí es que, si se supone, algo salió mal al actualizar el nuevo código de la aplicación, entonces el cargador de arranque no puede conectarse al servidor y me temo que no hay otra opción, pero programarlo con un programador

    
pregunta gzix

1 respuesta

2

¿Cuánta memoria hay en el sistema?

Si tiene suficiente memoria, no debería ser un problema almacenar el código APN en la memoria normal y llamarlo desde el cargador de arranque (esto es lo que hacen los sistemas operativos normales de todos modos). Debe tener cuidado de no sobrescribirlo nunca con una buena gestión de la memoria. (Lo pondría en un extremo de la memoria del sistema). El punto es que si desea usar más memoria cuando escribe aplicaciones, debe comenzar a escribir memoria con el cargador de arranque sobre el código APN.

Además, también debería poder usar este código en sus aplicaciones si es lo suficientemente cuidadoso.

    
respondido por el Treesrule14

Lea otras preguntas en las etiquetas