AT32 EMAC DNS Client

AN0057

应用笔记

AT32 EMAC DNS Client

前言

随着物联网的发展,各式各样的装置都必须具备连网的能力,单芯片也不例外,为此我们以雅特力的AT32F407/AT32F437系列,演示了一系列的范例,以其用户能基于这些范例,使用雅特力的开发板发展出自己所需要的功能。

支持型号列表:

支持型号

具备EMAC的型号

目录

1                   概述... 5

1.1        硬件资源... 5

1.2        软件资源... 5

2                   AT32 dns client程序配置.. 6

2.1        管脚配置... 6

2.2        LwIP配置... 6

2.3        软件流程... 6

2.4        测试结果... 7

3                   版本历史.. 9

表目录

表1. 管脚配置... 6

表2. 文档版本历史... 9

图目录

图1. 配置芯片的IP地址... 6

图2. 初始化DNS客户端... 7

图3. 串口打印DNS解析结果... 8

图4. 验证DNS解析结果... 8

  1. 概述

域名系统(Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

本使用指南会介绍BSP里,dns客户端具体的使用方法。

    1. 硬件资源
  1. DM9162 以太网模块
  2. AT-START-F407 V1.0 实验版
  3. 以太网线
  4. 串口打印工具
    1. 软件资源
  1. dns client, dns客户端源程序,运行dns客户端域名解析程序
  1. AT3 dns client程序配置
    1. 管脚配置

1. 管脚配置

EMAC信号

管脚

EMAC_MDC

PC1

EMAC_MDIO

PA2

EMAC_RMII_REF_CLK

PA1

EMAC_RMII_CRS_DV

PD8

EMAC_RMII_RXD0

PD9

EMAC_RMII_RXD1

PD10

EMAC_RMII_TX_EN

PB11

EMAC_RMII_TXD0

PB12

EMAC_RMII_TXD1

PB13

    1. LwIP配置

硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站

由于整个协议栈已经整合到代码中,大部分的内容都无须修改,需要修改的内容主要包括下面两个部分:

  1. 根据自己的网段去设定IP地址及闸口地址,这两个全局变量宣告在netconf.c里面;
  2. nds.c中配置DNS_SERVER_ADDRESS,用以选择DNS服务器地址。

注意,在本例程中是将开发板作为DNS客户端连接到DNS服务器进行域名解析,所以IP地址需要设定为能够连接互联网的网段。

1. 配置芯片的IP地址

    1. 软件流程
  1. 在LwIP配置代码中修改IP地址为可连接互联网的网段;
  2. 在初始化EMAC和LwIP之后,呼叫dns_init(), 即可开启dns client功能;
  3. 然后执行dns_test函数对预先定义的域名DOMAIN_NAME "www.arterytek.com" 进行解析;
  4. 解析结果通过回调函数parsing_result()在串口USART1上打印。

2. 初始化DNS客户端

    1. 测试结果
  1. 将开发板通过网线连接至路由器或网络接口
  2. 下载程序,并复位开发板
  3. 打开PC端的串口工具软件,域名解析成功后会通过串口打印出解析结果,即域名对应的IP地址。

3. 串口打印DNS解析结果

  1. 在PC端通过命令提示符的ping命令验证解析结果。

4. 验证DNS解析结果

  1. 版本历史

2. 文档版本历史

日期

版本

变更

2022.04.13

2.0.0

最初版本

2023.06.19

2.0.1

文档格式修订

                                                                                   

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值