资源描述:
《arm课程设计——udp通信new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UDP通信实验【摘要】利用基于嵌入式实时操作系统μC/OS-II的ZLG/IP软件包,利用实验板光盘提供的UDPtest软件可以实现实验板跟PC机的数据收发。【关键词】ARMUDPμC/OS-II操作系统21
目录第1章硬件实现11.1RTL8019AS网络控制器介绍1第2章µC/OS-II操作系统32.1µC/OS-II系统简介32.2µC/OS-II的特点32.3任务模式32.4支持的指令集42.5移植µC/OS-II4第3章ZLG/IP软件包结构和配置63.1ZLG/IP软件包结构6第4章设计过程84.1设计步骤84.2实验程序104.2.1宏定义104.2.2RTL8019AS监听
2、任务114.2.3UDP通信程序124.2.4创建系统任务并初始化144.2.5主程序154.2.6定时器中断控制16第5章实验结果19第6章课程设计体会2121
第1章硬件实现1.1RTL8019AS网络控制器介绍RTL8019AS是一种全双工即插即用的以太网控制器,它在一块芯片上集成了RTL8019内核和一个16KB的SDRAM存储器。它兼容RTL8019控制软件和NE20008bit或16bit的传输,支持UTP,AUI,BNC和PNP自动检测模式,支持外接闪烁存储器读写操作,支持I/O口地址的完全解码,具有LED指示功能。其接口符合Ethernet2和IEEE802.3(10Bas
3、e5,10Base2,10BaseT)标准。 RTL8019AS采用100脚PQFP封装,其主要引角功能如下: 引角1-4,97-100:中断控制INT0-7; 引角33:复位控制; 引脚34:使能控制角AEN,低电平有效; 引脚6,7,70,89:数字电源,+5V; 引脚14,28,83,86:数字地GND; 引脚47,57:模拟电源:+5V; 引脚44,52:模拟地; 引脚7-13,15,16,18-27:ISA地址总线; 引脚36-43,87,88,90-95:ISA数据总线; 引脚31:BootROM读操作控制; 引脚32:BootROM写操作控制; 引脚
4、62:RX接收数据显示LED1脚; 引脚63:TX发送数据显示LED2脚; 引脚58,59:接收数据TPIN+/-; 引脚45,46:发送数据TPOUT+/-;引脚50,51:外接晶体。21
图1RTL8019AS接线图21
第1章µC/OS-II操作系统1.1µC/OS-II系统简介µC/OS-II读做“microCOS2”,意为“微控制器操作系统版本2”。µC/OS-II是著名的、源码公开的实时内核,可用于各类8位、16位和32位单片机、arm或DSP等等。µC/OS-II是一个完整的、可移植、可固化、可剪裁的占先式实时多任务内核。应用程序处于整个系统的顶层.每个任务都可以认为自
5、己独占了CPU,因而可以设计成为一个无限循环。1.2µC/OS-II的特点l可移植性(portable)l可固化(ROMmable)l可剪裁(scalable)l可剥夺(preemptive)l多任务l可确定性l任务栈l系统服务l中断管理l稳定性与可靠性多任务是指:µC/OS-II可以管理64个任务,然而,µC/OS-II的作者建议用户保留8个给µC/OS-II。这样,留给用户的应用程序最多可有56个任务。系统服务指:µC/OS-II提供很多系统服务,例如信号量、互斥信号量、时间标志、消息邮箱、消息队列、块大小固定的内存的申请与释放及时间管理函数等。中断管理指:中断可以使正在执行的任务暂时
6、挂起,如果优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。1.3任务模式ARM7处理器核具有用户、系统、管理、中止、未定义、中断和快中断七种模式。21
用户模式(USERMODE)是ARM通常执行状态,用于执行大多数应用程序;快速中断模式(FIQMODE)支持数据传输或通道处理;中断模式(IRQMODE)用于通用中断处理;超级用户模式(SVCMODE)是一种操作系统受保护的模式:数据中止模式(ABTMODE)指令预取指中止、数据中止时进入该模式;未定义模式(UNDMODE)当执行未定义的指令时进入该模式;系统模式(SYSMODE)是操作系
7、统一种特许的用户模式。除了用户模式之外,其他模式都归为特权模式,特权模式用于中断服务、异常或者访问受保护的资源特权模式中除系统模式之外另5种模式又称为异常模式,在移植过程中必须设置中断向量表来处理异常。uCOSII的移植主要处理标准中断(IRQ)、快速中断(FIQ)和软件中断(SWI)。1.1支持的指令集带T变量的ARM7处理器核具有两个指令集:标准32位ARM指令集和16位Thumb指令集,两种指令集有不同的应用范围,