手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

这篇具有很好参考价值的文章主要介绍了手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、开发环境

rt-thread发布版本4.1.0;

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

bsp包选用的是gd32目录下的gd32450z-eval

rt-thread-v4.1.0\bsp\gd32\gd32450z-eval\

开发板gd32f450z系列开发板。

二、手动添加以太网ETH外设

先看下初始结构

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

可以看到,配置中什么也没有。

手动添加步骤如下:

①复制相应的驱动到gd32_drivers文件夹中,同时修改该文件夹中的SConscript文件(参考别的bsp包进行修改);

三个文件,分别是: drv_enet.c、synopsys_emac.c、synopsys_emac.h

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

# add Ethernet drivers.   
if GetDepend('RT_USING_LWIP'):       
  src += ['drv_enet.c', 'synopsys_emac.c']

②在board文件中打开Kconfig文件,添加信息如下(参考别的bsp包进行修改),保存并查看;

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

config BSP_USING_ETH
           bool "Enable Ethernet"
           select RT_USING_LWIP
           default n
           if BSP_USING_ETH
               choice
                   prompt "Select Eth PHY"
                   default PHY_USING_DP83848C
                   config PHY_USING_LAN8720A
                       bool "PHY_USING_LAN8720A"
                   config PHY_USING_DP83848C
                       bool "PHY_USING_DP83848C"
                   config PHY_USING_DM9161CEP
                       bool "PHY_USING_DM9161CEP"
               endchoice
           endif

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

③使能开启相应的配置,重新生成工程,查看文件结构;

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

④编译,报错。解决办法如下,添加rt_ssize_t的定义;

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

⑤修改相应的引脚(因为是官方的,这里不用修改),编译下载到开发板,打印信息如下;

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

输入ifconfig指令:

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

三、实验效果

编写tcp客户端测试指令,参考前面发表的文章<基于stm32单片机和ESP8266(WiFi模块)的tcp客户端测试>,将测试文件添加到工程。

开发板打印信息:

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

服务器接收信息:

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

欢迎关注个人公众号:嵌入式学习与实践

参考:Kconfig 和 SCons 的相关介绍

https://www.rt-thread.org/document/site/#/development-tools/build-config-system/Kconfig文章来源地址https://www.toymoban.com/news/detail-605911.html

到了这里,关于手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32&RT-Thread零基础入门】8. 基于 CubeMX 移植 RT-Thread Nano

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 利用RT_Thread操作系统实现三种不同的LED等闪烁 提示:以下是本篇文章正文内容,下面案例可供参考 cubemx配置参考教程: 基于 CubeMX 移植 RT-Thread Nano 后面程序所需的引脚 RT

    2024年02月09日
    浏览(48)
  • 基于stm32单片机和rt-thread操作系统的智能灯

    目    录 一、 总体概况 二、 各部分介绍 2.1  STM32F4开发板 2.2  光敏模块 2.3  麦克风模块 2.4  超声波模块 三、 RT-Thread介绍 四、 开发过程 五、 未来设想 六、 开发心得 总体概况 本次测试技术与信号处理课程作业,我利用了stm32单片机和rt-thread实时操作系统进行实践。

    2023年04月16日
    浏览(82)
  • 基于RT-Thread+STM32F407的蜂鸣器音乐播放器

    本项目为RT-Thread学习项目,参考于RT-Thread官网Demo示例 硬件基于STM32F407ZGT6正点原子探索者开发板+无源蜂鸣器模块 RTOS软件基于RT-Thread 4.0.5版本 编译器为官方的提供的RT-Thread Studio 会使用到STM32CubeMX 配置产生PWM波 会使用MobaXterm串口终端软件查看串口终端数据 官网Demo示例网址:

    2024年02月02日
    浏览(47)
  • 【STM32&RT-Thread零基础入门】 2. 新建RT-Thread项目

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具 RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌入式实时多线程操作系统。相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此之外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(

    2024年02月13日
    浏览(50)
  • 使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目

    STM32CubeMX下载 RT-Thread Studio下载 安装好RT-Thread Studio后,先打开RT-Thread SDK管理器确认有没有自己MCU需要的SDK包,直接安装好之后里面是有STM32F1系列的SDK包,其他的需要自己安装。 之后点击文件→新建→RT-Thread项目,根据自己需要配置好后点击完成就会生成RT-Thread项目。 新建项

    2024年02月11日
    浏览(52)
  • 【N32G457】 基于RT-Thread和N32G457的迷你键盘

    此文为参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛期间作品。 由于疫情影响加上其他各种原因,本应在3月25日结束的比赛在今日终于完成了一个比较完整的作品,无论是否可以参赛,还是希望对大家有所帮助。 先放个图。 机械键盘在最近几年发展迅猛,功能也逐

    2024年02月09日
    浏览(40)
  • STM32 + RT-Thread + LwIp + DM9000

    开发板:STM32F103ZET6(战舰) RT-Thread:5.0.0 LwIp:2.1.2 网卡芯片:DM9000 编译环境:keil 我简单了解了一下,在嵌入式中,网络芯片的使用方式大致有三种,如下: (MCU + MAC + PHY) (MUC + MAC) —— PHY MCU —— (MAC + PHY) 注意: 我用括号里面的表示在同一块芯片中 移植 RT-Thread 不是此文

    2024年02月07日
    浏览(50)
  • Rt-Thread 移植5--空闲线程和线程阻塞(KF32)

    src中定义idle.c clock.c 5.3.6 中断函数 irq.c main.c

    2024年02月06日
    浏览(43)
  • 【STM32&RT-Thread零基础入门】 4. 线程介绍(理论)

    前文中的最后一个任务发现,一个main()函数很难同时实现按键功能和闪灯功能,就好像人很难同时完成左手画圆右手画方一样,这种情况可以安排一人去画圆、一人去画方,并行进行就很容易了,两人各司其职,互不干扰。 操作系统中,一个线程就像做事的一个人。一个操作

    2024年02月12日
    浏览(41)
  • RT-Thread:STM32实时时钟 RTC开启及应用

    说明: STM32F103/407系列基于 RT-Thread 系统的 RTC 开启及应用 应用流程介绍。 完成以上系统配置,编译无误情况下RTC 就已经开启了。 官方 API 查询地址:https://www.rt-thread.org/document/api/rtc_sample_8c-example.html#a3 1.设置日期:设置系统日期但不修改时间 2.设置时间:设置系统时间但不

    2024年01月17日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包