STM32 ITM первый символ потерян. Все остальные отправлены ОК - PullRequest
0 голосов
/ 25 июня 2019

Может быть, кто-то знает, где проблема.

Я использую SWV (SWO) ITM для отправки отладочных сообщений. Я использую стандартную функцию CMSIS:

__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
{
  if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) &&      /* ITM enabled */
      ((ITM->TER & 1UL               ) != 0UL)   )     /* ITM Port #0 enabled */
  {
    while (ITM->PORT[0U].u32 == 0UL)
    {
      __NOP();
    }
    ITM->PORT[0U].u8 = (uint8_t)ch;
  }
  return (ch);
}

Всегда первый вызов этого макроса ничего не отправляет. ОК - это STM32L476.

Любые подсказки оценены.

...