基于AT91SAM9261的嵌入式Linux的移植及其应用研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
ARM微处理器和嵌入式Linux操作系统由于其高性能、高可靠性、实时性、低成本越来越多地在工业控制领域中得到了应用。本文所研究的课题是作为“基于Linux操作系统的模块化高性能数控系统”项目的重要组成部分,设计了基于AT91SAM9261 ARM微控制器的数控系统主板硬件,详细地研究了基于该硬件平台的Linux操作系统移植过程,并在此基础上开发了底层驱动程序、相关支持库及数控系统的一个功能模块。
     首先,设计数控系统的主板,介绍了主要的元件的接口电路和功能,设计了电路原理图,通过这个过程详细地阐述了项目硬件的开发过程。
     然后,系统地研究了Linux系统平台的创建过程。根据本项目主板硬件的特点对启动装载程序(U-BOOT)进行了针对性的移植和研究,改进了U-BOOT源代码,使之支持YAFFS(文件系统)映像文件下载。接着在目标板上移植了Linux-2.6内核,根据目标板硬件对Linux内核驱动程序做了针对性的修改,使Linux内核稳定地运行于本项目特定的硬件平台上,在Linux的移植、配置、裁剪过程中给出了作者独特的建议。另外具体地阐述了嵌入式Linux根文件系统制作的方法和注意事项,在数控主板上实现了Cramfs(只读)+Yaffs(可读写)形式的根文件系统。
     在此基础上,作者开发数控系统软件。先对Linux设备驱动程序的开发进行了阐述、分析,实现了数控系统键盘的驱动程序。并移植了用于显示美观中英文字体的FreeType库以及开发了一套可用于上层应用程序调用的通用图形子系统函数库。这个图形子系统开发过程具有指导性,可以指引读者创建自己的函数库,并且图形子系统本身具有通用性,可应用于今后程序开发中,提高了嵌入式系统的开发效率。在以上软硬件的基础上开发了应用程序:数控系统文本编辑器。本文的研究为进一步开发高性能数控系统打下坚实的基础。
The embedded system (ARM microcontroller and Linux operating system), due to its high performance, reliability, real timing, low cost, are widely used in industrial field. Therefore, the research of embedded systems in industrial field is of great significance. This paper, as an important module of advanced numerical control system, based on AT91SAM9261 ARM microcontroller and Linux-2.6 kernel, design the main board, study the embedded system development process carefully, develop keyboard driver and user-defined function library, and realize a functional module of a numerical control machine.
     In this paper, firstly, the author design the main board, introduce the interface circuit and the usage of every component, illustrate the hardware development process of this project.
     Secondly, the author study systematically on how to build an embedded operating system platform step by step on a bare target board. According to the project hardware, transplant and improve the boot loader program(U-BOOT), and make it have the ability of writing the YAFFS filesystem to nand flash. Analyze carefully of the kernel's architecture, and transplant the Linux kernel to the target board, in this protess, the author put forward his own proposals on kernel configuration and kernel reduction. And then illustrate the important technology of creating root file system, and realize a Cramfs(read only)+Yaffs(read and write) root file system.
     Thirdly, based on the platform, the author develop the application software. Programme a Linux device driver of the keyboard. In oder to display beautiful font on LCD, transplanted the font engine—FreeType and create a graphics subsystem. This subsystem, is structional and practical, can be used in later project. Finally, based on all the work that mentioned above, the author development and realize a typical application example of an editer. All this, laid a solid foundation of developing high-performance numerical control system
引文
[1]孙天泽,袁文菊.嵌入式设计及Linux驱动开发指南.基于ARM9处理器(第二版)[M].北京:电子工业出版社,2007.
    [2]三恒星科技.ARM9原理与应用设计[M].北京:电子工业出版社,2008.第一页.
    [3]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.
    [4]Jean J.Labrosse著,邵贝贝等译.嵌入式实时操作系统μC/OS-Ⅱ(第二版)[M],北京:北京航空航天大学出版社,2003.
    [5]Atmel Corporation,AT91 ARM Thumb-basedf Microcontrollers AT91SAM9261Preliminary.http://www.atmel.corn/dyn/products/datasheets.asp?family_id=605.2008/2008.
    [6]朱义君.AT91系列ARM微控制器体系结构与开发实例[M].北京:北京航空航天大学出版社,2005.
    [7]清源计算机工作室.Protel 99 SE原理图与PCB及仿真[M].北京:机械工业出版社,2005.
    [8]朱居正,高冰.Red Hat Linux 9系统管理[M].北京:清华大学出版社,2007.
    [9]黄丽娜,许社村,陈彩可编著.Red Hat9 Linux 9基础教程[M].北京:清华大学出版社,2007.
    [10]朱居正,高冰编著.Red Hat Linux Fedora Core 4基础教程[M].北京:清华大学出版社,2005.
    [11]鸟哥.鸟哥的Linux私房菜-基础学习篇(第二版)[M].北京:人民邮电出版社,2007.
    [12]Robert Mecklenburg著,O'Reilly Taiwan公司编译.GNU Make项目管理[M],南京:东南大学出版社,2006.
    [13]Linda Lamb,Amold Robbins著,莫蓉蓉,刘传昌译.学习vi编辑器[M].北京:机械工业出版社,2003.
    [14](美)Randal K.Michael著,詹文军,邓波等译.精通UNIX Shell脚本编程[M].北京:电子工业出版社,2005.
    [15]鸟哥.鸟哥的Linux私房菜-服务器架设篇[M].北京:科学出版社,2005.
    [16]杨宗德,刘福刚,邓玉春.Red Hat Linux 9系统管理与服务器配置[M].北京:人民邮电出版社,2007.第215-第237.
    [17]Atmel Corporation,SAM Boot Assistant(SAM-BA)User Guide.http://www.atmel.com/dyn/products/other_docs.asp?family_id=605,2006/2008.
    [18]赖于树.ARM微处理器与应用开发[M].北京:电子工业出版社,2007.
    [19]Atmel Corporation.AT91 ARM Thumb-based Microcontrollers AT91 SAM9261Preliminary AT91 Bootstrap.http://www.atmel.corn/dyn/products/app_notes.asp?family_id=605,2006/2008.
    [20]庄卫华.基于ARM的嵌入式Linux移植研究与实现[D].河海大学.2006.
    [21]解秋生.mkimage制作Linux内核映像.http://hi.baidu.com/xqs83/blog/item/8f20562ebdf6cc544ec226a0.html,2008/2008.
    [22]陈逸非.面向大容量Flash的高效Linux文件系统改进和实现[D].同济大学.2007.
    [23]cjhl.基于Linux2.6的YAFFS文件系统移植.http://www.chire8.cn/html/2008-2/2008-2-24/20082243520_1.html,2008/2008.
    [24]Lshshd.cramfs文件系统介绍.http://hi.baidu.com/549800946/blog/item/0d526c64245f63f6f73654b2.html,2008/2008.
    [25]邵长彬,李宏亮.用BusyBox制作嵌入式Linux根文件系统[J].微计算机信息.2007年,第29期.第48-50页.
    [26]BitsCN.嵌入式Linux文件系统详细介绍.http://www.bitscn.com/linux/kemel/200802/128671.html.2007/2008.
    [27]Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman著,魏永明,耿岳,钟书毅译.Linux设备驱动程序[M].北京:中国电力出版社,2006.
    [28]冯国进.嵌入式Linux驱动程序设计从入门到精通[M].北京:清华大学出版社,2008.
    [29]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.
    [30]周立功,陈明计,陈渝.ARM嵌入式Linux系统构建与驱动程序开发[M].北京:北京航空航天大学出版社,2006.
    [31]HappyLiu,FreeType字体程序库介绍.http://hi.baidu.com/windloverainspace/blog/item/742fb41742dd66054b90a75d.html,2008.
    [32]Wwsheng.Linux下使用freetype显示中文的问题.http://www.ajaxstu.com/Linuxzhuomianyingyong/295673.html,2007.
    [33]韦建明.Linux平台下创建和使用用户函数库[J].电脑编程技巧与维护,2001年,第6期.第39-40页.
    [34]李华.GCC笔记.http://hi.baidu.com/jzinfo/blog/item/5b5cc1fd68bf3a47d7887d35.html,2007.
    [35]Inter999.GNU binutils笔记.http://blog.csdn.net/inter999/archive/2008/06/14/2547878.aspx,2008.
    [36]吴岳.Linux C程序设计大全[M].北京:清华大学出版社,2009.
    [37]杨树青,王欢.Linux环境下C编程指南[M].北京:清华大学出版社,2007.
    [38]Arnold Robbins著,杨明军,曹亚菲,夏毅译.实战Linux编程精髓[M].北京:中国电力出版社,2005.
    [39]刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:北京航空航天大学出版社,2006.第205-235页.
    [40]杨宗德,邓玉春,曾庆华编著.Linux高级程序设计[M].北京:人民邮电出版社,2008.
    [41]The FreeType Project.FreeType 2 Tutorial.http://www.freetype.org/freetype2/docs/tutorial/step1.html,2007.
    [42]许伟群.字符集之间转换(UTF-8,UNICODE,Gb2312).http://blog.csdn.net/xuweiqun/archive/2006/11/07/1370420.aspx,2006/2008.
    [43]李宏胜.数控机床技术及应用[M].北京:高等教育出版社,2008.第316页.

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

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

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