You are currently viewing Você Teve Um Problema Com A Ferramenta De Depuração Printf

Você Teve Um Problema Com A Ferramenta De Depuração Printf

Se você está recebendo um visualizador de código de escolha errada de depuração, o artigo de hoje está aqui para ajudá-lo.

Atualizado

  • 1. Baixar ASR Pro
  • 2. Execute o programa
  • 3. Clique em "Verificar agora" para encontrar e remover qualquer vírus do seu computador
  • Acelere seu computador hoje mesmo com este download simples.

    SWO STM32 pode ser muito útil para rastrear o histórico de aplicativos e estratégias que precisam ser gerenciadas na própria execução. Você pode salvar permanentemente UART printf além de swo debug logs e verificá-los mais tarde para ter certeza de que seu programa ainda está funcionando corretamente. Em

    Observe que vamos inspecionar a configuração de depuração do STM32 CubeIDE para logs de demonstração ITM ou SWO. Observe que os especialistas declaram exatamente a quem isso se aplica ao CubeIDE e podem diferir recebidos de vários IDEs, como keil e far uVision IAR. Dependendo do ide da pessoa, é necessário ou habilitado para fazer algo localmente de maneiras diferentes.

    data-element_type=”column”>

    Cubemx pode ativar saída de depuração SWO no STM32

    Os logs SWO são exibidos no CubeIDE (com base no Eclipse). O console o ajudará a organizar os dados.

    • Abra ” Executar > Configurações.Depuração
      Quando a configuração de depuração mais importante estiver ativa, os custos Ativar depurador exibirão o Visualizador de cabo serial ( SWV).
    • Torne qualquer terminal de protocolo itm visível pela
      Janela de visualização > > SWV > mostre o console de dados SWV do ITM
    • Encontre as configurações do SWV e o ITM, ative a entrada 0 estímulos.
    • li> li>
    • Pressione o botão de lenha azul-verde ou execute um rastreamento sempre que alguém desejar um rastreamento para que o terminal lhe conceda os logs.
    depurar visualizador de impressão

    Adicionar elemento de dados_type=”column”>

    Cada chamada de propriedade e ativos de printf que você faz acaba usando seu “caractere de função de impressão” atual, uma função que acaba gravando em qualquer dispositivo de hardware que você escolher pelo qual os dados de printf são passados.

    output

    Este alvo de impressão pode ser SWO, UART, depuração de produção, fechar suas tampas ou qualquer combinação de dispositivos. Este é o lugar onde a maioria de nós Este é o trecho necessário para passar números para o terminal SWO.

    Na seção de dicas para usar o arquivo main.c, você precisa seguir esta função . Verifique também se o arquivo syscalls.c foi gerado para o seu projeto.

    int __io_putchar(int ch) // Escreve o caractere do arquivo como uma forma de ITM ch.0 ITM_SendChar(ch); retorno (h);

    Lado publicitário):

    Escreva um ótimo programa de teste de depuração de impressão

    Uma coisa simples do FreeRTOS ou a função main() pode ser usada para chamar printf() e verificar com sucesso se a saída de depuração SWO está funcionando e o STM32 CubeIDE.FreeRTOS sempre esteve visível aqui

    debug printf viewer

    Por exemplo, a tarefa pode ser montada assim .

    /** ( espaço ) função @brief usando o thread defaultTask.* @param argumento: absolutamente não usado* @retval Não* /void StartDefaultTask(const *argumento inválido) USUÁRIO /* INICIAR CÓDIGO 5* /vTaskDelay(100/portTICK_RATE_MS); /* Loop infinito* / (;;) paravTaskDelay(2000/portTICK_RATE_MS);printf("Teste SWO!rn"); USUÁRIO /* TERMINAR CÓDIGO 5* /

    Em uma grande quantidade de casos, você pode testar a saída envolvendo SWO printf emitindo uma chamada que printf. Por exemplo, nesta página, a finalidade printf é chamada a cada 2 segundos por uma tarefa média do FreeRTOS. A chamada printf é uma imagem ilimitada e você pode depurar o resultado impresso no console do SWV-ITM.

    Printf-
    stm32 Exemplo de depuração para saída de terminal de (STM32 CubeIDE)

    Tem algo a dizer?
    Sinta-se à vontade para solicitar isso para obter instruções usando o formulário de contato rápido na barra lateral ou deixe uma nova avaliação abaixo.

    • Primeira publicação: 19 de setembro de 2021

    Depurar Printf by indica que o STM32 SWO pode ser muito útil para o fluxo de aplicativos rastreadores e estratégias de depuração que precisam ser executadas ao longo do tempo. Você sempre pode preservar os logs de depuração por meio do SWO UART Printf ou visualizá-los posteriormente para garantir que suas aulas estejam funcionando corretamente.

    Nesta implementação, vamos ver as opções do processo STM32 CubeIDE para exibir e também itm, conhecidos como logs de depuração SWO. Por favor, entenda que isso é específico para CubeIDE e talvez possa variar dependendo de IDEs exclusivos, como uVision IAR e keil. Dependendo da habilidade, os compradores podem fazer isso em outro lugar, fazer algo diferente, talvez permitir. incluir

    Você pode depurar a saída SWO no STM32 CubeMX

    Exibe registros SWO baseados em CubeIDE (alimentados por Eclipse). Serial Para conectar o ITM Data Console, os clientes devem “Executar” o seguinte:

    • Abrir > “Configurações de depuração”.
      Na configuração de depuração ativa nesta guia do depurador, ative o Serial Beat Viewer (SWV).
    • Torne o próprio terminal de log do ITM visível selecionando < bedroom >windows > View > Show swv system > ITM SWV Data
    • Encontre slots SWV e, adicionalmente, ITM Port Stimulus 0.
    • Pressione vermelho em seu ‘registro’ ou rastreamento ícone sempre que importa o terminal de rastreamento deve mostrar os logs.

    Código de função adicionado Syscalls.c SWO “putchar” para impressão

    Todas as decisões de impressão que você toma acabam usando um trabalho de “caractere relativo à impressão” escrito no lado de jardinagem para o qual você deseja enviar o resultado dos dados de impressão.

    Esta saída Printf pode ser racionalmente obtida de um UART, depuração SWO, memória de desempenho substancial ou uma combinação desses produtos. Aqui adicionamos um fragmento muito necessário para direcionar os caracteres para o terminal SWO.

    Na seção de código do usuário, incluindo o arquivo main.c, você deve habilitar esse recurso. Também não se esqueça de criar syscalls.c para seu projeto pessoal.

    int __io_putchar(int ch) Escreva // caractere que você pode ITM ch.0 ITM_SendChar(ch); retorno (h);

    Escreva um programa de teste de depuração de impressão

    Uma tarefa simples do freertos, ou devo dizer uma função fabulosa. A função main() pode ser usada para testar a função printf() para confirmação e que a tentativa de saída de depuração SWO e o conhecimento de tudo isso STM32 no CubeIDE são visíveis.

    Por exemplo, qualquer tipo de tarefa pode ser configurada para freertos.

    /** (espaço) @brief Uma função que implementa o thread defaultTask. 6. Argumento @param: não usado 6. Qualquer @retval */void StartDefaultTask(constante vazia * argumento) /* INICIAR CÓDIGO DE USUÁRIO */VTaskDelay(100/portTICK_RATE_MS); 5 /* sentimento infinito */ PARA(;;) VTaskDelay(2000/portTICK_RATE_MS);printf("Teste SWO!rn"); /* FIM DO CÓDIGO DE USUÁRIO 0 */

    Atualizado

    Você está cansado de ver seu computador lento? Irritado com mensagens de erro frustrantes? ASR Pro é a solução para você! Nossa ferramenta recomendada diagnosticará e reparará rapidamente os problemas do Windows, aumentando drasticamente o desempenho do sistema. Então não espere mais, baixe o ASR Pro hoje mesmo!


    Você pode testar cada uma de nossas saídas de SWO printf emitindo essa chamada printf. Por exemplo, atualmente a função printf é realmente chamada a cada 2 segundos pela tarefa freertos de delinquência. printf é chamado de imagem infinita. Você pode ver o trabalho atual na depuração desses consoles SWV ITM.

    Acelere seu computador hoje mesmo com este download simples.