嵌入式系统设备驱动程序开发

上传人:F****n 文档编号:99132006 上传时间:2019-09-17 格式:DOC 页数:25 大小:1.35MB
返回 下载 相关 举报
嵌入式系统设备驱动程序开发_第1页
第1页 / 共25页
嵌入式系统设备驱动程序开发_第2页
第2页 / 共25页
嵌入式系统设备驱动程序开发_第3页
第3页 / 共25页
嵌入式系统设备驱动程序开发_第4页
第4页 / 共25页
嵌入式系统设备驱动程序开发_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《嵌入式系统设备驱动程序开发》由会员分享,可在线阅读,更多相关《嵌入式系统设备驱动程序开发(25页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统设计课程设计报告 嵌入式系统设备驱动程序开发 姓 名: 许俊炼 郭照广 梁文盛 伍嘉亮 班 级: 07电信4 学 号: 9 7 14 6 指导老师:孙道宗老师、殷建军老师日期: 2010.12.212010.12.31 华南农业大学工程学院前言嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中。这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。 嵌入式系统一般包

2、含嵌入式微处理器、外围硬件设备、嵌入式操作系统和应用程序4个部分。嵌入式领域已经有丰富的软硬件资源可以选择,涵盖了通信、网络、工业控制、消费电子、汽车电子等各种行业。当前,嵌入式技术的应用越来越广泛,从航天科技到民用产品,嵌入式产品的身影无处不在,而这些嵌入式产品的核心处理器解决了产品的市场和性能。在32位嵌入式处理器市场中,ARM处理器占有很大的份额。ARM不仅是一个公司、一种技术,也是一种经营理念,即由ARM公司提供的核心技术,只售芯片的IP授权,采取了别具一格的“Chipless模式”(无芯片的芯片企业),不参与生产,而是由合作厂商去生产具体的芯片和产品。现在由于存储空间等原因,在嵌入式

3、芯片上编程有较大的困难,选取合适的平台就显得很重要。Linux自出现以来,得到了迅猛的发展。Linux是开发源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。Linux在服务器领域已经占有很大的份额,在图形界面方面也不输于Windows。由于源码可以修改、移植,Linux在嵌入式领域中的应用也越来越广泛了。选用Linux作为平台,可以根据具体需要自由地裁剪源码,打造适合目标平台的环境,编写最有效率的应用程序。可以预见,ARM与Linux的未来会更加壮大,在嵌入式产品市场上会占有越来越大的份额。在这种形势下,学习研究ARM与Linux非常有必

4、要,S3C2410是ARM9系列中非常优秀的一款处理器,应用广泛。这次课程设计是在以linux为系统、s3c2410为处理器、ARM920T为内核的基础上进行设备驱动程序的开发。在开发前,必须掌握一些基本功能:建立嵌入式linux的开发环境的方法,BootLoader的编译及配置方法,以及编写makefile的基本方法目录1环境介绍21.1硬件介绍21.2软件介绍21.2.1Linux操作系统21.2.2目标板最后运行的环境22内核移植32.1建立开发环境32.2配置和编译vivi bootloader32.2.1 介绍vivi32.2.2 具体操作32.3 编译linux内核52.4 制作文

5、件系统52.5 烧写内核52.5.1 硬件准备52.5.2 内核烧写53Linux设备驱动程序实验73.1 Linux驱动程序原理73.2 实验准备73.3 HelloWorld实验73.4 LED点阵驱动实验73.4.1 工作原理73.4.2 驱动操作83.5 中断实验93.5.1 基础知识93.5.2 工作原理103.5.3 串行接口即时序113.5.4 驱动操作113.6 IIS音频实验123.6.1 实验原理123.6.2 驱动操作143.7 IIC数码管扫描电路143.7.1 操作原理143.7.2 编译时的问题173.8 s_uart实验173.8.1 操作原理173.8.2 驱动

6、操作194实验总结204.1 问题解决204.2 心得体会20文献参考21全国驴友团队、自驾俱乐部、户外俱乐部、及各旅行社、社会团体,以及户外爱好者均可报名。报名时提供真实身份证信息、联系电话等信息。以报名款到帐成功为准确认报名资格21【摘 要】 Linux操作系统将所有的设备(而不是在存储器里的文件)全部都看成文件,都纳入文件系统的范畴,都通过文件的操作界面进行操作。用户程序不能直接操作硬件,而是使用统一的接口函数调用硬件驱动程序。这组接口在交叉工具链的文件ioctl.h等文件中定义。对于上述每个接口函数,驱动程序中都有一个与之对应的函数。这次课程设计是在以linux为系统、s3c2410为

7、处理器、ARM920T为内核的基础上进行设备驱动程序的开发(驱动程序代码是在网上和书本上找的)。基于Linux系统的嵌入式系统设备驱动程序开发之前,需要了解开发的流程:建立嵌入式Linux的开发环境、编译和配置Bootloader和编写makefile以及移植内核。移植了内核后,从简单到困难,我们依次完成了HelloWorld、中断、LED驱动和IIS音频的设备驱动实验。尝试着做IIC LED驱动和s_uart驱动。【关键字】Linux操作系统 硬件驱动程序 交叉工具链 开发环境 移植内核 【abstract】Linux Operation System regards the whole d

8、evices(they are not the files in the memory)as the all files, ranges the whole devices within the scope of the file system, operates the whole devices through the file operation surface. The hardware cannot be operated directly by the user program, it is used to drive program by using the unified in

9、terface function. The group of interfaces, which are matched by functions in driver program, are defined in cross-tool-chain files, like file ioctl.h and so on. This course-designing is to develop the device-driver-program(it is finded on the web and in the books) based on Linux system、processer s3c

10、2410 and core ARM920T.It is necessary to understand the developing procedure before the Emdeded System devices driver program being devloped based on Linux system. The procedure is: Building the developing environment on Linux system、Compiling and Setting Bootloader、Writing makefile and Moving and P

11、lanting the CPU core. After moving and planting the CPU core, we had finished sequently HelloWorld driver、Interrupt driver、LED driver and IIS vioce frequency driver from easy one to hard one. And we had tried to do other two experiments like IIC LED driver and s_uart driver.【key words】Linux operatio

12、n system Hardware driver program Cross tool chain Developing environment Moving and planting the CPU core1 环境介绍1.1 硬件介绍 一台台式电脑、一条网线、一条串口线、一条并口线、一条下载线和一个GX_ARM9_2410EP实验箱。下面具体介绍试验箱。 GX_ARM9_2410EP是一款基于三星S3C2410X 16/32位RISC处理器(ARM920T)的针对高校嵌入式教学和实验科研的平台。图 11 硬件开发环境S3C2410X包含一个16/32 bit的RISC的CPU内核,独立的指

13、令和数据的缓存,勇于虚拟内存管理的MMU单元,LCD控制器,非线性FALSH的引导单元,系统管理器,三个通道的一部串口,四个通道的DMA,四个通道的带脉宽调制的定时器,输入输出端口,是实施中单元,带有触摸屏接口的八个通道的ADC,IIC总线接口,IIS总线接口,USB的主机单元,USB的设备接口,SD卡和MMC卡接口,两个通道的SPI接口和锁相环时钟发生单元。以下是GX_ARM9_2410EP试验箱的实物图(Error! Reference source not found.)。1.2 软件介绍1.2.1 Linux操作系统GNU交叉编译工具2.95.2 :用来编译vivi3.3.2和3.4.

14、4:用来编译内核和程序1.2.2 目标板最后运行的环境启动程序:vivi Bootloader内核:linux-2.4.182 内核移植2.1建立开发环境绝大多数的Linux软件开发都是以native方式进行的,即本机开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在主机上,对应的开发板叫做目标板。具体如Error! Reference source not found.。图 21 硬件图示开发时使用宿主机上的交叉编译、汇编及连接

15、工具形成可执行的二进制代码,然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目标机处理器所提供的支持做出选择。宿主机和目标板的处理器一半都不相同,宿主机为Intel处理器,而目标机为SAMSUNG S3C2410,GNU编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标机从而建立开发环境。2.2配置和编译vivi bootloader2.2.1 介绍viviVivi是MIZI公司提供的一种可以支持NandFlash启动的ARMlinux bootloader 。本试验仪采用的ARM9处理器S3C2410支持Nandflash启动,采用vivi作为bootloader,可以直接采用Nandflash启动。2.2.2 具体操作进入linux系统,打开命令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号