大家好,我需要帮助让以太网与EDK 10.1.3 formy XUPV2P一起工作。
我希望能够运行2.6 xilinx内核,支持大多数外设。
除了以太网核心之外,一切似乎都有效.Base-System-Builder建议使用xps_ethernetlitepcore。
但是我找不到这个pcore的linux驱动程序。
所以我试图添加xps_ll_temac pcore。因此我做了三种不同的事情:1。
为data / system.ucf2增加了一些网。
将这些网络添加到system.mhs3。
将xps_ll_temac硬件添加到system.mhs并将网络连接到ports.Below此消息您可以找到相应文件的修改内容。硬件综合会引发一些警告。
现在,我决定忽略它们。
不知道这是不是一个好主意。但是在最后一步中,我想使用device-tree为我的内核生成一个dts文件。
但这失败了一个有点奇怪的错误消息。现在我的问题是:1。
我是否将xps_ll_temac的正确端口连接到正确的网络?2。
这个错误信息来自哪里?3。
你有什么想法我做错了吗?
错误消息:[...] IP连接到总线:plb0-master DPLB0 plb0 ppc405_0-master IPLB0 plb0 ppc405_0-slave SPLB plb0 xps_bram_if_cntlr_1-slave SPLB plb0 RS232_Uart_1-slave SPLB plb0 SysACE_CompactFlash-slave MPMC_CTRL plb0 DDR_SDRAM-slave SPLB plb0 xps_intc_0-
slave SPLB plb0 xps_ll_temac_0ERROR:MDT - xget_value name:提供了一个NULL句柄ERROR:MDT - device-tree() - 在执行“xget_value $ inhandle”名称“”(过程“xget_hw_name”第2行)时调用的预期整数但得到“”
在“slave_ll_temac_port $ slave $ intc 0”中调用的“xget_hw_name $ ll_ip_handle”(程序“slave_ll_temac_port”第28行)中的“slave_ll_temac $ slave $ intc”调用“(slave_ll_temac”第4行)(“xps_ll_temac”第4行)
)从“switch -exact $ type {”opb_intc“ - ”xps_intc“{#interrupt controllers lappend node [gen_intc $ slave $ intc”interrupt-controller“”C_NUM_IN ...“(程序”gener_slave“第4行)中调用
来自“gener_slave $ bus_node $ ip $ intc_handle”(
从“switch $ proctype {”microblaze“{set intc [get_handle_to_intc $ proc_handle”Interrupt“中调用的”bus_bridge $ hwproc_handle $ intc 0“DPLB0”“(”ppc405“第13行)调用的程序”bus_bridge“第82行
]设置toplevel [gen_microblaze $ toplevel $ hwproc_handle ...“(程序”generate_device_tree“第47行)从”generate_device_tree“中调用xilinx.dts”$ bootargs $ consoleip“(procedure”:: sw_device-tree :: generate“第10行
)从“:: sw_device-tree :: generate 434148464”内部调用ERROR:MDT - 运行“generate”处理器ppc405_0时出错... make:*** [ppc405_0 / lib / libxil.a]错误2Done!
更改为system.mhs的顶部:PORT TX_ENABLE = tx_enable_net,DIR = OPORT RX_DATA = rx_data_net,DIR = I,VEC = [3:0] PORT RX_DATA_VALID = rx_data_valid_net,DIR = IPORT RX_ERROR = rx_error_net,DIR = IPORT RX_CLOCK = rx_clock_net
,DIR = IPORT ENET_RESET_Z = enet_reset_z,DIR = OPORT CARRIER_SENSE = carrier_sense_net,DIR = IPORT COL_DETECT = col_detect_net,DIR = IPORT ENET_SLEW0 = enet_slew0_net,DIR = OPORT ENET_SLEW1 = enet_slew1_net,DIR = OPORT MDIO = mdio_net,DIR = OPORT MDC = mdc_net,
DIR = OPORT MDINIT_Z = mdinit_z_net,DIR = IPORT PAUSE = pause_net,DIR = OPORT TX_CLOCK = tx_clock_net,DIR = IPORT TX_ERROR = tx_error_net,DIR = OPORT TX_DATA = tx_data_net,DIR = O,VEC = [3:0] PORT SSN_DATA = ssn_data_net
,DIR =对system.mhs的进一步更改:BEGIN xps_ll_temacPARAMETER INSTANCE = xps_ll_temac_0PARAMETER HW_VER = 1.01.bPARAMETER C_TEMAC_TYPE = 2PARAMETER C_PHY_TYPE = 0PARAMETER C_BUS2CORE_CLK_RA
tiO = 1PARAMETER C_BASEADDR = 0x81c00000PARAMETER C_HIGHADDR = 0x81c0ffffBUS_INT
ERFACE SPLB = plb0#PORT GTX_CLK_0 = sys_clk_s#PORT GTX_CLK_0 = temac_clk_sPORT MII_TXD_0 = tx_data_netPORT MII_TX_EN_0 = tx_enable_netPORT MII_TX_ER_0 = tx_error_netPORT MII_TX_CLK_0 = tx_clock_netPORT MII_RXD_0 = rx_data_netPORT MII_RX_DV_0 = rx_data_valid_netPORT MII_RX_ER_0 = rx_error_netPORT MII_RX_CLK_0 = rx_clock_netPORT MDIO_0 = mdio_netPORT MDC_0 = mdc_netPORT TemacPhy_RST_n = enet_reset_zPORT LlinkTemac0_CLK = sys_clk_sPORT
TemacIntc0_Irpt = TemacIntc0_IRQEND
谢谢你的帮助!
问候,扬
0