Nios® II 소프트웨어 빌드 도구의 문제로 인해 RMII(Simple Socket Server Nios® II 템플릿의 기본 설정이 MARVELL PHY를 대상으로 하지 않아 잘못된 PHY 구성으로 인해 이더넷 링크가 다운되었습니다.
이 문제는 Nios® II SBT 버전 17.1 이상에서 관찰됩니다.
이 문제를 해결하려면 사용자가 템플릿에서 아래 매개 변수를 수정하여 MARVELL PHY RGMII 구성을 활성화해야 합니다.
프로젝트 디렉터리로 이동: .. /software/<project_name>/tse_my_system.c
1 단계. 다음 정의의 주석 처리를 제거합니다.
/* Marvell phy를 사용하고 rgmii 모드를 원하는 경우 이 정의의 주석 처리를 제거합니다.
#define SET_MARVELL_RGMII_MODE //이 정의의 주석 처리를 제거하여 RGMII를 활성화합니다.
#ifdef SET_MARVELL_RGMII_MODE
#define ADDITIONAL_PHY_CFG &marvell_cfg_rgmii
#else
#define ADDITIONAL_PHY_CFG 0
#endif
2 단계. "ifdef DESCRIPTOR MEMORY BASE" 정의를 찾고 함수 TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO의 first 인수가 "TSE_0_TSE"가 아닌 "ETH_TSE"로 선언되는지 확인합니다.
다음 코드 부분과 같이:
#ifdef DESCRIPTOR_MEMORY_BASE
alt_tse_system_info tse_mac_device[최대값] = {
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)
};