Aufgrund eines Problems im Nios® II Software Build Tool sind die Standardeinstellungen für die Nios® II Simple Socket Server (RMII)-Vorlage nicht auf MARVELL PHY ausgerichtet. Dies führte zu falschen PHY-Konfigurationen, wodurch die Ethernet-Verbindung ausfiel.
Dieses Problem tritt bei Nios® II SBT der Quartus® Prime Pro- und Standard-Versionen 17.1 auf.
Um dieses Problem zu umgehen, muss der Benutzer die folgenden Parameter in der Vorlage ändern, um die MARVELL PHY RGMII-Konfigurationen zu aktivieren.
Navigieren Sie zum Projektverzeichnis: .. /software/<project_name>/tse_my_system.c
Schritt 1. Kommentieren Sie die nächste Definition aus:
/* Wenn Sie Marvell phy verwenden und den rgmii-Modus wünschen, kommentieren Sie diese Definition aus */
#define SET_MARVELL_RGMII_MODE //kommentieren Sie diese Definition aus, um RGMII zu aktivieren
#ifdef SET_MARVELL_RGMII_MODE
#define ADDITIONAL_PHY_CFG &marvell_cfg_rgmii
#else
#define ADDITIONAL_PHY_CFG 0
#endif
Schritt 2. Finden Sie die Definition "ifdef DESCRIPTOR MEMORY BASE" und überprüfen Sie daserste Argument der Funktion TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO , das als "ETH_TSE" und nicht als "TSE_0_TSE" deklariert werden soll.
Wie im nächsten Codeabschnitt gezeigt:
#ifdef DESCRIPTOR_MEMORY_BASE
alt_tse_system_info tse_mac_device[MAXNETS] = {
TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(ETH_TSE, 0, TSE_0_DMA_TX, TSE_0_DMA_RX, TSE_PHY_AUTO_ADDRESS, ADDITIONAL_PHY_CFG, DESCRIPTOR_MEMORY)
};