硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1288|回复: 4
收起左侧

[ThreadX全家桶] NetXDuo在CubeMX6.6.1下, x-cube-azrtos-f4 V1.1.0例程中以太网驱动部分和以前的不一样

[复制链接]

3

主题

1220

回帖

1229

积分

至尊会员

积分
1229
发表于 2022-8-7 19:03:57 | 显示全部楼层 |阅读模式
本帖最后由 morning_enr6U 于 2022-8-8 08:58 编辑

nx_stm32_eth_driver_429.c (138.62 KB, 下载次数: 8)

[C] 纯文本查看 复制代码
static UINT  _nx_driver_hardware_initialize(NX_IP_DRIVER *driver_req_ptr)
{

    /* Default to successful return.  */
    driver_req_ptr -> nx_ip_driver_status =  NX_SUCCESS;

    /* Setup indices.  */
    nx_driver_information.nx_driver_information_receive_current_index = 0;
    nx_driver_information.nx_driver_information_transmit_current_index = 0;
    nx_driver_information.nx_driver_information_transmit_release_index = 0;

    /* Clear the number of buffers in use counter.  */
    nx_driver_information.nx_driver_information_number_of_transmit_buffers_in_use = 0;

    /* Make sure there are receive packets... otherwise, return an error.  */
    if (nx_driver_information.nx_driver_information_packet_pool_ptr == NULL)
    {

        /* There must be receive packets. If not, return an error!  */
        return(NX_DRIVER_ERROR);
    }

#ifdef NX_DRIVER_ETH_HW_IP_INIT
    nx_eth_init();
#endif /* NX_DRIVER_ETH_HW_IP_INIT */

    ETH_DMAConfigTypeDef dmaDefaultConf;
    dmaDefaultConf.DMAArbitration = ETH_DMAARBITRATION_RX1_TX1;
    dmaDefaultConf.AddressAlignedBeats = ENABLE;
    dmaDefaultConf.BurstMode = ETH_BURSTLENGTH_FIXED;
    dmaDefaultConf.TxDMABurstLength = ETH_TXDMABURSTLENGTH_32BEAT;
    dmaDefaultConf.RxDMABurstLength = ETH_RXDMABURSTLENGTH_32BEAT;
    dmaDefaultConf.FlushRxPacket = DISABLE;
#ifndef STM32_ETH_HAL_LEGACY
    dmaDefaultConf.PBLx8Mode = DISABLE;
    dmaDefaultConf.RebuildINCRxBurst = DISABLE;
    dmaDefaultConf.SecondPacketOperate = ENABLE;
    dmaDefaultConf.TCPSegmentation = DISABLE;
    dmaDefaultConf.MaximumSegmentSize = 536;
#endif
#ifdef STM32_ETH_HAL_LEGACY
    dmaDefaultConf.DropTCPIPChecksumErrorFrame = ENABLE;
    dmaDefaultConf.ReceiveStoreForward =  DISABLE;
    dmaDefaultConf.TransmitStoreForward =  ENABLE;
    dmaDefaultConf.TransmitThresholdControl =  ENABLE;
    dmaDefaultConf.ForwardErrorFrames =  DISABLE;
    dmaDefaultConf.ReceiveThresholdControl =  DISABLE;
    dmaDefaultConf.SecondFrameOperate =  DISABLE;
    dmaDefaultConf.EnhancedDescriptorFormat =  DISABLE;
    dmaDefaultConf.DescriptorSkipLength =  DISABLE;
#endif
    /* enable OSF bit to enhance throughput */
    HAL_ETH_SetDMAConfig(e_handle, &dmaDefaultConf);

    FilterConfig.PromiscuousMode = DISABLE;
    FilterConfig.HashUnicast = DISABLE;
    FilterConfig.HashMulticast = DISABLE;
    FilterConfig.DestAddrInverseFiltering = DISABLE;
    FilterConfig.PassAllMulticast = DISABLE;
    FilterConfig.BroadcastFilter = ENABLE;
    FilterConfig.SrcAddrInverseFiltering = DISABLE;
    FilterConfig.SrcAddrFiltering = DISABLE;
    FilterConfig.HachOrPerfectFilter = DISABLE;
    FilterConfig.ReceiveAllMode = DISABLE;
    FilterConfig.ControlPacketsFilter = 0x00;

    /* Set Tx packet config common parameters */
    memset(&TxPacketCfg, 0, sizeof(ETH_TxPacketConfig));
    TxPacketCfg.Attributes = ETH_TX_PACKETS_FEATURES_CSUM ;
    TxPacketCfg.CRCPadCtrl = ETH_CRC_PAD_DISABLE;

    /* Clear the number of buffers in use counter.  */
    nx_driver_information.nx_driver_information_multicast_count = 0;

    /* Return success!  */
    return(NX_SUCCESS);
}

这里只是一个API,以太网硬件初始化部分,其它的API也不大一样,硬汉大哥有没有移植过这个版本的?这里和教程差距较大,不知道是不是新版本的ST改良了驱动?
ST新驱动昨天漏发了,今天补上。
nx_stm32_eth_driver.c (105.36 KB, 下载次数: 10)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2022-8-8 09:27:11 | 显示全部楼层
好的,我对比下。
回复

使用道具 举报

3

主题

1220

回帖

1229

积分

至尊会员

积分
1229
 楼主| 发表于 2022-8-8 09:32:37 | 显示全部楼层
eric2013 发表于 2022-8-8 09:27
好的,我对比下。

感谢硬汉大哥的回复
回复

使用道具 举报

0

主题

21

回帖

21

积分

新手上路

积分
21
发表于 2022-11-8 11:19:52 | 显示全部楼层
我也发现这个问题,困惑! 只能说明ST有关网络驱动这部分代码一直在改进中(因而不稳定、不可靠) 。如有需要,欢迎与我进一步研究NX.  guohuimao@163.com
回复

使用道具 举报

3

主题

1220

回帖

1229

积分

至尊会员

积分
1229
 楼主| 发表于 2022-11-8 14:57:00 | 显示全部楼层
目前用它新的驱动,还算稳定。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-20 07:43 , Processed in 0.259658 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表