- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are using NIOS2 with uCOS2 and the NicheStack and need to be able to run our embedded app even if we don't have a network connection. We noticed with the below default altera_avalon_tse.h settings, the processor hangs up and seems to hold interrupts causing the app to have issues loading. # define ALTERA_AUTONEG_TIMEOUT_THRESHOLD 250000# define ALTERA_CHECKLINK_TIMEOUT_THRESHOLD 1000000# define ALTERA_NOMDIO_TIMEOUT_THRESHOLD 1000000# define ALTERA_DISGIGA_TIMEOUT_THRESHOLD 5000000 I tried these settings and it allowed to progress without a network connection fine, but this seems like overkill. Is there another Altera# define or code block that would allow obtaining the IP in a lower priority task/thread ? # define ALTERA_AUTONEG_TIMEOUT_THRESHOLD 2500# define ALTERA_CHECKLINK_TIMEOUT_THRESHOLD 1000# define ALTERA_NOMDIO_TIMEOUT_THRESHOLD 10000# define ALTERA_DISGIGA_TIMEOUT_THRESHOLD 50000Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is the below change an appropriate fix ?
I found that I needed to change the below code in BSP\drivers\src\altera_avalon_tse.c in the alt_tse_phy_restart_an() function. Adding a 1 second sleep in this while loop allows background tasks (we use uCOS2) to have some cpu cycles. A timeout of 10 seconds would be sufficient. The iNiche network initialization (again initialization only) is also on a task as well. while(alt_tse_phy_rd_mdio_reg(pphy, TSE_PHY_MDIO_STATUS, TSE_PHY_MDIO_STATUS_AN_COMPLETE, 1) == 0 ) { usleep(1000000); /* sleep for 1 second */ /* change to time out after 10 seconds */ if(timeout++ > 10 /*timeout_threshold*/) { tse_dprintf(4, "WARNING : PHY[%d.%d] - Auto-Negotiation FAILED\n", mac_group_index, mac_info_index); /* Restore previous MDIO address */ alt_tse_phy_wr_mdio_addr(pphy, mdioadd_prev); return TSE_PHY_AN_NOT_COMPLETE; } }
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page