电气与信息工程学院《嵌入式系统工程训练》说明书题目:基于S3C2410的流水灯控制系统作者:专业班级:指导教师:陈佳泉职称:讲师2017年1月13日电气与信息工程学院《嵌入式系统工程训练》说明书2摘要随着社会的发展,嵌入式在未来的应用会越来越广泛。随着物联网的时代到来,电器将会与互联网,移动电话成为一体。本实训项目是以嵌入式系统为目标的一次平台操作。所谓嵌入式系统就是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,实用于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。ARM嵌入式芯片是一种高性能、低功耗的RISC芯片,世界上几乎所有的主要半导体生产商都生产基于ARM体系机构的通用芯片,且基于ARM内核的嵌入式处理器已经成为市场主流。而且Linux是免费发行的、快速高效的操作系统,在过去的几年中,基于开源组织的Linux嵌入式操作系统得到了长远的发展。嵌入式Linux是按照嵌入式操作系统的要求设计的一种小型操作系统。由一个内核以及一些根据需要进行定制的系统模块组成。其内核很小,一般只有几百KB,即使加上其他必要的模块和应用程序,所需的存储空间也很小。非常适合于移植到嵌入式系统中去,同时它还具有多任务多进程的系统特征。本次设计以基于嵌入式的简单的流水灯的设计。我们综合应用ARM嵌入式系统设计的相关专知识,搭建了一个基于S3C2410的硬件平台,在平台上编写出一个完整的流水灯控制功能的软件。通过这次的课程设计,使我们基本了解了嵌入式的方法以及培养我们对嵌入式编程的兴趣,与此同时,我们还可以回顾一下C的编程和汇编编程的基础。并通过这个典型的嵌入式系统项目的设计与开发学习嵌入式系统的设计与开发流程。为将来在嵌入式的学习和工作中做好准备。关键词:流水灯,嵌入式,C编程Waterlamp,Embedded,Cprogramming电气与信息工程学院《嵌入式系统工程训练》说明书I目录第1章系统功能简介...............................................................................................................11.1ARM处理器.................................................................................................................11.1.1ARM处理器特点.......................................................................................11.1.2ARM处理器体系结构..............................................................................11.2S3C2410处理器........................................................................................................21.2.1S3C2410处理器规格..............................................................................21.2.2S3C2410处理器功能..............................................................................21.3ADS集成环境简介...................................................................................................3第2章电路设计........................................................................................................................4第3章程序流程图及代码设计...........................................................................................113.1C程序流程图...........................................................................................................113.2C程序程序代码......................................................................................................123.2.1C程序GPIO端口配置模块...................................................................123.2.2C程序LED灯状态配置模块.................................................................123.2.3C程序键值读取模块..............................................................................133.2.4C程序工作模式模块..............................................................................133.3汇编流程图..............................................................................................................153.4汇编程序代码..........................................................................................................153.4.1汇编程序GPIO端口配置模块.............................................................153.4.2汇编程序LED灯状态配置模块...........................................................16第4章总结...............................................................................................................................18参考文献......................................................................................................................................19电气与信息工程学院《嵌入式系统工程训练》说明书1第1章系统功能简介1.1ARM处理器ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine)。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。1.1.1ARM处理器特点ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。1.1.2ARM处理器体系结构1.CISC(ComplexInstructionSetComputer,复杂指令集计算机)在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指令却不经常使用,在程序设计中只占20%。2.RISC(ReducedInstructionSetComputer,精简指令集计算机)RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固电气与信息工程学院《嵌入式系统工程训练》说明书2定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等3.寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:(1)31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。(2)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,只使用了其中的一部分。4.指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。1.2S3C2410处理器S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用FBGA封装,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。1.2.1S3C2410处理器规格核心板的尺寸仅相当于名片的2/3大小。开发商可以充分发挥想象力,设计制造出小体积,高性能的嵌入式应用产品。芯片封装:272-FBGA封装。主要有两种型号:S3C2410A-20、S3C2410A-26。前者主频最高为200MHZ、后者主频最高为266MHZ。1.2.2S3C2410处理器功能(1)内部1.8V,存储器3.3V,外部I/O3.3V,16KB数据Cache,16KB指令Cache,MMU。(2)内置外部存储器控制器(SDRAM控制和芯片选择逻辑)。(3)LCD控制器,一个LCD专业DMA。(4)4个带外部请求线的DMA。(5)3个通用异步串行端口(IrDA1.0,16-ByteTxFIFO,16-ByteRxFIFO),2通道SPI。电气与信息工程学院《嵌入式系统工程训练》说明书3(6)一个多主I2C总线,一个I2S总线控