mirror of https://github.com/ARMmbed/mbed-os.git
[NUC472] Fix LWIP implementation contains printf issue #3441
parent
e4a5401b9b
commit
0053b70d1e
|
|
@ -33,6 +33,7 @@
|
|||
#define ETH_DISABLE_TX() do{EMAC->CTL &= ~EMAC_CTL_TXON;}while(0)
|
||||
#define ETH_DISABLE_RX() do{EMAC->CTL &= ~EMAC_CTL_RXON;}while(0)
|
||||
|
||||
|
||||
/*
|
||||
#ifdef __ICCARM__
|
||||
#pragma data_alignment=4
|
||||
|
|
@ -99,7 +100,7 @@ static int reset_phy(void)
|
|||
}
|
||||
|
||||
if(delay == 0) {
|
||||
printf("Reset phy failed\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_SEVERE|LWIP_DBG_ON,("Reset phy failed\n"));
|
||||
return(-1);
|
||||
}
|
||||
|
||||
|
|
@ -120,23 +121,23 @@ static int reset_phy(void)
|
|||
}
|
||||
|
||||
if(delay == 0) {
|
||||
printf("AN failed. Set to 100 FULL\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_SEVERE|LWIP_DBG_ON , ("AN failed. Set to 100 FULL\n"));
|
||||
EMAC->CTL |= (EMAC_CTL_OPMODE_Msk | EMAC_CTL_FUDUP_Msk);
|
||||
return(-1);
|
||||
} else {
|
||||
reg = mdio_read(CONFIG_PHY_ADDR, MII_LPA);
|
||||
|
||||
if(reg & ADVERTISE_100FULL) {
|
||||
printf("100 full\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_ALL|LWIP_DBG_ON, ("100 full\n"));
|
||||
EMAC->CTL |= (EMAC_CTL_OPMODE_Msk | EMAC_CTL_FUDUP_Msk);
|
||||
} else if(reg & ADVERTISE_100HALF) {
|
||||
printf("100 half\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_ALL|LWIP_DBG_ON, ("100 half\n"));
|
||||
EMAC->CTL = (EMAC->CTL & ~EMAC_CTL_FUDUP_Msk) | EMAC_CTL_OPMODE_Msk;
|
||||
} else if(reg & ADVERTISE_10FULL) {
|
||||
printf("10 full\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_ALL|LWIP_DBG_ON, ("10 full\n"));
|
||||
EMAC->CTL = (EMAC->CTL & ~EMAC_CTL_OPMODE_Msk) | EMAC_CTL_FUDUP_Msk;
|
||||
} else {
|
||||
printf("10 half\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_ALL|LWIP_DBG_ON, ("10 half\n"));
|
||||
EMAC->CTL &= ~(EMAC_CTL_OPMODE_Msk | EMAC_CTL_FUDUP_Msk);
|
||||
}
|
||||
}
|
||||
|
|
@ -267,7 +268,7 @@ void EMAC_RX_IRQHandler(void)
|
|||
EMAC->INTSTS = m_status;
|
||||
if (m_status & EMAC_INTSTS_RXBEIF_Msk) {
|
||||
// Shouldn't goes here, unless descriptor corrupted
|
||||
printf("RX descriptor corrupted \r\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_SERIOUS|LWIP_DBG_ON, ("RX descriptor corrupted \r\n"));
|
||||
//return;
|
||||
}
|
||||
ack_emac_rx_isr();
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
* search-and-replace for the word "ethernetif" to replace it with
|
||||
* something that better describes your network interface.
|
||||
*/
|
||||
|
||||
|
||||
#include "lwip/opt.h"
|
||||
|
||||
#include "lwip/def.h"
|
||||
|
|
@ -494,16 +494,15 @@ static void __phy_task(void *data) {
|
|||
// Compare with previous state
|
||||
|
||||
if( !(ETH_link_ok()) && (netif->flags & NETIF_FLAG_LINK_UP) ) {
|
||||
//tcpip_callback_with_block((tcpip_callback_fn)netif_set_link_down, (void*) netif, 1);
|
||||
/* tcpip_callback_with_block((tcpip_callback_fn)netif_set_link_down, (void*) netif, 1); */
|
||||
netif_set_link_down(netif);
|
||||
printf("Link Down\r\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING|LWIP_DBG_ON, ("Link Down\r\n"));
|
||||
}else if ( ETH_link_ok() && !(netif->flags & NETIF_FLAG_LINK_UP) ) {
|
||||
//tcpip_callback_with_block((tcpip_callback_fn)netif_set_link_up, (void*) netif, 1);
|
||||
/* tcpip_callback_with_block((tcpip_callback_fn)netif_set_link_up, (void*) netif, 1); */
|
||||
netif_set_link_up(netif);
|
||||
printf("Link Up\r\n");
|
||||
LWIP_DEBUGF(LWIP_DBG_LEVEL_WARNING|LWIP_DBG_ON, ("Link Up\r\n"));
|
||||
}
|
||||
|
||||
// printf("-");
|
||||
osDelay(200);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue