W5100E01-AVR(W5100评估板用户手册)(三)

Home / 博客 / W5100E01-AVR(W5100评估板用户手册)(三)

W5100E01-AVR是为AVR开发者提供的W5100评估板。本文是W5100E01-AVR的用户手册,希望对大家有所帮助。今天我们接着昨天的博文继续介绍:

第一部分在这里:W5100E01-AVR是什么?怎么用?(用户手册V1.0版)

W5100E01-AVR(W5100评估板用户手册)(一)

 

第二部分在这里:W5100E01-AVR是什么?怎么用?(二)(用户手册V1.0版)

W5100E01-AVR(W5100评估板用户手册)(二)

3. 程序向导
3.1. 存储器映射
3.1.1. 代码和数据存储器映射
评估板的存储器映射由128字节的代码存储器和64字节的数据存储器组成,数据存储器分为SRAM、W5100和文本LCD区域。除了这些,还有4K字节的AVR内部EEPROM。各种类型的环境变量记录在该EEPROM中。

<图3.1>,<表3-1>所示为评估板的系统存储器映射。

3.1.2. AVR内部的EEPROM映射
<图3-2>,<表3-2>表示AVR内部EEPROM映射。
请参考”evb/config.h”和”evb/config.c”

3.1.2.1. 系统信息
系统信息区域应用于记录系统信息,例如评估板的固件版本。

系统信息作为SYSINFO数据类型进行访问。

3.1.2.2. 网络信息
网络信息是用于评估板的网络配置信息。

网络信息作为NETCONF数据类型访问。

3.1.2.3. 信道信息

下表介绍了在W5100的4个信道使用应用程序。

信道信息用于记录在W5100的4个信道中使用的应用类型。

信道应用程序类型包括Loopback TCP服务器、Loopback TCP客户端、Loopback UDP、DHCP客户端和Web服务器。信道信息被定义为APPTYPE枚举类型。

信道信息可以被CHCONF数据类型访问。

3.2. 评估板固件
评估板固件的EVB main()函数可以分为两部分。管理程序为运行评估板设置各种环境变量,Loopback 程序用于测试W5100的性能。有许多因特网应用程序使用因特网协议,例如DHCP, HTTP, DNS, 和 ICMP协议。
让我们先来看下评估板组成的源列表,再来看下每个应用程序的源。

3.2.1. 源程序

3.2.2. 如何编译
在处理完SRC项目后,统一编译3.2.1节中的源程序。
W5100E01-AVR评估板固件的编译可以利用WINAVR和AVRSTUDIO进行处理。首先,在个人电脑上安装WINAVR和 AVRSTUDIO,然后通过AVRSTUDIO项目文件打开固件文件”~/sw/fw/W5100E01-AVR.aps”执行编译。
请务必检查AVRSTUDIO中Project菜单的Configuration选项编译环境的详细设置,关于设置方法,请参考AVR Studio用户指南。
WIZnet提供的固件是基于AVR-GCC 3.4.6的,无法被其他版本的编译器执行。
如果您使用的是之前版本的AVR-GCC 3.4.3,请参考”~/SW/FW/readme.txt”。

在编译结束后,在文件夹中会创建一个用户之前定义的十六进制文件,这个文件可以在Atmega128中编程。

因为评估板是一个小端系统,我们要定义SYSTEM_ENDIAN为_ENDIAN_LITTLE_并使用它。如果目标系统是大端,我们可以定义成_ENDIAN_BIG_。
如果W5100被用作其他模式而不是直接总线模式,期望使用的总线模式要被定义成__DEF_IINCHIP_BUS__,而不是__DEF_ IINCHIP_DIRECT_MODE__,如果更改了W5100的DEFINE OPTION,源代码必须重建。重建项目,请先使用”make clean”命令,再使用”make”。
假如是SPI模式,确保更改了W5100E01-AVR板的JP3配置,更多信息,请参考2.1.1节的评估板的布局&配置。

3.2.3. 如何下载
为了下载十六进制文件,我们使用AVRStudio和AVRISP电缆。
1) 连接AVRISP电缆与JP3的PM-A1口
2) 为评估板供电
3) 运行AVRStudio.exe
4) 在Device部分选择”ATmega128”
5) 在FLASH部分选择HEX文件
6) 单击”Program”按钮
想了解更多信息,参见”AVR工具指南.pdf”。

3.2.4. 评估板的main()函数
如果我们仔细查看main()函数,我们使用开发板的复位按钮初始化时,串口终端的管理程序需要等待一定的时间。这点上,如果串口终端执行管理程序的entering命令,评估板的环境就可以被设置,也可以运行ping请求程序,例如网络信息和信道信息。
如果管理程序结束,或者没有从RS232终端输入指令,则利用之前设置的网络信息执行并初始化W5100的4个信道中每个信道的应用程序。
<图3.3>展示了评估板main()函数的处理过程,请参考”main/main.c”。
如果DHCP客户端存在于应用程序中,DHCP客户端就通过调用’get_IP_DHCPS()’函数从DHCP服务器端获取网络信息。如果DHCP客户端应用程序不存在或者无法从DHCP服务器端获取网络信息,评估板将初始化为预设的网络信息。
完成初始化后,评估板调用每个注册的应用程序程序句柄运行测试程序。想了解更多DHCP客户端程序,请参考”3.2.6.5节DHCP客户端”。

3.2.5. 管理程序
管理程序不仅是可以通过RS232终端设置网络和信道信息的程序,也是一个可以通过RS232发送Ping请求给目的地的测试应用程序。

管理程序可以通过调用main()函数的check_manage()函数启动,check_manage()检测RS232终端是否有任何输入命令给管理程序,例如是否输入’M’ 或 ‘m’。如果命令被检测到,系统会通过manage_config()函数进入管理程序。如果用户改变了配置,评估板会自动重启并跳过check_manage()。

如果更新了评估板,评估板会自动重启更新配置。

3.2.5.1. 网络配置
网络配置是管理程序的子程序,是通过manage_network()函数建立的,用于设置评估板的网络信息。通常来说,在初始化设置后很难更新网络信息的MAC地址,因此,MAC地址设置只提供隐藏的菜单,不提供配置菜单,例如源地址、默认网关或子网掩码。而且MAC地址不会因为恢复出厂设置而改变,我们可以通过’M’ 或 ‘m’命令更新MAC地址。

 

3.2.5.2. 信道配置
信道配置是管理程序的一个子程序,由manage_config()函数组成,用以决定W5100每4个信道各应用哪个程序。
应用类型可以被设置成DHCP客户端、Loopback TCP服务器端/客户端、Loopback UDP和Web服务器程序。每个信道可以设置成任何一个以上提到的应用程序,但是,DHCP客户端只能使用第1信道,不能在其他信道上进行重复设置。
TCP服务器端程序(LB_TCPS,WEB_SERVER)可以在任意信道中被重复设置,这种情况下,可以使用相同的端口。这里,客户的数量就相当于端口的数量,其他的应用程序也可以通过信道被重复设置,但是不能使用相同的端口号。

 

 

这是本文的第三章的部分内容,后面的内容我们将会在今后的博文一一介绍,希望对大家有所帮助。欢迎大家的留言讨论。

 

更多有关W5100的博文请看这里:

http://blog.iwiznet.cn/?page_id=329

全硬件TCP/IP嵌入式以太网控制器——W5100E01-AVR http://blog.iwiznet.cn/?p=432

开源硬件-开源思潮到了? http://blog.iwiznet.cn/?p=316

WIZnet员工Richard培训笔记: WIZnet核心技术和产品对比 http://blog.iwiznet.cn/?p=29

 

也可进入我们的官方网站或博客查看更多。

如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。

可以直接留言或登录WIZnet官方网站:http://www.iwiznet.cn

公司微博是: http://weibo.com/wiznet2012

公司博客是:http://blog.iwiznet.cn/