摘要
在以计算机技术、通讯技术相结合的信息时代的快速发展以及互联网广泛应用的形势下,3C(Computer、Communication、Consumer)合一的趋势已经形成,其结果必然就是将计算机工业的中心从计算产品转移到信息产品,从而出现信息电器的概念。嵌入式系统及嵌入式操作系统也获得突飞猛进的发展。
论文首先综述了嵌入式系统的组成结构及性能特点,介绍了嵌入式技术的国内外研发现状。在综合比较现有各种嵌入式操作系统的基础上,分析了使用Linux构造嵌入式系统的优点和缺陷。并介绍了运用桌面Linux实现小型化的嵌入式Linux的相关方法和关键技术。
嵌入式文件系统是嵌入式操作系统的一个重要组成部分,随着嵌入式系统硬件设备性能的提高和价格的不断降低以及嵌入式系统应用范围的不断扩大,嵌入式存储设计的重要性显得更加突出。对嵌入式系统来说,非正常断电或其他错误会导致文件系统不一致性,带来文件系统的破坏和信息的丢失。因此,本文在研究嵌入式Linux文件系统的优化问题基础上,分析了Linux环境下MTD设备驱动程序设计的方法和技巧,采用了Linux基于Flash的JFFS文件系统。最后,根据嵌入式存储设备Flash的特殊属性,本文着重阐述了在特殊存储设备DiskOnChip上JFFS文件改造及linux的实现,主要讨论了DiskOnChip驱动对JFFS支持问题的解决与存储方案的设计。
文中最终实现的嵌入式Linux系统、所有的设备驱动程序以及全部的应用程序己经在16M的电子盘中稳定运行,并成功应用于易新科技有限公司的神机系列网络信息处理机中。文中所介绍的方法对嵌入式系统研究及嵌入式Linux的应用具有一定价值。
With the development of Computer technology and Communication technology in Information times and the aboard application of Internet, it is clear that 3C (Computer, Communication and Consumer) will converge in the near future which will lead the focus of Computer Industry from the Compute product to information product. The embedded system and embeded OS has approached a remarkable development.
This thesis, firstly, summarizes the structure and performance of the embedded system, then introduces the research of embedded technology at domestic and international. On the base of synthetic comparing all kinds of Embedded Operating System exiting today, the paper analyses the excellence and limitation of using Linux to build Embedded System. In order to implement a simple embedded Linux running in embedded storage devices, the thesis presents correlative methods and key skills in details.
In the embedded system, the filesystem is an important part of it. With the price of hardware goes down as well as the capability is higher and higher, the embedded filesystem becomes more improtant than any time before. For the embedded system, unexpected power-off and other mistakes often cause a corruption of the filesystem and lost of data. Therefore, based on the analysising the embedded filesystem, this paper probes into the method of designing MTD device driver under linux and adapted a new filesystem based on Flash. Finally, according to the speciality proportion of the Flash storage devices, the paper emphasizes the realizition of JFFS and the embedded linux on DiskOnChip, primarily discussed how the DiskOnChip drive supporting JFFS and the new project of storage.
The Embedded Linux System, together with all the device driver and application software, which finally have been stably running in 16M Flash. ShengJi, which is a net information production developed by eThink Technology Co.LTD, has applied the embedded linux system. The methods reported here could be beneficial to the research on embedded system and the application in embedded Linux.
引文
[1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2002,3-4
[2] 吕京建,肖海桥.面向二十一世纪的嵌入式系统.半导体技术,2001,26,1-2
[3] 肖文鹏.走进嵌入式Linux世界.www-900.ibm.com,2003-09-29
[4] 吴朝晖.吴朝晖教授纵谈嵌入式技术.微电脑世界,2000,(49):3-6
[5] 钟锡昌.嵌入操作系统在中国的发展现状与前景.www.embeded.com,2002-03-28
[6] 许海燕,付炎.嵌入式系统技术与应用.北京:机械工业出版社,2002,29-30
[7] 胡在华.实时嵌入式系统的研究与应用:[湖南大学硕士毕业论文].湖南大学,2002,27-28
[8] 何小庆.嵌入式通信设备和Linux操作系统.电子产品世界.嵌入式系统专刊,2003,146,(10):9-13
[9] 邹思轶.嵌入式Linux设计与应用.北京:清华大学出版社,2002,6-7
[10] 嵌入式操作系统比较.www.embed.com.cn,2002-07-23
[11] Rick Lehrbaum, Using Linux in Embeded and Real-Time Systems. www.linuxdevices.com, 2000-02-19
[12] David Pitts等.Red Hat Linux大全.北京:机械工业出版社,1999,5-16
[13] 嵌入式Linux的开发和应用优势.tech.sina.com.cn.2002-01-22
[14] Silent.嵌入式Linux市场2002/11-2003/1情况汇总.tech.ccidnet.com,2003-2
[15] 孙永杰.引入注目的嵌入式Linux.微电脑世界,2000,(35):15-17
[16] 陈向群.现代操作系统.北京:机械工业出版社,2000,10,18-67
[17] Andrew S Tanenbaum. Modern Operating Systems (Second Edition). Prentice Hall, Inc. January 2002.
[18] 屠立德,屠祈.操作系统基础(第二版).北京:清华大学出版社,1995,44-137
[19] Terry Bollinger, Linux in Practice: An Overview of Applications, IEEE Software, January/February, 1999
[20] 中科院软件研究所.嵌入式Linux内核总体说明书.中科院软件所提交文档,2000,12,8-10
[21] 陈莉君.深入分析linux内核源代码.北京:人民邮电出版社,2002,290-295
[22] Vipin Malik. The Linux MTD, JFFS HOWTO. www.linux-mtd.infradead.org, 2001-08-13
[23] 冯永红,朱善君.裁剪Linux技术分析.2001嵌入式系统及单片机国际学术交流会论文集.北京:北京航空航天大学出版社,2001,225-229
[24] 长沙易新科技有限公司.IA@Server系列产品技术研究报告,2003,10
[25] 李本元.新一代闪存磁盘DiskOnChip.国外电子元器件,1999,8,20-21
[26] 郑良辰.日志文件系统在嵌入式设备上的设计与实现:[中科院软件研究所硕士毕业论文].北京:中国科学院软件研究所,2000,21-23
[27] Patrice Kadionik. How to use MTD/JFFS2 under uClinux, www.enseirb.fr. 2004-01
[28] Jim McQuillan, The Linux Terminal Server Project, www.ltsp.org, 2001-04
[29] Scott Maxwell著,冯锐,邢飞,陆丽娜译,Linux内核源代码分析.北京:机械工业出版社,2000,33-60
[30] 徐延明,林立志,王是等编著.Linux编程指南与实例.北京:人民邮电出版社,2000,8,124-159
[31] 郭学理,韦智,潘松.Linux的ext2文件系统.计算机应用研究,2001,(5):128-130
[32] M. Beck, H Bohme, M. Dziadzka, U Kunitz, R Magnus, D Verworner, Linux Kernel Internels, Second Edition, Addison-Wesley, 1997, 135-233
[33] 郭健.JFFS文件系统分析.www.gzlinux.org.2003-09
[34] Wayne wolf著,孙玉芳等译.嵌入式计算系统设计原理.北京:机械工业出版社,2002,35-70
[35] Extended Functions of the TrueFFS Driver for DiskOnChip. Based on TrueFFS Version 5.1.x. M-Systems Inc
[36] 王学龙.嵌入式Linux系统设计与应用.北京:清华大学出版社,2001,8,56-76
[37] Andrew S.Tanenbaum著,熊桂喜等译.计算机网络(第三版).北京:清华大学出版社,1999,133-156
[38] William Stallings, Prentice Operating Systems: Internals and Design Principles. Hall International, Inc. 2000.7
[39] Uresh Vahalia著,聊广斌,曲广之,王元鹏等译.UNIX高级教程-系统技术内幕.北京:清华大学出版社,1999,5,233-368
[40] 杨季文等编著,钱培德审.80X86汇编语言程序设计教程.北京:清华大学出版社,1998,6,13-45
[41] Maurice J.Bach. The Design of the Unix Operation System Prentice-Hall; Englewood Cliffs, NJ, 1986
[42] Leffler, S.J, Mckusick,M.K and Quarterman, J.S. The Design and Implement of the 4.3BSD Unix Operating System, Addison-Wesley, Reading, MA, 1989
[43] Memory Technology Device (MTD) Subsystem for Linux. www.linux-mtd.infradead.org, 2003-09-29
[44] DANIEL P BOVET等著,陈莉君等译.深入理解Linux内核.北京:中国电力
出版社,2001,10,172-214
[45] Alessandro Rubini, Jonathan Corbet著,魏永明,骆刚,姜君译.Linux设备驱动程序(第二版).北京:中国电力出版社,2002,11,45-135
[46] 毛德操,胡希明著.Linux内核源代码情景分析.浙江大学出版社,2001,11
[47] Karim Yaghmour. Building Embedded Linux Systems. OrReilly &Associates,Inc. 2003, 4, 341-380
[48] John A Stankovic,Strategic directions in real-time and embedded systems, ACM Comnuting Suiveys, 1996,12,28
[49] Ron Dick, Esther Spanjer & Vadim Khmelnitsky. Using the DiskOnChip with Linux OS. www.M-systems.com, 2000-08
[50] 长沙易新科技有限公司.IA@Server技术白皮书,2003,11
[51] Joel R. Williams. Embedding Linux in a Commercial Product. A look at embedded systems and what it takes to build one.1999.
[52] Alessandro Rubini& Jonathan Corbet, Linux Device Drivers,2nd Edition OrReilly&Associates, Inc. 2001,7
[53] 长沙易新科技有限公司.IA@Server系列产品技术研究报告,2003,10