หากการออกแบบตัวอย่างของ Nios® II Triple Speed Ethernet (TSE) ถูกอินสแตนซ์เป็นระบบย่อยที่ใช้ Qsys ตามลําดับชั้น จะต้องมีการปรับเปลี่ยนด้วยตนเองในซอฟต์แวร์ตัวอย่างเพื่อกําหนดพาธที่ถูกต้องไปยังอุปกรณ์ต่อพ่วง
ซอฟต์แวร์ตัวอย่างใช้ชื่ออินสแตนซ์ของส่วนประกอบในการออกแบบตัวอย่าง TSE แต่ถูกจี้ไว้ล่วงหน้าด้วยชื่อลําดับชั้นหากการออกแบบ TSE สร้างอินสแตนซ์เป็นระบบย่อยใน Qsys ซึ่งจะทําให้เกิดข้อผิดพลาดที่คล้ายกับด้านล่างเพื่อให้เห็นได้จากการคอมไพล์ใน Nios II Software Build Tools (SBT):
error: 'EXT_FLASH_NAME' undeclared here (not in a function)
error: 'TSE_MAC_BASE' undeclared here (not in a function)
error: 'TSE_MAC_BASE' undeclared here (not in a function)
error: 'TSE_MAC_TRANSMIT_FIFO_DEPTH' undeclared here (not in a function)
error: 'TSE_MAC_RECEIVE_FIFO_DEPTH' undeclared here (not in a function)
error: 'TSE_MAC_USE_MDIO' undeclared here (not in a function)
error: 'TSE_MAC_ENABLE_MACLITE' undeclared here (not in a function)
error: 'TSE_MAC_MACLITE_GIGE' undeclared here (not in a function)
error: 'TSE_MAC_IS_MULTICHANNEL_MAC' undeclared here (not in a function)
error: 'TSE_MAC_NUMBER_OF_CHANNEL' undeclared here (not in a function)
หากต้องการแก้ไขข้อผิดพลาด ให้ทําตามขั้นตอนด้านล่างภายในโครงการแอปพลิเคชันของคุณใน Nios II SBT สําหรับEclipse:
- เปิด network_utilities.c และค้นหาและแทนที่สําหรับ "EXT_FLASH" -> "_ EXT_FLASH"
- ตัวอย่างเช่น: หากระบบ .qsys ระดับบนสุดของคุณเรียกว่า "QSYS_TOP" ในโครงการ .qsys ระดับสูงสุดของคุณ ให้ค้นหา "EXT_FLASH" และแทนที่ด้วย "QSYS_TOP_EXT_FLASH"
- ก่อน:
#define EXT_FLASH_NAME "/dev/ext_flash"
- หลัง:
#define QSYS_TOP_EXT_FLASH "/dev/ext_flash"
- ตัวอย่างเช่น: หากระบบ .qsys ระดับบนสุดของคุณเรียกว่า "QSYS_TOP" ในโครงการ .qsys ระดับสูงสุดของคุณ ให้ค้นหา "EXT_FLASH" และแทนที่ด้วย "QSYS_TOP_EXT_FLASH"
- แก้ไข tse_my_system.c: บรรทัดที่ 10 เพื่ออัปเดต#definesมาโครที่ใช้เมื่อโครงสร้างข้อมูล TSE ถูกสร้างขึ้น:
- ก่อน:
alt_tse_system_info tse_mac_device[MAXNETS] = { TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(TSE_MAC, 0, SGDMA_TX, SGDMA_RX, TSE_PHY_AUTO_ADDRESS, 0, DESCRIPTOR_MEMORY) };
- หลัง:
alt_tse_system_info tse_mac_device[MAXNETS] = { TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(QSYS_TOP_TSE_MAC, 0, QSYS_TOP_SGDMA_TX, QSYS_TOP_SGDMA_RX, TSE_PHY_AUTO_ADDRESS, 0, QSYS_TOP_DESCRIPTOR_MEMORY) };
- ก่อน:
- สร้างโครงการแอปพลิเคชันซอฟต์แวร์ใหม่
ข้อมูลนี้มีกําหนดที่จะรวมไว้ในการออกแบบตัวอย่างNios IIและ TSE ในอนาคต
เอกสาร