ARMLinux在嵌入式设备上的移植及驱动开发
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着计算机技术的发展,嵌入式系统己成为计算机领域的一个重要组成部分,并成为近年来新兴的研究热点。对于嵌入式系统的研究和驱动程序编写在实际工业界有着广泛的应用。本文主要完成了基于S3CEB2410开发板的ARMLinux移植和驱动程序开发。Samsung公司的S3C2410是国内应用范围比较广泛的基于ARM926T内核的SoC。该芯片功能强大,是Samsung公司为手持设备等应用提供的高性价比的解决方案。本文选择ARMLinux作为嵌入式操作系统,基于Samsung公司的S3C2410的S3CEB2410开发板做为开发平台,详细介绍了ARMLinux的移植过程及驱动程序开发概要。
     嵌入式系统软件平台的开发过程主要包括:硬件平台的准备、开发环境的搭建、BSP相关开发、嵌入式OS的修改、驱动程序开发和应用程序开发。本文主要介绍的是除了应用程序开发外其余的开发过程。
     本文的另一大技术改进是用USB设备模拟成网络设备,实现开发平台到调试主机的联接通讯,这个技术可以很好的应用在开发阶段(驱动开发和应用开发),传统调试通讯方式是用串口,但是串口传输速度有限,对于交叉开发的文件传输很费时,用高速度的USB网卡来实现通讯传输,将加快开发的速度和效率,通过网络传输数据的测试工具将不用修改就可以用在虚拟的USB网卡上。
With the development of computer, embedded system has become an important part of computer science and researching focus. Porting embedded OS and developing driver are popular now and there has lots of job at the real industry area. Porting ARMLinux and writing drivers based on S3CEB2410 board is studied in this paper. ARM926T is an efficient low-power RISC core. S3C2410, which is based on this core and integrated with many devices, is suitable in embedded system. We choose ARMLinux as embedded operation system, S3CEB2410 as software development board. This article describes the porting procedure of ARMLinux to S3CEB2410 and the procedure of device driver development.
     There are six parts combined into embedded OS development: hardware platform, tool and develop environment, BSP develop , embedded OS modification, driver coding and integration and application realization. This paper describes all parts of process except application realization.
     Also, using emulating USB network card instead of COM port and network card is well introduced as one of the most important features in this paper. Actually USB works as network card so we could use it to transport files and communicates with PC via network. This method improves transport speed at cross-compile environment instead of COM port, if target platform has no network card. This method also fasts the process of development and testing without modifying network software.
引文
[DTBK 03] Samsung Corp.,S3C2410-Databook.pdf, 2003.
    [USMN 04] Embest Corp,S3CEB2410 User Manual, 2004.
    [WELSH 95] Welsh Matt. Implementing Loadable Kernel Modules for Linux. Dr. Dobb’s Journal, May 1995.
    [VAHALIA 00] Vahalia Uresh. UNIX Internals: The New Frontiers, 2nd ed. Prentice Hall, Englewood Cliffs, N.J., 2000.
    [TBAUM 95] Andrew S. Tanenbaum. Distributed Operating Systems, Prentice Hall, Englewood Cliffs, N.J., 1995.
    [TBAUM 92] Andrew S. Tanenbaum. Modem Operating Systems. Prentice Hall, Englewood Cliffs, N.J., 1992.
    [TBAUM 87] Andrew S. Tanenbaum. MINIX Version, Prentice Hall, Englewood Cliffs, N.J., 1987.
    [STEVENS 93] Stevens W. Richard. Advanced Programming in the UNIX Environment, Addison Wesley, 1993.
    [STALLINGS 95] William Stallings. Operation Systems, 2nd ed., Prentice Hall, Englewood Cliffs, N.J., 1995.
    [OHOUT 85] John K. Ousterhout. A Trace-Driven Analysis of the UNIX 4.2 BSD File System. Proceeding of the Tenth ACM Symposium on Operating Systems Principles, ACM (1985), pp15-24.
    [ELDA 02] 邹思轶.《嵌入式Linux设计与应用》. 清华大学出版社, 2002.
    [LOSSA 02] 郭玉东. 《Linux操作系统结构分析》. 西安电子科技大学出版社, 2002.
    [LKEA 03] 毛德操、胡希明编.《Linux内核源代码情景分析》. 浙江大学出版社, 2003.
    [IVAN 00] Ivan Bowman, Saheem Siddiqi, Meyer c.Tanuan. Concrete Architecture of the Linux Kernel. Technical Report, University of Waterloo, http://plg.uwaterloo.ca/itbowman/CS746G/a2/, Feb.1998.
    [LDPKM 99] Pomerantz,Ori,The Linux Kernel Module Programming Guide,Version 1.0,1999,Linux Documentation Project, http://metalab.unc.com/mdw/linux.html
    [EOSP 00] 李江、常葆林. 嵌入式操作系统设计中的若干问题. 微型机与应用,2000.8.
    [SENA 00] 余永权. 嵌入式系统、智能家电及家居网络. 单片机与嵌入式系统应用,2000.1.
    [ESWD 00] 陈丽蓉、熊光泽、雷航、郭兵. 嵌入式软件系统的实时性设计,单片机与嵌入式系统应用,2000.3.
    [ELAD 00] 郭兵、熊光泽. 嵌入式应用软件开发环境的构造. 计算机应用,2000.7.
    [LKEM 04] 赵慧斌、李小群、孙玉芳. 改善Linux核心可抢占性方法的研究与实现. 计算机学报, 2004, 27.
    [LRTR 05] 蒋溢、李琳皓、陈龙. Linux系统实时性探讨. 重庆大学学报, 2005.28.
    [LKER 05] 董晓峰、顾新. 关于Linux内核可抢占性的研究. 计算机工程, 2005, 31.
    [ELRTS 05] 陈敏、周兴社. 基于嵌入式Linux的实时优化方案. 计算机应用研究, 2005.
    [ELRTR 03] 齐俊生、崔杜武、黑新洪. 嵌入式Linux硬实时性的研究与实现. 计算机应用, 2003, 23.
    [ELRTR 05] 李凡、卢杜阶、邱鹏. 在嵌入式应用中增强Linux实时性的方法研究. 华中科技大学学报, 2005.