zoukankan      html  css  js  c++  java
  • 【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread--网络功能

    随着嵌入式系统功能的多样化以及网络在各个领域中的广泛应用,具备网络功能的嵌入式设备拥有更高的使用价值和更强的通用性。RT-Thread系统提供了一套SAL(套接字抽象层)组件,方便我们网络相关的开发。iCore3搭载W5500网络接口,我们这次带来rt-thread+SAL+W5500的以太网通信。

    一、配置W5500的相关GPIO,选择时钟源

    1.1 我们打开../BSP/STM32/STM32F407_gingko_iCore3/board/CubeMX_Config来进行SPI(W5500挂载在SPI总线上)引脚的配置,注意与原理图引脚一致,PA7--SPI1_MOSI、PB3--SPI1_SCK、PB4--MISO,这里仍然是只配置IO,其他参数不予更改。配置完成后点击CREATE CODE。

    1.2 CubeMX生成工程后,只保留红色方框内的文件,其他的两个文件夹可以删除掉。

    1.3 复制刚生成的src文件夹main.c文件夹中的函数SystemClock_Config(void)到board.c。这里内核初始化时要调用该函数进行时钟配置。 

    二、打开SPI设备 

    2.1打开../BSP/STM32/STM32F407_gingko_iCore3/board/Kconfig:

    2.2点击保存,打开Env工具,输入menuconfig命令,使能SPI设备:

    2.3保存退出,输入scons --target=mdk5生成工程,打开putty,选择正确的端口号,编译后下载到开发板,输入list_device命令,既可查看:

    三、更新软件包

    3.1打开../BSP/STM32/STM32F407_gingko_iCore3文件中,在空白处右击,选择“ConEmu Here”:

    输入pkgs --upgrade更新软件源:

    3.2输入menuconfig命令打开其界面,在IoT-internet of things中选中WIZnet:

    保存退出,此时退出ConEmu后再重新打开,输入pkgs --update下载软件包:

    四、添加设备驱动文件

    4.1在../BSP/STM32/STM32F407_gingko_iCore3/board文件夹下,添加一个设备文件,在文件夹下建立一个.c文件(代码如下):

    4.2更改SConscript脚本,讲.c文件添加到工程中:

    五、挂载W5500设备

    5.1打开../BSP/STM32/STM32F407_gingko_iCore3/board/Kconfig文件,添加一下代码:

    5.2打开Env工具,使用menuconfig配置工程,启动SAL:

    5.3修改硬件配置,比对rt-thread引脚编号(在drv_gpio.c文件中查询),得知iCore3开发板上的INT连接的是PG2引脚对应编号为98,RST为硬件复位,可以选择空闲引脚编号,这里选择编号96:

    5.4启用SPI1:

    5.5保存退出,在Env中输入命令:scons --target=mdk5生成工程,编译后下载到开发板,输入list_device:

    输入ifconfig可以打印板子的网络状态,正常获得IP,便是网络驱动正常:

    打开电脑WIN+R输入CMD打开命令行,输入ipconfig查看电脑的IP,此时应关闭电脑的防火墙:

    输入ping 192.168.1.100(iCore3板子的IP地址),可以ping通:

    在putty中,输入ping 192.168.1.123(电脑IP),可以ping通:

    六、更改iCore3板子IP地址

    可通过Env配置固定的IP地址:

    再次输入:scons --target=mdk5生成工程。

    七、tcp client/udp client例程

    完成以上工作,就可以做网络开发了,这里我们以tcp client/udp client为例:

    首先打开文件系统:

    在软件包中开启基础实例代码tcp client与udp client,路径为:RT-Thread online packages->miscellaneous packages->samples:kernel and components samples->a network_samples package for rt-thread:

    点击保存退出配置界面,在Env中输入pkgs --update下载软件包,输入scons --target=mdk5生成工程,打开编译,并下载代码:

    7.1打开网络调试助手工具搭建一个TCP服务器,记录下打开的端口号:

    在shell中输入tcpclient PC的IP地址及端口号,点击enter提示连接成功:

    点击网络调试助手中的发送按钮,提示发送信息,并有返回信息:

    在putty中也有返回信息:

    7.2将协议切换为UDP:

    在shell中输入udpclient PC的IP地址及端口号:

     代码包下载:

    链接:https://pan.baidu.com/s/1sY-WcyCDUUj5KkmK3ZWzPw

    提取码:wjdx

  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/12901649.html
Copyright © 2011-2022 走看看