3 bibliotecas de código abierto comúnmente utilizadas por expertos, lo que hace que el desarrollo de MCU sea más eficiente

Haga clic en "Uncle Wheat" arriba y seleccione "Cuenta pública superior/estrella"

Productos secos de bienestar, entregados lo antes posible.

Hola a todos, soy Trigo, la importancia del sistema de registro en el proceso de desarrollo y ajuste del sistema,

Todos deben saber que, especialmente después de que ocurre un problema en el proyecto, es muy doloroso que no haya un registro que ayude a localizar el problema.

Debido a que no siempre podemos pasar por el depurador para depurar el programa, el registro de ejecución del dispositivo es particularmente importante.

Por lo general, tenemos estos requisitos para los registros:

  • diferentes niveles de registro ( Debug, Warning, Info, Error, Fatal);

  • La impresión de registros debe ser printftan fácil de usar como;

  • Capacidad para establecer el nivel de registro;

  • Pequeña huella de pie;

  • Configurable, incluso el registro se puede deshabilitar;

  • Admite el resaltado de colores en función de diferentes niveles de registro;

  • Puede personalizar la configuración, la marca de tiempo;

  • Apoyo RTOS;

Las anteriores son funciones relativamente básicas, pero en dispositivos integrados, a veces queremos guardar el registro de ejecución del dispositivo, necesitamos algunas de las siguientes funciones;

  • Admite múltiples métodos de acceso, como terminal en serie, guardar en el sistema de archivos integrado;

  • Admite la línea de comando de shell para acceder a través del terminal serie;

No todos estos requisitos se cumplirán.

Además de las de uso común log4c, log4cppaquí hay tres bibliotecas de registro de código abierto muy buenas recomendadas para usted, que son más adecuadas para usar en proyectos de un solo chip. Desde el peso ligero al principio, hasta el rico en funciones en la parte posterior, el último es muy poderoso, así que tenga paciencia hasta el final.

rxi_log

dirección del proyecto:https://github.com/rxi/log.c

Una biblioteca de registro simple implementada en base a C99, el resultado específico es el siguiente;

6f40e2fc6665e54a2635700f8ddfe998.png
imagen-20211204142024466

uso específico

log.cPuede integrar el y en el código fuente log.hen su proyecto.Si necesita imprimir el registro, puede llamar a la siguiente API, como se muestra a continuación;

log_trace(const char *fmt, ...);
log_debug(const char *fmt, ...);
log_info(const char *fmt, ...);
log_warn(const char *fmt, ...);
log_error(const char *fmt, ...);
log_fatal(const char *fmt, ...);

Además de estas API, existen log_set_quiet, log_set_lock, LOG_USE_COLORetc. Consulte el proyecto original para obtener más detalles.

apostar

dirección del proyecto:https://github.com/rdpoor/ulog

uLog proporciona un mecanismo de registro estructurado para microcontroladores integrados o cualquier sistema con recursos limitados. Hereda algunos de los conceptos detrás de los populares Log4cy plataformas, pero con una sobrecarga más baja.Log4j

Algunas características de uLog:

  • uLog es fácil de integrar en casi cualquier entorno, consta de un encabezado y un archivo fuente, y está escrito en C puro.

  • uLog proporciona niveles de gravedad familiares (CRÍTICO, ERROR, ADVERTENCIA, INFORMACIÓN, DEPURACIÓN, RASTREO).

  • uLog admite múltiples salidas definidas por el usuario (consola, archivo de registro, búfer de memoria, etc.), cada una con su propio nivel de umbral de informes.

  • uLog es "positivamente independiente" con dependencias mínimas y solo requiere stdio.h, string.h y stdarg.h.

  • Cuando no usa uLog, no se interpone en su camino: si ULOG_ENABLED no está definido en el momento de la compilación, no se generará ningún código de registro.

  • uLog está bien probado. Consulte el archivo adjunto ulog_test.c para obtener más detalles.

20f5be4ab0e2e637db344e2ac7738d87.png
código de colores

registrador fácil

dirección del proyecto:https://github.com/armink/EasyLogger

063ef0759fe744db4006d1dcddb22a81.png
Color de texto

He usado este proyecto durante mucho tiempo y lo recomiendo encarecidamente. Es el trabajo de RT-Thread, que se ha integrado en RTOS. Las funciones compatibles son muy ricas y básicamente satisfacen las necesidades de varios desarrollos.

Las características son las siguientes:

  • Peso, ROM <1,6 K, RAM <0,3 K ;

  • Admite múltiples modos de acceso (por ejemplo: terminal, archivo, base de datos, puerto serie, 485, Flash...);

  • El contenido del registro puede incluir nivel, marca de tiempo, información de subprocesos, información de procesos, etc.;

  • Seguro para subprocesos y compatible con salida asíncrona y modos de salida con búfer ;

  • Admite una variedad de sistemas operativos (RT-Thread, UCOS, Linux, Windows...), y también admite plataformas bare metal ;

  • El registro admite el formato RAW y admite hexdump ;

  • Admite filtrado dinámico por etiquetas , niveles , palabras clave ;

  • Cada nivel de registro admite una pantalla de color diferente;

  • Es altamente extensible y admite la extensión de nuevas funciones en forma de complementos.

Lo anterior es solo una parte de este proyecto, puede consultar la dirección del proyecto para obtener más detalles.

resumen

Espero que todos presten atención al uso de registros en el desarrollo normal, establezcan diferentes niveles de registros en cada etapa de desarrollo y configuren registros de módulos para diferentes módulos, a fin de facilitar la localización de algunos problemas, resolverlos rápidamente y mejorar la eficiencia. . El artículo de este número está aquí, nos vemos en el próximo número.

-- El fin --

Recomendado en el pasado

Código aparentemente simple, pero secretos ocultos...

¿Cómo prevenir el agrietamiento? Tecnología de encriptación MCU revelada

Te aconsejo que dejes de ser un esclavo del tráfico...

La universidad en el archivo de cabecera pide que el lenguaje C tenga que prestar atención a estos principios...

Programas de 7 C resumidos en combate real, las cosas buenas no se esconden

Haz clic en la tarjeta de arriba para seguirme

4332a0cf7bab8c9a9e968bbe89446d8d.png

Todo lo que pediste se ve bien , lo tomo en serio ya que me gusta

Supongo que te gusta

Origin blog.csdn.net/u010632165/article/details/123196402
Recomendado
Clasificación