嵌入式TCP/IP协议栈的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
本文以目前发展较快的一个分支——精简指令集计算机(ARM,Advance RISC Machines)作为介绍重点,对TCP/IP协议族在ARM7处理核嵌入式系统中的应用与实现做了深入研究,并研究了适合选定硬件平台的TCP/IP双协议栈,该双协议栈既支持IPv4也支持IPv6,实现了基本的网络应用。
     本文在阐述嵌入式系统基本概念和发展现状,指出嵌入式系统的主要发展方向以及发展前景的基础上,采用了基于三星公司S3C44B0X芯片的开发板,并参阅配套开发文档,以及TCP/IP协议文档,同时以实时操作系统uCIOSⅡ为基础,研究了TCP/IP双协议栈的实现过程。文章主要分为三大部分:
     (一)阐述实时操作系统uC/OSⅡ及该系统在S3C44B0X开发板的移植;
     (二)分别介绍TCP/IP协议族的分层,分别介绍了基于IPv4和Ipv6的各个具体协议,主要介绍各个协议的功能,所属分层,以及报文格式等;
     (三)介绍以太网控制芯片RTL8019AS寄存器,基于TCP/IP协议族的IPv4/IPv6双协议栈在开发板的具体实现过程以及主要函数的设计。这也正是本文的重点和作者研究的主要成果和创新所在。
     本文把TCP/IP双协议栈的实现过程层次化,提高了协议栈的移植性,把该协议栈移植到其他的硬件上只需更改少量和底层硬件联系的文件,上层的程序无需修改。各层次间的数据传递均依靠实时操作系统uC/OSⅡ的信号量和消息队列。协议栈全部采用汇编语言和C语言开发,编译成功后可写入开发板上的FLASH中,利用BootLoad引导执行。TCP/IP双协议族在嵌入式系统的实现可以大量应用到工业生产以及普通生活中,可使设备轻易增加网络接口,特别是随着IPv6的推广应用以及现代生活的飞速发展,本文所阐述的实现就有着更为重大的意义。例如可以推动家电接入Internet的进程等。
This paper presents the ARM (Advance RISC Machines)emphatically which developed very quickly, offering deep researches on the application and realization of how TCP/IP protocol family is used inARM7 micro processor core.
     This paper describes the basic concept and development ofembedded system at the present time, identifies the major developmental direction and application foreground. Based on S3C44B0X platform and the technology document of it, I program the driver of Ethernet control chip-RTL8019AS and the TCP/IP protocol stack base on IPv4/IPv6. The paper could be separated into three parts:
     (1)uC/OSII Realtime Operation System and migrating in S3C44B0X platform.
     (2)Introduction of TCP/IP dual-stack.
     (3)Introduction of the registers which belong o Ethernet controlchip-RTL8019AS, this section is also the emphasis of the paper, it contains the main program function, and the total process of actualizing TCP/IP dual-stack into platform. Especially in this paper, I make the implementation procedure of TCP/IP dual-stack hierarchical. In doing this, I improve the migrationability. When I migrate this protocol stack to other hardware, seldomchanges need to be made in some files, which have affiliation with thebottom hardware, and the topper programs don't need any modifications.Data transference between different layers depends on the semaphore and message queue in the RTOS uC/OSII. I develop the protocol stack using assemble language and C language. The program can be written to the FLASH of breadboard, which can be booted by BootLoader.
     The actualization of TCP/IP dual stack in the embedded system can be applied in industry production and our daily life plentiful. Network interfaces can be added to any equipment easily. Especially, with the spread of IPv6 and the rapid development of modern life, the results of this paper have more significant meaning. For example, we can accelerate the course of household appliances connecting with Internet.
引文
[1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社.2004.7~8
    [2] Qing Li.王安生译.嵌入式系统的实时概念.北京:北京航空航天大学出版社.2004.10~11
    [3] Jean J.L Labrosse.邵贝贝等译.嵌入式实时操作系统uC/OS-Ⅱ.北京:北京航空航天大学出版社.2004.15~16
    [4] Jeremy Bentham.TCP/IP Lean Web Servers for Embedded systems.陈向群等译.北京:机械工业出版社.2003.23~24
    [5] 徐士良.C常用算法程序集.北京:清华大学出版社.1996.40~41
    [6] ARM Programming Techniques Copyright Advanced RISC Machines Ltd (ARM). 1995. 32~33
    [7] 詹荣开.嵌入式BootLoader技术内幕单片机与嵌入式系统应用.2003,(5)22:22~23
    [8] 夏玮玮,沈连丰,肖婕,毛宇斌.嵌入式系统关键技术分析与开发应用单片机与嵌入式系统应用.2004,(8)12:33~34
    [9] 李驹光.ARM应用系统开发详解--基于S3C4510B的系统设计.北京:清华大学出版社.2004.12.55~57
    [10] Rochit Rajsuman.于敦山,盛事敏,田泽译.SoC设计与测试.北京:北京航空航天大学出版社.2003.8.101~102
    [11] Vishnu A. Patankar Alok Jain Randal E. Bryant. Formal Verification of an ARM processor. 2003, (2)5: 13~14
    [12] 李朝青.PC机与单片机&DSP数据通信技术选编.北京:北京航空航天大学出版社.2003.101~102
    [13] 周立功等.ARM嵌入式系统基础教程.北京:北京航空航天大学出版社.2005.1.92~93
    [14] 田泽.嵌入式系统开发与应用.北京:北京航空航天大学出版社.2005.1.201~202
    [15] 姚光开,于永棠,柴乔林.微型TCP/IP协议栈的设计与实现.计算机应用.2003,(9)23:82~84
    [16] Jan Axelson. USB Complete--Everything You Need to Develop Custom USB Peripherals Second Edition. 2002, (3)3: 12~13
    [17] 陈渝,李明,杨晔等.源码开放的嵌入式系统软件分析与实践—基于SkyEye和ARM开发平台.北京:北京航空航天大学出版社.2004.9.201~202
    [18] 田泽.嵌入式系统开发与应用实验教程.北京:北京航空航天大学出版社.2004.6.210~211
    [19] 马忠梅,马广云等.ARM嵌入式处理器结构与应用基础.北京:北京航空航天大学出版 社.2002.6.171~172
    [20] 李岩.基于S3C44BOX嵌入式ucLinux系统原理及应用.北京:清华大学出版社2005.2.256~257
    [21] Andrew S. Tanenbaum, Albert S. Woodhull. Operating Systems: Design and Implementation (Second Edition). 2001. 55~56
    [22] 晨风.嵌入式实时多任务软件开发基础.北京:清华大学出版社2004.8.123~124
    [23] 李华.MCS-51系列单片机实用接口技术北京:北京航空航天大学出版社.1993.3.211~212
    [24] David Seal. ARM Architecture Reference Manual (2nd Edition). 2000.1.220~221
    [25] Steve Furber.ARM SoC体系结构.北京:北京航空航天大学出版社.2002.10.20~21
    [26] 雷震洲.从IPv4向IPv6的过渡.现代电信科技,2002,(10)10:74~77
    [27] FAT32 File System Specification, Ⅵ-03[K]. Micxosoft Cor-poration, 2000, (8)30: 10~11
    [28] 马忠梅,李善平,康慨,叶楠..ARM & Linux嵌入式系统教程.北京:北京航空航天大学出版社.2003.198~199
    [29] 杨宁.单片机与控制技术.北京:北京航空航天大学出版社.2003.231~232
    [30] Dave Jagger. Arm Architecture Reference Manual. 2000. 31~32
    [31] 周立功.ARM微控制器基础与实战.北京:北京航空航天大学出版社.2004.271~272
    [32] Stephen Prata.技桥工作室译.C Primer Plus中文版.北京:人民邮电出版社.2002.66~67
    [33] 倪敏,周怡廷,杨继堂.uC/OSⅡ的任务切换机理及中断调度优化单片机与嵌入式系统应用.2004,(8)6:20~21
    [34] 胥静.嵌入式系统设计与开发实例详解--基于 ARM 的应用.北京:北京航空航天大学出版社.2005.1.288~289
    [35] 符意德.嵌入式系统设计原理及应用北京:清华大学出版社.2004.11.151~152
    [36] 李广弟,朱月秀,王秀山.单片机基础北京:北京航空航天大学出版社.2001.7.291~292
    [37] 李垣陵.uC/OS-Ⅱ与uCLinux的比较单片机与嵌入式系统应用.2003.12.151~152
    [38] 刘辉,孟凡荣,席景科.嵌入式实时系统中的优先级反转问题.2003.12.36~37
    [39] Michael Barr. Programming Embedded Systems in C and C++. 2000. 76~77
    [40] 谢希仁.计算机网络.北京:电子工业出版社.2003 274-275
    [41] 互联网资料 自由风工作室. http://www.freewind.com.cn 微码科技. http://www.embyte.com 嵌入开发网. http://www.embed.com.cn

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700