El IAP de tecnología embebida, desde que lo tengo, ¡el jefe ya no se preocupa por mi código! (superior)

1. Una amarga lección

Era un día de invierno severo y el cliente estaba utilizando el equipo recientemente desarrollado por nuestra empresa en el sitio. El equipo fue diseñado originalmente para permitir la conexión de un máximo de 20 sensores de temperatura y humedad, pero debido al gran espacio en el sitio, el cliente Se solicitó conectar 30 sensores de temperatura y humedad. Esta modificación de requisitos es muy sencilla, solo es necesario modificar una definición de macro en el programa. Debido a que implica la necesidad de modificar el programa y actualizar el firmware del programa, requerimos que el cliente envíe el dispositivo a nuestra empresa para actualizar el firmware del dispositivo y luego enviar el dispositivo al cliente al sitio de prueba. Sin embargo, debido al cronograma urgente del proyecto, el cliente pensó que esta solución llevaría mucho tiempo y no estuvo de acuerdo con esta solución. Al final, la I + D y la producción de nuestra empresa trabajaron horas extra durante 6 horas, y no fue hasta las 12 de la noche que se reconstruyó un conjunto de equipos, y luego el personal de ventas llevó el nuevo equipo al cliente durante la noche. Debido a un pequeño requisito de modificación, se desperdició una gran cantidad de mano de obra y recursos materiales, ¡lo cual es realmente una gran lección!
inserte la descripción de la imagen aquí
Con esta gran lección, agregué la función IAP al programa del dispositivo sin dudarlo. Dado que el dispositivo tiene la función IAP, podemos actualizar el programa de firmware del dispositivo de campo en cualquier momento de acuerdo con las necesidades , y podemos realizarnos a partir de ahora. ¡en!
inserte la descripción de la imagen aquí

2. ¿Qué es IAP?

IAP (Programación en la aplicación) se refiere a la programación en la aplicación, lo que significa que el firmware del programa MCU puede obtener nuevos datos de código y programar algunas áreas de Flash durante la operación, y sobrescribir el firmware del programa anterior con el nuevo programa de firmware para realizar el firmware del programa actualizar _ El propósito de IAP es actualizar y actualizar .

¿Por qué utilizar la función IAP?
¿Qué beneficios nos traerá la función IAP?

inserte la descripción de la imagen aquí
IAP puede traernos los siguientes dos beneficios.
1. IAP puede actualizar el firmware del programa del producto sin desmontar la carcasa.
Por lo general, la descarga del programa necesita usar un puerto de descarga dedicado (como el puerto JTAG). Sin embargo, esta interfaz generalmente no está reservada fuera del dispositivo. Si necesita actualizar el firmware del programa del dispositivo, debe desmontar la carcasa del dispositivo. y use el descargador para conectarse. Vaya al puerto de descarga del dispositivo y descargue el programa en el dispositivo.
inserte la descripción de la imagen aquí
Por ejemplo, hay dispositivos 100 en el sitio.Debido a los nuevos requisitos de los clientes, es necesario actualizar el firmware del programa de los dispositivos en el sitio. Cuando los ingenieros llegan al sitio, primero deben abrir las carcasas de 100 dispositivos, luego usar el descargador para conectarse al puerto de descarga para actualizar el firmware del programa y luego instalar las carcasas de 100 dispositivos.
¡Retirar e instalar la carcasa del dispositivo es un proceso muy tedioso y, a veces, puede incluso dañar el dispositivo debido a una operación accidental (como el deslizamiento de un tornillo o un cortocircuito en la placa de circuito) ! Si el dispositivo tiene la función IAP, podemos usar el puerto serie reservado, el puerto USB o el puerto de red del dispositivo para actualizar el firmware del programa del dispositivo. La actualización del firmware del programa se puede realizar sin desmontar la carcasa del dispositivo, lo que ahorra tiempo y esfuerzo, y también reduce la probabilidad de problemas.
inserte la descripción de la imagen aquí
2. IAP puede actualizar el dispositivo de forma remota a través de la red.
Si el dispositivo tiene 3G/4G, WIFI, NB y otras funciones de red, IAP puede usar estas funciones de red para realizar actualizaciones remotas del dispositivo. Por ejemplo, si el dispositivo tiene la función IOT-NB, podemos usar el servidor en la nube para enviar los datos al dispositivo a través de la red NB para realizar la función de actualización remota del firmware del dispositivo, sin enviar ingenieros al sitio . ahorrando tiempo, esfuerzo y eficiencia!
inserte la descripción de la imagen aquí

3. Principio de funcionamiento de IAP

La función principal de IAP es: programa de actualización. Entonces, ¿cómo implementa IAP la función del programa de actualización y cuál es el principio de funcionamiento de IAP?
inserte la descripción de la imagen aquí
Hablemos primero de un ejemplo en la vida: el proceso de fabricación de los cabezales de corte de diamante. Generalmente se suelda una cabeza de diamante de alta resistencia y resistente al desgaste a la cabeza de la hoja de sierra.Esta cabeza está hecha de polvo de diamante a alta temperatura y alta presión en una prensa caliente.
inserte la descripción de la imagen aquí
El proceso de temperatura y presión en el proceso de fabricación de equipos de prensado en caliente determina el rendimiento y la calidad de los diamantes.Por ejemplo, un proceso simple es: la temperatura y la presión aumentan lentamente en el arranque y alcanzan un estado de alta temperatura y alta presión. después de un cierto período de tiempo, luego mantenga alta temperatura y alta presión durante un período de tiempo, y finalmente reduzca lentamente la temperatura y la presión, este proceso de producción se denomina control de curva de proceso.
inserte la descripción de la imagen aquí
Suponga que el cliente necesita una hoja de sierra para cortar mármol y necesita una hoja de sierra de alta resistencia, por lo que es necesario modificar la curva de proceso del cabezal de corte de diamante. Primero, el director de producción trae la lista de procesos de la curva, y el operador recibe la lista de procesos de la curva, restablece la curva del proceso y luego reinicia el equipo, completando así la actualización de la curva del proceso . Hay tres partes importantes en el proceso de actualización de toda la curva del proceso:
1. Los parámetros de la curva del proceso que actualmente ejecuta el equipo.
2. Nuevos parámetros de la curva de proceso proporcionados por el director de producción.
3. Operadores.

inserte la descripción de la imagen aquí
Hay tres acciones importantes en el proceso de actualización de la curva de proceso:
1. Distribución, el director de producción pasará el nuevo proceso a los operadores.
2. Reemplazo, los trabajadores de producción eliminan las curvas de proceso antiguas e ingresan nuevas curvas de proceso.
3. Reinicie, reinicie la máquina después de completar la entrada de nuevos parámetros de proceso y ejecute la nueva curva de proceso.

inserte la descripción de la imagen aquí
Volviendo al tema, al implementar la función IAP, generalmente es necesario escribir dos códigos de proyecto al diseñar el programa de firmware
:
1. El primer código de proyecto no realiza operaciones de función de usuario(función del producto), pero recibe datos a través de USB, USART o puerto de red (el código de la aplicación son los datos), y actualiza la segunda parte del código, llamamos a esta parte del cargador de arranque del código .
2. El segundo código de proyecto es el código de función real (para realizar la función del producto), llamamos a esta parte de la aplicación de código (programa de aplicación).

Tanto el cargador de arranque como los códigos de la aplicación se graban en Flash al mismo tiempo (áreas diferentes). Cuando se enciende el chip, el código del cargador de arranque comienza a ejecutarse primero y luego salta y ejecuta el código de la aplicación . El proceso general es el siguiente:
1. Compruebe si es necesario actualizar la aplicación. El código se actualiza y, si es necesario, se realiza una actualización del código de la aplicación.
2. Vaya al código de la aplicación.
3. Ejecute el código de la aplicación.
inserte la descripción de la imagen aquí
Combinado con el ejemplo del cabezal de corte de diamante , el flujo de trabajo de IAP se puede comparar de la siguiente manera:
1. El gestor de arranque es equivalente al operador. El operador puede recibir nuevos parámetros de proceso y actualizar los parámetros de proceso; el gestor de arranque puede recibir un nuevo firmware de programa y actualizar el firmware del programa del dispositivo.
2. La temperatura es equivalente a los parámetros de proceso que se ejecutan en el equipo.
3. El nuevo equipo es equivalente a los nuevos parámetros del proceso.
4. Envío, correspondiente al dispositivo externo, enviando los datos del nuevo programa de la aplicación al gestor de arranque.
5. Para el reemplazo, el gestor de arranque correspondiente escribe los datos del programa de la aplicación recibidos en el área FLASH correspondiente al programa de la aplicación.
6. Reinicie, después de que el cargador de arranque correspondiente complete la actualización de la aplicación, salte y ejecute el código de la aplicación.

inserte la descripción de la imagen aquí
De acuerdo con el flujo de trabajo de IAP, la función de IAP se puede descomponer en las siguientes tres funciones:
1. Interacción de datos, recepción de datos enviados por dispositivos externos.
2. Almacenamiento de datos, escriba los datos recibidos en la memoria.
3. Programe el salto, salte y ejecute la aplicación.

Las funciones de las tres partes anteriores de IAP se denominan tres ejes de IAP A continuación, veamos qué detalles logran estos tres ejes y cómo los realizamos.
inserte la descripción de la imagen aquí

¡La creación no es fácil, espero que a los amigos les guste, reenvíe, comente y siga! ¡
Sus Me gusta, reenvíos, comentarios y atención serán la fuerza impulsora de mis actualizaciones continuas!
CSDN: https://blog.csdn.net/li_man_man_man
Titulares de hoy: https: //www.toutiao.com/article/7149576260891443724

Supongo que te gusta

Origin blog.csdn.net/li_man_man_man/article/details/128260193
Recomendado
Clasificación