用户工具

站点工具


icore4t_40

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
icore4t_40 [2020/09/30 16:57]
fmj 创建
icore4t_40 [2022/04/01 10:53] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-9-30 ​ |  fmj  |  初次建立 ​ |  |  V1.0  |  2020-9-30 ​ |  fmj  |  初次建立 ​ | 
行 8: 行 7:
  
  
-===== TM32CubeMX教程——LWIP_TCP_CLIENT出实验 ​=====+\\ 
 +\\ 
 +\\ 
 +\\ 
 +===== STM32CubeMX教程十——LWIP_TCP_SERVER以太网数据传输 =====
  
  
 1. 在主界面选择File-->​New Project或者直接点击ACCEE TO MCU SELECTOR  ​ 1. 在主界面选择File-->​New Project或者直接点击ACCEE TO MCU SELECTOR  ​
-{{ :icore4t:icore4t_cube_39_1.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_1.png?direct |}} 
 2. 出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32H750IBKx。 2. 出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32H750IBKx。
-{{ :icore4t:icore4t_cube_39_2.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_2.png?direct |}} 
 3. 配置RCC,使用外部时钟源 3. 配置RCC,使用外部时钟源
-{{ :icore4t:icore4t_cube_39_3.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_3.png?direct |}} 
 4. 配置调试引脚 4. 配置调试引脚
-{{ :icore4t:icore4t_cube_39_4.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_4.png?direct |}} 
 5. 将PA10,PB7,PB8设置为GPIO_Output 5. 将PA10,PB7,PB8设置为GPIO_Output
-{{ :icore4t:icore4t_cube_39_5.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_5.png?direct |}} 
 6. 引脚模式配置 6. 引脚模式配置
-{{ :icore4t:icore4t_cube_39_6.jpg?direct |}}  +{{ :icore4t:icore4t_cube_40_6.png?direct |}}  
-{{ :icore4t:icore4t_cube_39_7.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_7.png?direct |}} 
 7. 配置以太网 7. 配置以太网
-{{ :icore4t:icore4t_cube_39_8.jpg?direct |}}  +{{ :icore4t:icore4t_cube_40_8.png?direct |}}  
-{{ :icore4t:icore4t_cube_39_9.jpg?direct |}}  +{{ :icore4t:icore4t_cube_40_9.png?direct |}}  
-{{ :icore4t:icore4t_cube_39_10.jpg?direct |}}  +{{ :icore4t:icore4t_cube_40_10.png?direct |}}  
-{{ :icore4t:icore4t_cube_39_11.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_11.png?direct |}} 
 8. 时钟设置,选择外部高速时钟源,配置为最大主频 8. 时钟设置,选择外部高速时钟源,配置为最大主频
-{{ :icore4t:icore4t_cube_39_12.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_12.png?direct |}} 
 9. 工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK5.27 9. 工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK5.27
-{{ :icore4t:icore4t_cube_39_13.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_13.png?direct |}} 
 10. 点击Code Generator,进行进一步配置 10. 点击Code Generator,进行进一步配置
-{{ :icore4t:icore4t_cube_39_14.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_14.png?direct |}} 
   * **Copy all used libraries into the project folder**   * **Copy all used libraries into the project folder**
   * 将HAL库的所有.C和.H都复制到所建工程中   * 将HAL库的所有.C和.H都复制到所建工程中
行 49: 行 53:
   * 自行选择方式即可   * 自行选择方式即可
 11. 然后点击GENERATE CODE  创建工程 11. 然后点击GENERATE CODE  创建工程
-{{ :icore4t:icore4t_cube_39_15.jpg?direct |}} +{{ :icore4t:icore4t_cube_40_15.png?direct |}} 
 创建成功,打开工程。 创建成功,打开工程。
 \\ \\
行 81: 行 85:
   * BSD API提供了基于open-read-write-close模型的UNIX标准API,它的最大特点是使应用程序移植到其它系统时比较容易,但用在嵌入式系统中效率比较低,占用资源多。这对于我们的嵌入式应用有时是不能容忍的。   * BSD API提供了基于open-read-write-close模型的UNIX标准API,它的最大特点是使应用程序移植到其它系统时比较容易,但用在嵌入式系统中效率比较低,占用资源多。这对于我们的嵌入式应用有时是不能容忍的。
   * 其主要特性如下:   * 其主要特性如下:
-(1) 支持多网络接口下的IP转发; +  - 支持多网络接口下的IP转发; 
-(2) 支持ICMP协议; +  ​- ​支持ICMP协议; 
-(3) 包括实验性扩展的UDP(用户数据报协议); +  ​- ​包括实验性扩展的UDP(用户数据报协议); 
-(4) 包括阻塞控制、RTT 估算、快速恢复和快速转发的TCP(传输控制协议); +  ​- ​包括阻塞控制、RTT 估算、快速恢复和快速转发的TCP(传输控制协议); 
-(5) 提供专门的内部回调接口(Raw API),用于提高应用程序性能; +  ​- ​提供专门的内部回调接口(Raw API),用于提高应用程序性能; 
-(6) 可选择的Berkeley接口API (在多线程情况下使用) ; +  ​- ​可选择的Berkeley接口API (在多线程情况下使用) ; 
-(7) 在最新的版本中支持ppp; +  ​- ​在最新的版本中支持ppp; 
-(8) 新版本中增加了的IP fragment的支持; +  ​- ​新版本中增加了的IP fragment的支持; 
-(9) 支持DHCP协议,​动态分配ip地址。+  ​- ​支持DHCP协议,​动态分配ip地址。
  
  
行 140: 行 144:
   * iCore4T带有LAN8720A嵌入式以太网控制器,本实验实现TCP客户端功能。以PC作为服务器,iCore4T作为客户端,PC的IP地址192.168.0.1,端口号为60001,iCore4T的IP地址为192.168.0.10,端口随机。当客户端连接到服务器,TCP建立成功即可进行数据信息传输。实验原理图如下   * iCore4T带有LAN8720A嵌入式以太网控制器,本实验实现TCP客户端功能。以PC作为服务器,iCore4T作为客户端,PC的IP地址192.168.0.1,端口号为60001,iCore4T的IP地址为192.168.0.10,端口随机。当客户端连接到服务器,TCP建立成功即可进行数据信息传输。实验原理图如下
  
-{{ :icore4t:icore4t_arm_hal_40_3.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_4.png?direct |}}
 ==== 四、 实验程序 ==== ==== 四、 实验程序 ====
  
行 239: 行 243:
   - 也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。   - 也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。
  
-  ​注:STM32H750 ETH默认使用DMA功能。但是DTCM虽然和其他的MCU和RAM起始地址一样,却无法被DMA访问。也就是通用RAM的地址变了,但是编译器还是会把DTCM的地址作为通用RAM的起始地址。请将内存起始地址修改为D1域,操作步骤如图所示,也就是在RAM2上打勾。+  ​注:STM32H750 ETH默认使用DMA功能。但是DTCM虽然和其他的MCU和RAM起始地址一样,却无法被DMA访问。也就是通用RAM的地址变了,但是编译器还是会把DTCM的地址作为通用RAM的起始地址。请将内存起始地址修改为D1域,操作步骤如图所示,也就是在RAM2上打勾。
  
-{{ :icore4t:icore4t_arm_hal_40_4.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_5.png?direct |}}
 ==== 六、 实验现象 ==== ==== 六、 实验现象 ====
  
   * 在发送区编辑完要发送的数据信息后,点击发送即可收到发送的数据包。如图所示:   * 在发送区编辑完要发送的数据信息后,点击发送即可收到发送的数据包。如图所示:
-{{ :icore4t:icore4t_arm_hal_40_5.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_6.png?direct |}}
 ==== 附录1:电脑IP设置 ==== ==== 附录1:电脑IP设置 ====
  
   * 打开控制面板->​网络和 Internet->​网络和共享中心->​更改适配器设置->​以太网属性   * 打开控制面板->​网络和 Internet->​网络和共享中心->​更改适配器设置->​以太网属性
-{{ :icore4t:icore4t_arm_hal_40_6.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_7.png?direct |}}
   * Internet协议版本4,选择使用下面的IP地址,然后更改IP地址和默认网关   * Internet协议版本4,选择使用下面的IP地址,然后更改IP地址和默认网关
-{{ :icore4t:icore4t_arm_hal_40_7.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_8.png?direct |}}
 ==== 附录2 ==== ==== 附录2 ====
   * 1、TCP&​UDP测试工具安装   * 1、TCP&​UDP测试工具安装
行 257: 行 261:
   * 2、TCP&​UDP测试工具的使用   * 2、TCP&​UDP测试工具的使用
   * (1)打开测试工具,点击创建连接,弹出设置端口的窗口,如下图设置   * (1)打开测试工具,点击创建连接,弹出设置端口的窗口,如下图设置
-{{ :icore4t:icore4t_arm_hal_40_8.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_9.png?direct |}}
   * (2)客户端已经创建完成(如下图),点击连接。   * (2)客户端已经创建完成(如下图),点击连接。
-{{ :icore4t:icore4t_arm_hal_40_9.png?direct |}}+{{ :icore4t:icore4t_arm_hal_40_10.png?direct |}}
   * (3)iCore4T服务器自动连接服务器,即可通信。(若连接不成功,请关闭电脑防火墙)   * (3)iCore4T服务器自动连接服务器,即可通信。(若连接不成功,请关闭电脑防火墙)
    
icore4t_40.1601456225.txt.gz · 最后更改: 2020/09/30 16:57 由 fmj