Example #1
0
uint32_t itm_sendchar(uint32_t ch)
{
	if ((getreg32(ITM_TCR) & ITM_TCR_ITMENA_Msk) &&	/* ITM enabled */
		(getreg32(ITM_TER) & (1UL << 0))) {	/* ITM Port #0 enabled */
		while (getreg32(ITM_PORT(0)) == 0) ;
		putreg8((uint8_t)ch, ITM_PORT(0));
	}

	return ch;
}
int syslog_putc(int ch)
{
  /* ITM enabled */

  if ((getreg32(ITM_TCR) & ITM_TCR_ITMENA_Msk) == 0)
    {
      return EOF;
    }

  /* ITM Port "CONFIG_ARMV7M_ITMSYSLOG_PORT" enabled */

  if (getreg32(ITM_TER) & (1 << CONFIG_ARMV7M_ITMSYSLOG_PORT))
    {
      while (getreg32(ITM_PORT(CONFIG_ARMV7M_ITMSYSLOG_PORT)) == 0);
      putreg8((uint8_t)ch, ITM_PORT(CONFIG_ARMV7M_ITMSYSLOG_PORT));
    }

  return ch;
}