从STM32F429迁移到GD32F450时,以太网驱动程序可能需要进行调整

[复制链接]
3465|19
 楼主| kepe 发表于 2024-5-31 23:40 | 显示全部楼层 |阅读模式
本帖最后由 kepe 于 2024-6-1 08:47 编辑

从STM32F429迁移到GD32F450时,以太网驱动程序可能需要进行调整。GD32F450和STM32F429虽然在很多方面兼容,但它们的外设细节和驱动程序可能有些许不同。因此,确保使用适用于GD32F450的正确驱动程序是关键。
1. 驱动程序更新
首先,确认您正在使用GD32F450的官方以太网驱动程序。GD32F450的驱动程序可以从GigaDevice的官方网站或相关的开发资源中获得。

2. 确认硬件配置
确保GD32F450的硬件配置与STM32F429一致,特别是在以太网PHY芯片和相关引脚连接上。检查硬件配置,包括时钟设置、引脚复用等。

3. 适配驱动程序
将GD32F450的以太网驱动程序与现有项目集成,并进行必要的适配。以下是一些关键点:

 楼主| kepe 发表于 2024-5-31 23:40 | 显示全部楼层
本帖最后由 kepe 于 2024-6-1 08:49 编辑

配置系统时钟
GD32F450的时钟配置可能与STM32F429不同。确保系统时钟和以太网时钟正确配置。以下是一个示例:

c
void SystemClock_Config(void)
{
    // 配置GD32F450的系统时钟
    // 根据您的具体需求配置时钟源、PLL、分频器等
}


 楼主| kepe 发表于 2024-5-31 23:40 | 显示全部楼层
本帖最后由 kepe 于 2024-6-1 08:50 编辑

初始化以太网外设
确保以太网外设的初始化代码与GD32F450兼容。以下是一个简化的示例:

c

void Ethernet_Init(void)
{
    // 启用以太网时钟
    rcu_periph_clock_enable(RCU_ETH);

    // 配置以太网引脚
    // 使用GD32F450的GPIO库函数配置引脚复用
    gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7);
    gpio_af_set(GPIOA, GPIO_AF_11, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7);

    // 其他引脚配置
    // ...

    // 配置以太网
    eth_deinit();
    eth_init();
}


 楼主| kepe 发表于 2024-5-31 23:40 | 显示全部楼层
本帖最后由 kepe 于 2024-6-1 08:50 编辑

处理中断
确保以太网中断处理程序与GD32F450的中断配置匹配。以下是一个示例:

c

void ETH_IRQHandler(void)
{
    // 处理以太网中断
    // 确保使用GD32F450的中断处理函数
    if (eth_interrupt_flag_get(ETH_INT_RPS))
    {
        eth_interrupt_flag_clear(ETH_INT_RPS);
        // 处理接收数据
    }
    if (eth_interrupt_flag_get(ETH_INT_TPS))
    {
        eth_interrupt_flag_clear(ETH_INT_TPS);
        // 处理发送数据
    }
}


夜游神ss 发表于 2024-6-4 15:35 | 显示全部楼层
给一个
FranklinUNK 发表于 2024-6-20 19:41 | 显示全部楼层
把底层的库替换一下应该就行吧
有何不可0365 发表于 2024-7-31 21:45 | 显示全部楼层
功能测试

在迁移完成后,对以太网通信进行功能测试,确保数据传输正常。
通过ping命令测试连接稳定性,传输文件或数据包测试实际性能。
亚瑟 发表于 2024-7-31 22:06 | 显示全部楼层
直接按照程序逻辑重写一遍
发货后已经wi 发表于 2024-9-30 23:45 来自手机 | 显示全部楼层
但它们的外设细节和驱动程序可能有些许不同
nqty 发表于 2024-10-14 15:37 | 显示全部楼层
从STM32F429迁移到GD32F450时,以太网驱动程序可能需要进行调整的位置主要包括硬件寄存器映射
ewyu 发表于 2024-10-14 16:32 | 显示全部楼层
STM32和GD32的硬件寄存器映射可能有所不同,因此需要检查并更新寄存器地址和位域定义
清芯芯清 发表于 2024-10-14 17:38 | 显示全部楼层
确保以太网相关的中断处理函数和优先级配置正确。
hight1light 发表于 2024-10-14 19:00 | 显示全部楼层
DMA配置,确保以太网DMA的配置正确,包括DMA通道、数据流和优先级
hhdhy 发表于 2024-10-14 19:12 | 显示全部楼层
PHY配置可能需要修改,保证PHY芯片的配置正确,包括复位、速度和双工模式
tiakon 发表于 2024-10-14 20:29 | 显示全部楼层
检查以太网驱动程序的软件层,确保所有函数和宏定义正确
teaccch 发表于 2024-10-14 21:00 | 显示全部楼层
在迁移完成后,进行全面的调试和验证,确保以太网功能正常工作
gongqijuns 发表于 2024-10-15 09:05 | 显示全部楼层
直接参考例程呗,我觉得GD应该也有相关的例程吧
eleg34ance 发表于 2024-10-15 11:16 | 显示全部楼层
其实有些时候,按照ST的例子直接改到GD的是可以的
gra22ce 发表于 2024-10-15 12:46 | 显示全部楼层
建议直接看看ST移植GD的手册,一般GD的官网会有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

346

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部