Не очень понял задачу. Если хочется кидать отладочные сообщения не через UART, а через ETHERNET, то я бы вывел вывод printf в буфер. Буфер отсылал по UDP. А на компе UDP терминалку (Hercules SETUP utility и т.п.).
Вот примерно так (за основу STSW-STM32070 LwIP TCP/IP stack demonstration for STM32F4x7 microcontrollers (AN3966) )...
Код
while (1)
{
/* Host Task handler */
USBH_Process(&USB_OTG_Core_dev , &USB_Host);
/* check if any packet received */
if (ETH_CheckFrameReceived())
{
/* process received ethernet packet */
LwIP_Pkt_Handle();
}
/* handle periodic timers for LwIP */
LwIP_Periodic_Handle(LocalTime);
//Проверяем есть ли отладочные сообщения
textLen= get_new_text(textBuf);
if (textLen>0) {
/* allocate pbuf from pool*/
p = pbuf_alloc(PBUF_TRANSPORT, textLen, PBUF_POOL);
if (p != NULL ) {
/* copy data to pbuf */
pbuf_take(p, (char*) textBuf, textLen);
/* send udp data */
udp_send(upcb, p);
/* free pbuf */
pbuf_free(p);
}
}
}
Сообщение отредактировал Real_Bastard - Dec 12 2013, 10:14