主题中讨论的其他器件:HALCOGEN
您好!
在我们的应用中、我们不使用任何类型的中断。 我们需要实施/使用 TI LwIP 以太网堆栈。 但是、我认为该堆栈基于中断。
我的问题是、是否可以使用 EMAC 模块的轮询方法而不是中断? 是否有任何应用程序或代码可用于相同的应用程序或代码?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
QJ、
在我们的应用中、我们已将 PLL1和 PLL2时钟配置为220Mhz。
现在、我们必须在代码中合并以太网 EMAC 和 MDIO 模块。 我们遵循以下针对以太网的指南。
http://processors.wiki.ti.com/index.php/HALCoGen_Ethernet_Driver_and_lwIP_Integration_Demonstration
使用 HALCoGen GUI 配置 EMAC 和 MDIO
1.在‘PLL’选项卡下,将两个 PLL 的乘法器更改为120,这样两种情况下的输出频率都为160.00 MHz。
2.在‘GCM’选项卡下,将 VCLKA4分频器的值更改为2,这样 VCLKA4 (对于 RM46x/TMS570LS12x 器件,为 VCLKA4_DIVR_EMAC)的输出为40.00 MHz。
为了使以太网工作、是否需要将时钟配置为160MHz? 如果 我们将时钟保持在220Mhz、以太网模块是否工作?
您好!
可以为 EMAC 配置 vclka4至40MHz。
我没有用于轮询模式的示例代码。 为您的应用程序修改当前项目非常简单。 RX ISR 为:
hdkif_rx_inthandler (struct netif * intif){...} 在 hdkif.c 中
RXPENDn 是接收通道0至7的接收数据包完成中断标志:
if (intr_FLAGS & EMAC_MACINVECTOR_RXPEND){.}
QJ、
在基于当前中断的 LwIP 协议中、DHCP 或静态 IP 通过中断。
对于 LwIP 轮询,当前在 while 循环中,我们将轮询相应的 TX 和 RX 标志,并且它工作正常。 对于 IP Ping、我们会得到响应、TI Hercules 网页也会打开。
您能不能帮助我们识别在轮询时获取 DHCP IP (在函数 lwip_init()中)所需的 LwIP 堆栈更改 ?