TI中文支持网
TI专业的中文技术问题搜集分享网站

6678网口初始化以及收发函数

尊敬的工程师您好,我想在6678平台移植lwip协议。协议的移植少不了对网卡初始化以及底层收发的操作,因此我想知道这些函数可以在哪里找到?

Allen35065:

C:\ti\pdk_c667x_2_0_0\packages\ti\transport\ndk\nimu

hongshen zhai:

回复 Allen35065:

非常感谢您的解答,这个库我有研究过。根据我之前的理解,现在有两个问题还需要向您请教一下:

一、在Init_CPSW()函数中调用了初始化MDIO的函数,这个函数目前是空的,是不是说6678平台的以太网芯片不需要配置初始化?

二、nimu_eth_evmc6678l这个工程是基于ndk的,Emac_send()和EmacRXPktISR()是发送函数和接收中断服务函数,函数里好像是通过队列的形式读取和发送数据的,具体的好像是QMSS机制下的PKTDMA。这里面的东西我在移植lwip协议的过程中可以直接使用作为底层收发的操作吗?

hongshen zhai:

回复 Allen35065:

非常感谢您的解答,这个库我有研究过。根据我之前的理解,现在有两个问题还需要向您请教一下:

一、在Init_CPSW()函数中调用了初始化MDIO的函数,这个函数目前是空的,是不是说6678平台的以太网芯片不需要配置初始化?

二、nimu_eth_evmc6678l这个工程是基于ndk的,Emac_send()和EmacRXPktISR()是发送函数和接收中断服务函数,函数里好像是通过队列的形式读取和发送数据的,具体的好像是QMSS机制下的PKTDMA。这里面的东西我在移植lwip协议的过程中可以直接使用作为底层收发的操作吗?

Allen35065:

回复 hongshen zhai:

这只是个例子,MDIO一般用来读取PHY 芯片内的状态寄存器,比如协议检测插拔网线的时候还是需要使用的。

nimu基于的底层是PDK的drv和csl库 C:\ti\pdk_c667x_2_0_0\packages\ti 

需要把底层的api做一些了解后将其植入到lwip协议层。

可以先用C:\ti\pdk_c667x_2_0_0\packages 里的脚本建立几个example熟悉一下,注意PDK 2.0以后的版本内的示例工程需要CCS 6.1上的版本才能使用。

hongshen zhai:

回复 Allen35065:

您好,非常感谢您的回复,我在您说的目录下找到了drv和csl的库,nimu工程很多部分的初始化确实是用的这些对寄存器进行了操作。

1.操作底层phy芯片88E1111的函数看不到的,板卡上电时需要配置芯片工作方式等等操作在numu_eth_evm6678l及platfom_lib_evm6678l工程都找不到。在这两个工程中可以找到对mac、switch、sgmii、serdes的初始化,这些配置看起来更像是针对6678本身,而不是物理芯片的配置。之前在一个帖子中Marvin Liang 这样回复:“ C6678L EVM上的PHY比较简单,跑PDK例子的时候,MDIO不需要初始化,也不必通过MDIO来配置PHY。当然你可以尝试这样做,硬件条件是允许的。”因此我想确定一下这个情况,因为在移植lwip协议的时候low_level_init函数里需要添加用户自己所用芯片的初始化函数。

2.6678中的以太网数据包都是由navigator通过队列和描述符的方式进行管理和搬运的。所以在移植过程中对芯片数据的收发的底层操作是不是就是对队列的操作?

hongshen zhai:

回复 Allen35065:

您好,非常感谢您的回复,我在您说的目录下找到了drv和csl的库,nimu工程很多部分的初始化确实是用的这些对寄存器进行了操作。

1.操作底层phy芯片88E1111的函数看不到的,板卡上电时需要配置芯片工作方式等等操作在numu_eth_evm6678l及platfom_lib_evm6678l工程都找不到。在这两个工程中可以找到对mac、switch、sgmii、serdes的初始化,这些配置看起来更像是针对6678本身,而不是物理芯片的配置。之前在一个帖子中Marvin Liang 这样回复:“ C6678L EVM上的PHY比较简单,跑PDK例子的时候,MDIO不需要初始化,也不必通过MDIO来配置PHY。当然你可以尝试这样做,硬件条件是允许的。”因此我想确定一下这个情况,因为在移植lwip协议的时候low_level_init函数里需要添加用户自己所用芯片的初始化函数。

2.6678中的以太网数据包都是由navigator通过队列和描述符的方式进行管理和搬运的。所以在移植过程中对芯片数据的收发的底层操作是不是就是对队列的操作?

赞(0)
未经允许不得转载:TI中文支持网 » 6678网口初始化以及收发函数
分享到: 更多 (0)