Transferencia de datos
- Implementado:
- UART conectable a UART virtual a través de USB
- RTT sobre J-Link y RTT sobre ST-Link
- Siempre se puede utilizar un pequeño microcontrolador independiente como puente de interfaz para GPIO, I²C, SPI, CAN, LIN, ...
- Con un chip de FTDI, compruebe, por ejemplo, que Adafruit FT232H Breakout, GPIO, I2C y SPI sean de fácil acceso.
Opción de servidor de visualización
Inicie trice ds
dentro de una consola, opción:third_party/alacritty, localmente o en una PC remota y conéctese con varias instancias de la herramienta trice como con trice log -p COM15 -ds
por ejemplo.
Documentación
- https://interrupt.memfault.com/blog/trice (un poco desactualizado)
- Manual de usuario de Trice (cubre también la información actualizada del blog de interrupción)
- Verifique los problemas y discusiones, incluidos los elementos cerrados.
- Lea el código fuente de destino, especialmente triceDefaultConfig.h
- Vea las opciones de CLI ejecutando
trice help -all
en una terminal o leyendo tricehelpall_test.go - Busque y, opcionalmente, modifique ./internal/emitter/lineTransformerANSI.go (es necesario
go install ./cmd/trice/...
después).
Depuración usando VS-Code y Clang para un proyecto instrumentado con Trice en modo de salida directa sobre SEGGER-RTT
(Consulte la carpeta ./examples para obtener más detalles).
Caché triple
A partir de la versión 0.70.0 de Trice, es posible utilizar adicionalmente el interruptor CLI Trice -cache
para los comandos trice insert
y trice clean
. Este cambio sólo tendrá efecto cuando el usuario cree en su directorio personal la carpeta .trice/cache
. (Especificación de caché triple)
Cuando usarlo
Cuando usa trice i
como paso previo a la compilación y trice c
como paso posterior a la compilación, los ID no están en el código fuente del proyecto cuando trabaja en él, por lo tanto, solo durante el tiempo de compilación y desea acelerar todo. cosa.
como funciona
La caché de Trice guarda copias de todos los archivos pasados a trice i
o trice c
después de procesarlos, para evitar la inserción y limpieza repetidas de ID. Las copias se utilizan para obtener los mismos resultados que con trice i
o trice c
para todos los archivos no editados en el medio. Los archivos editados se procesan normalmente y el caché se actualiza posteriormente. Debido a que las copias de archivos se realizan sin cambiar la hora de modificación del archivo, un sistema de compilación no vuelve a procesar archivos sin cambios, incluso si las ID se han eliminado temporalmente de los archivos .
Pista
¡Se necesita especial cuidado cuando el sistema de compilación también modifica los archivos fuente!
Por ejemplo, un formateador automático debería activarse antes del comando tice insert
.
¿Qué modo usar?
- Para el desarrollo se recomienda el modo directo con SEGGER_RTT.
- La mayoría de los casos de uso se pueden cubrir en modo diferido con TRICE_BUFFER == TRICE_RING_BUFFER (menos necesidades de RAM) en TRICE_MULTI_PACK_MODE (menos datos de transferencia).
Estado del proyecto
Trice es totalmente utilizable y no hay errores conocidos (ver problemas).
Futuro
La documentación podría mejorarse, por ejemplo añadiendo una ayuda de inicio rápido. Se podrían describir características adicionales como llamadas a procedimientos remotos y un tlog separado, tal vez escrito en C, permitiría iniciar sesión en cualquier plataforma, no solo en las compatibles con Go .
¿Apoyo?
Sí, por favor, o simplemente eso. ☺
Conviértete en patrocinador con tu cuenta Github
O
O
Clonando el repositorio:
git clone https://github . com/rokath/trice . git
Proyectos similares
- baical.net (C)
- instrumentación de la función de registro de pila de llamadas (una forma de rastrear el flujo de ejecución de los programas)
- Depuración con puntos de interrupción dinámicos de Printf (opción Eclipse IDE)
- definido (óxido)
- Registro y seguimiento de diagnóstico (AUTOSAR)
- elog (registrador integrado con mínimo espacio y uso de memoria)
- Vista del sistema J-Link (SEGGER)
- Registro con símbolos - El Embedonomicon
- MCUVisor
- Biblioteca de registros compacta de Memfault
- Biblioteca de series de metales
- Registro estructurado mínimo para vehículos autónomos (C++, charla de código cerrado)
- NanoLog (Linux C++)
- Percepio Tracealyzer (diagnóstico de seguimiento visual)
- Seguimiento de Pigweed tokenizado
- Postform (Experimentos de formato pospuestos con internación de cadenas en C++. Inspirado en la caja Rust defmt)
- qpspy (C/C++)
- Kit de herramientas de registro/rastreo de datos binarios en tiempo real
- Serial-Studio (Visualización de datos)
- Traces (marco de seguimiento API para aplicaciones Linux C/C++
- Registro basado en el diccionario Zepyr
(volver arriba)