Transferência de dados
- Implementado:
- UART conectável ao UART virtual via USB
- RTT sobre J-Link e RTT sobre ST-Link
- Um pequeno microcontrolador separado é sempre utilizável como ponte de interface para GPIO, I²C, SPI, CAN, LIN, ...
- Com um Chip da FTDI, verifique por exemplo Adafruit FT232H Breakout, GPIO, I2C e SPI são de fácil acesso.
Opção de servidor de exibição
Inicie trice ds
dentro de um console, opção: third_party/alacritty, localmente ou em um PC remoto e conecte-se com várias instâncias da ferramenta trice como com trice log -p COM15 -ds
por exemplo.
Documentação
- https://interrupt.memfault.com/blog/trice (um pouco desatualizado)
- Manual do usuário do Trice (abrange também as informações atualizadas do blog de interrupção)
- Verifique questões e discussões incluindo os itens encerrados.
- Leia o código-fonte de destino, especialmente triceDefaultConfig.h
- Veja as opções CLI executando
trice help -all
em um terminal ou lendo tricehelpall_test.go - Examine e, opcionalmente, modifique ./internal/emitter/lineTransformerANSI.go (é necessário
go install ./cmd/trice/...
posteriormente.)
Depuração usando VS-Code e Clang para um projeto instrumentado por Trice em modo Direct-Out sobre SEGGER-RTT
(Veja a pasta ./examples para mais detalhes.)
Cache de Trice
A partir da versão 0.70.0 do Trice é possível usar adicionalmente a opção Trice -cache
CLI para os comandos trice insert
e trice clean
. Esta opção só terá efeito quando o usuário criar em seu diretório inicial a pasta .trice/cache
. (Especificação de cache Trice)
Quando usar
Quando você usa trice i
como uma etapa de pré-compilação e trice c
como uma etapa de pós-compilação para ter os IDs que não estão no código-fonte do projeto quando você trabalha nele, portanto, apenas durante o tempo de compilação, e deseja acelerar o todo coisa.
Como funciona
O cache Trice mantém cópias de todos os arquivos passados para trice i
ou trice c
após processá-los, para evitar inserção e limpeza repetida de ID. As cópias são usadas para obter os mesmos resultados de trice i
ou trice c
para todos os arquivos não editados entre eles. Os arquivos editados são processados normalmente e o cache é atualizado posteriormente. Como as cópias dos arquivos são feitas sem alterar o horário de modificação do arquivo, um sistema de compilação não processa arquivos inalterados novamente, mesmo que os IDs tenham sido temporariamente removidos dos arquivos .
Dica
É necessário cuidado especial quando o sistema de compilação também modifica os arquivos de origem!
Por exemplo, um formatador automático deve ser ativado antes do comando tice insert
.
Qual modo usar?
- Para o desenvolvimento é recomendado o modo direto com SEGGER_RTT.
- A maioria dos casos de uso pode ser coberta no modo diferido com TRICE_BUFFER == TRICE_RING_BUFFER (menos necessidade de RAM) em TRICE_MULTI_PACK_MODE (menos dados de transferência).
Status do projeto
Trice é totalmente utilizável e não há bugs conhecidos (veja problemas).
Futuro
A documentação poderia ser melhorada, por exemplo, adicionando uma ajuda de início rápido. Recursos adicionais, como chamadas de procedimento remoto, poderiam ser descritos e um tlog separado, talvez escrito em C, permitiria o login em qualquer plataforma - não apenas nas suportadas por Go .
Apoiar?
Sim, por favor - ou simplesmente isso. ☺
Torne-se um patrocinador com sua conta Github
OU
OU
Clonando o repositório:
git clone https://github . com/rokath/trice . git
Projetos semelhantes
- baical.net (C)
- instrumentação da função do registrador de pilha de chamadas (uma maneira de rastrear o fluxo de execução dos programas)
- Depuração com pontos de interrupção dinâmicos do Printf (opção Eclipse IDE)
- defmt (ferrugem)
- Log e rastreamento de diagnóstico (AUTOSAR)
- elog (logger incorporado com espaço mínimo e uso de memória)
- Visualização do sistema J-Link (SEGGER)
- Registro com símbolos - O Embedonomicon
- MCUViewer
- Biblioteca de logs compactos Memfault
- Biblioteca serial de metal
- Registro estruturado mínimo para veículos autônomos (C++, conversa de código fechado)
- NanoLog (Linux C++)
- Percepio Tracealyzer (diagnóstico de rastreamento visual)
- Rastreamento de Pigweed Tokenizado
- Postform (Experiências de formatação adiadas com internação de string em C++. Inspirado no defmt Rust crate )
- qpspy (C/C++)
- Kit de ferramentas de registro/rastreamento de dados binários em tempo real
- Serial-Studio (visualização de dados)
- Traces (estrutura de rastreamento de API para aplicativos Linux C/C++
- Registro baseado em dicionário Zepyr
(voltar ao topo)