毕业设计(论文)基于ucLinux的电子邮件客户端设计与实现.doc
《毕业设计(论文)基于ucLinux的电子邮件客户端设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于ucLinux的电子邮件客户端设计与实现.doc(46页珍藏版)》请在三一办公上搜索。
1、 University of South China 毕业设计(论文)题 目基于ucLinux的电子邮件客户端设计与实现学院名称 计算机科学与技术 指导教师 职 称 讲师 班 级 037 学 号 学生姓名 2007年6月1日目 录摘要:IAbstract :II引言1第一章 绪论21.1电子邮件简介及其研究意义21.1.1.电子邮件21.1.2.什么是POP3协议31.2.嵌入式uclinux操作系统31.3.嵌入式开发4第二章 嵌入式开发软硬件平台62.1.硬件开发平台62.1.1.S3C44B0X 的片上资源62.1.2.S3C44B0X的特性72.1.3.S3C44B0X开发板内部结构介
2、绍72.2.软件平台介绍82.2.1.软件系统开发流程图介绍82.2.2.ucLinux软件系统构建9第三章 POP协议的分析123.1.POP3的特点、客户端的工作流程123.2.POP3命令摘要及命令详解12第四章 基于uclinux的pop3协议客户端实现184.1 主要工作和步骤184.1.1 安装uClinux移植包184.1.2 安装交叉编译器184.1.3 .配置内核194.1.4 .编译uClinux224.2. SOCKET网络编程244.2.1 Socket概述244.2.2 Socket工作进程及函数介绍244.3.Pop3协议客户端工作流程304.4 POP3协议客户端
3、程序的实现304.4.1 POP3协议客户端程序实现的主要代码编写及注解314.4.2编写Makefile文件384.4.3修改user/Makefile文件。384.4.4修改config/config.in文件384.4.5 配置编译39第五章 总结40参考文献41谢辞42摘要:随着Internet的普及,传统信件的Internet版本电子邮件已经逐渐步入了我们的生活与工作。电子邮件和普通的邮件一样电子邮件也需要“邮局” 邮件服务器。在平日我们收取普通邮件的时候,我们常常会用一把带锁的箱子作为我们自己的信箱,而我们平日使用的电子邮件也有它们的暂时存放地POP服务器。与传统邮件进行类比,我们
4、使用账号和口令打开POP服务器就好比是我们在日常生活中打开自己平日的信箱一样方便简洁,所以POP3协议客户端是实现与服务器进行连接以及实现邮件接收的窗口。本毕业设计采用三星公司推出的S3C44B0做为CPU,通过移植ucLinux设计与实现了POP3协议的客户端。关键词: S3C44B0; POP3协议; 移植;客户端Abstract :With the widespread of Internet, traditional Internet edition letter- e-mail enters into our life and work. Email needs a “post of
5、fice”, which we call mail server, as the common letters. Usually, when we receive letters ,we often get an box with lock as our post box. similarily, our email also has its temporary settlement-POP server. Compared with traditional letters ,we need an account and password to open POP server ,which i
6、s as convenient as we open daily letters. So client portal of pop3 protocol is the bridge between the client and the server and the window of receiving mails.This thesis adopts the chip S3C44B0 of samsung as CPU to design and realize the user portal of pop3 protocol through transplanting ucLinux. Ke
7、yword: S3C44B0, pop protocol , transplante, user portal引言在日常的生活中,书信往来是我们日常生活中不可缺少的一个环节。随着Internet的普及,传统信件的Internet版本电子邮件已经逐渐步入了我们的生活与工作。在平日我们收取普通邮件的时候,我们常常会用一把带锁的箱子作为我们自己的信箱,而我们平日使用的电子邮件也有它们的暂时存放地POP服务器。与传统邮件进行类比,我们使用账号和口令打开POP服务器就好比是我们在日常生活中打开自己平日的信箱一样。 POP协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3,全称是 P
8、ost Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版 ,所以简称为 POP3。POP3仍采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是一个人拿着钥匙去信箱开锁取信一样的道理。本毕业设计的目的是基于uclinux下的POP协议客户端的实现, uclinux操作系统源码用c语言开发.下面是总个的POP3协议客户端介绍和实现过程。第
9、一章 绪论1.1电子邮件简介及其研究意义1.1.1. 电子邮件 电子邮件是Internet应用最广的服务:通过网络的电子邮件系统,您可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联络系,这些电子邮件可以是文字、图象、声音等各种方式。同时,您可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。这是任何传统的方式也无法相比的。正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。 每一个申请Inte
10、rnet帐号的用户都会有一个电子邮件地址。它是一个很类似于用户家门牌号码的邮箱地址,或者更准确地说,相当于你在邮局租用了一个信箱。因为传统的信件是由邮递员送到你的家门口,而电子邮件则需要自己去查看信箱,只是您不用跨出家门一步。 电子邮件地址的典型格式是abcxyz,这里之前是您自己选择代表您的字符组合或代码,之后是为您提供电子邮件服务的服务商名称,如user。同文件传输应用一样电子邮件(Electronic Mai1 简称E-mail)也是最早出现在ARPANET 中的应用是传统邮件的电子化它的诱人之处在于传递迅速在ARPANET上几秒钟就可以完成美国东西海岸间的邮件传递风雨无阻比人工邮件快了
11、许多,另外电子邮件还可以进行一对多的邮件传递同一邮件可以一次发送给许多人,最重要的是电子邮件是整个网络系统中直接面向人与人之间信息交流的系统它的数据发送方和接收方都是人所以极大地满足了大量存在的人与人通信的需求。因此如何构建高效稳定安全易用可扩展功能丰富的电子邮件系统是众多电信运营商ISP ICP 共同面临的问题。1.1.2. 什么是POP3协议POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户通过客户端和服务器进行连接然后从服
12、务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的,Pop3客户端通过向服务器发送命令请求服务。POP适用于C/S结构的脱机模型。脱机模型即不能在线操作,不像IMAP4(netscape支持IMAP4)当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。 服务器响应是由一
13、个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本+OK或-ERR指出相应的操作状态是成功还是失败在POP3协议中有三种状态,认可状态,处理状态,和更新状态。当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。1.2. 嵌入式uclinux操作系统操作系统是嵌入式设备软件的核心部分。由于它的存在,使得设备的功能有很大的扩展空间和伸缩性能。Linux是一种很受欢迎的类UNIX操作系统。uClinux这个英文单词中u表示Micro,小的意思,C表示Control,
14、控制的意思所以uClinux就是Micro-Control-Linux,字面上的理解就是针对微控制领域而设计的Linux系统。是一个源码开放的操作系统,面向没有MMU(Memory Management Unit)的硬件平台。它是linux的一个变种,主要的区别在于两者的内存管理机制和进程调度管理机制,同时为了适应嵌入式应用的需求,它的采用了romfs文件系统,并对linux上的c语言库glibc做了简化。运行uClinux的硬件平台主要包括如下几个部分:cpu(ARMv4指令集兼容)、uart、memory controller、定时器、flash存储器、sdram存储器、中断控制器和DMA
15、。编译环境和编译工具:uclinux操作系统源码绝大部分是用c语言开发的,有一些与硬件直接相关的代码则用特定于某一CPU体系结构的汇编来实现。这些源码只能用GNU的gcc编译工具来进行编译、链接。GNU gcc可以运行于Linux/Unix操作系统上。如果要在Windows平台上运行gcc,则必须安装Cygwin。Cygwin可以在Windows中安装一个linux的运行环境,这样就可以在windows下运行原本只能在linux下运行的程序。为了在PC上编译得到运行于目标CPU上的操作系统内核,还必须安装一个合适的交叉编译器。Gcc 提供了现成的针对MIPS、ARM、M68K、Sharc、Po
16、werPC的交叉编译器。如果没有现成的交叉编译器,则需要自行设计。GNU网站提供了一些如何开发新的交叉编译器的文章。开发一个新的编译器,一般需要如下几个步骤:编写机器描述脚本。采用gcc的RTL(Register Tansfer Language)语言描述针对某一CPU体系结构的机器指令与寻址方式、CPU浮点处理方式、endianess、c语言中各种数据类型的位宽、寄存器的个数和使用规则、堆栈和函数调用规则等体系结构的细节。设计代码生成器。Gcc在对c语言源文件进行了词法和语法分析后,将产生一种中间格式文件(intermediate representation)。为了把这种中间格式文件转化为
17、针对具体CPU体系结构的机器码,需要自行设计一个代码生成器,设计汇编器,设计链接器。1.3. 嵌入式开发嵌入式系统是以应用为中心,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是集软硬件于一体的可独立工作的“器件”。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork, pSOS, Nucleus和Windows CE。但这些高端嵌
18、入式系统高昂的价格使许多低端产品的小公司望而却步:而且,源代码封闭性也导致了诸如对设备的支持,应用软件的移植等一系列的问题。对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。嵌入式Linux,操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量。现在嵌入式操作系统已经发展到第四阶段-是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备
19、与Internet的结合将代表着嵌入式系统技术的真正未来。通常,嵌入式系统中的系统程序(包括操作系统)和应用程序是浑然一体的,这些程序被编译连接成一个可执行的二进制映像文件(image),这个二进制映像文件被固化在系统中,在系统复位后自动执行。嵌入式系统的开发系统和实际运行的系统并不相同,需要交叉编译系统和适当的调试系统。第二章 嵌入式开发软硬件平台2.1.硬件开发平台基于ARM7处理器和uclinux操作系统的嵌入式开发平台包括硬件开发平台和软件开发平台两个部分。硬件平台完成后,就要向硬件平台上移植操作系统才能构成整个开发系统平台,因此如果要使系统能够正常运行,我们需要把编好的uClinux
20、操作系统嵌入到硬件当中去,也就是要完成嵌入式软件平台的搭建。现在对本毕业设计所用的硬件平台三星公司推出的S3C44B0,S3C44B0X 的片上资源和特性予以介绍。2.1.1.S3C44B0X 的片上资源2.5V 供电的 ARM7TDMI 内核,带 8KB 的高速缓冲器;专用外部存储器(具备 FP/EDO/SDRAM/ROM 控制器和片选逻辑);LCD 控制器(最大支持支持 256 色 STN,LCD 专用 DMA);2 通道通用 DMA、2 通道外设 DMA,并具有外部请求引脚;2 通道 UART 带有握手协议(支持 IrDA1.0,具有 16-Byte FIFO)和 1 通道 SIO;1
21、通道多主 IC 总线控制器;1 通道 IS 总线控制器;5 个 PWM 定时器和 1 通道内部定时器;看门狗定时器;71 个通用 I/O 口;8 通道外部中断输入;功耗控制具有普通,慢速,空闲和停止四种模式;8 通道 10 位 ADC 输入;带日历功能的实时时钟(RTC);2.1.2.S3C44B0X的特性S3C44B0X采用一种新的三星ARM CPU嵌入总线结构SAMBA II,主频最高达66MHZ。 电源管理支持:正常模式, 低俗模式, 空闲模式和休眠模式。 系统管理功能: 1.支持大小端工作方式。2.地址空间: S3C44B0X 可以对 8 个 bank 空间进行寻址,每个 bank 的
22、最大空间为 32MB.(总共 256Mbyte) 。3.每个bank支持可编程的8/16/32位数据总线宽度。 4.固定的bank起始地址,7个bank可以编程控制大小。 5.8个存储器 bank. 6 个ROM, SRAM 等存储器 bank. 2 个ROM/SRAM/DRAM 存储器bank 6.所有的存储器bank具有可编程的操作周期。 7.支持外部等待信号延长总线周期。 8. DRAM/SDRAM 在掉电情况下支持自刷新模式。9.支持均匀/非均匀的DRAM地址。2.1.3.S3C44B0X开发板内部结构介绍用于此毕业设计的开发板为S3C44BOX,其内部结构如图1.1所示 图 1.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 ucLinux 电子邮件 客户端 设计 实现
链接地址:https://www.31ppt.com/p-2392935.html