版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
苏州大学本科生毕业设计(论文)-PAGEi-基于ARM的网络智能家居系统的设计与实现苏州大学应用技术学院09电子转班级(学号0916936074)[徐金波]TOC\o"1-3"\h\u2654前言 317583第1章绪论 44354第1.1节研究背景 430435第1.2节国内、外智能家居的发展与现状 428324第1.3节智能家居远程控制系统技术的发展趋势 511624第1.4节方案研究的内容与特色 622646第2章智能家居远程控制系统的总体方案 821745第2.1节系统的需求分析 82946第2.2节系统的总体规划设计 8135592.2.1.系统的体系结构 975662.2.2.系统实现功能 103987第3章智能家居远程控制系统硬件设计 1126132第3.1节硬件体系架构 113349第3.2节电源管理模块 1118418第3.3节时钟复位模块 1214698第3.4节RS232串口模块 1310697第3.5节JTAG模块 136689第3.6节Flash存储模块 1420868第4章智能家居远程控制系统软件开发 1617861第4.1节嵌入式开发软件平台 166134第4.2节交叉编译环境 1623035第4.3节U-Boot原理分析与移植 1622995第4.4节Linux内核分析与移植 1831107第4.5节文件系统制作 2010743第4.6节Boa服务器分析与移植 2225218第5章智能家居远程控制系统服务器的实现 2412766第5.1节嵌入式Web系统原理 245311第5.2节HTML静态网页的制作 241389第5.3节CGI程序开发 26737结论 282487参考文献 2928307致谢 3012056附录〔左齐标题1〕 3120142附录1:实物照片说明 3125445附录2:部分源程序 32第30页基于ARM的网络智能家居系统的设计与实现苏州大学应用技术学院09电子转班级(学号0916936074)[徐金波]【摘要】:伴随着社会经济水平的提高,人们对家居生活的质量的要求也越来越高。随着计算机与嵌入式技术的生活化,各种智能化、信息化的消费电子产品不断涌现。这些家用电器在方便人们的生活,提高人们的生活质量的同时,也提出了一个问题,如何对家庭中越来越多的信息家电进行有效的控制。智能家居是由欧美等发达国家提出的一种概念,旨在将家庭中离散的信息设备连接到一个家庭智能化系统上进行集中的或异地的监视控制和家庭事务的管理。本文针对这一目标设计了一款基于网络平台的智能家居控制器。智能家居控制器是智能家居系统中不可缺少的一部分。本文在ARM平台上,结合嵌入式Linux系统,Internet技术,在智能家居控制器上实现了嵌入式Web服务器、CGI脚本服务体系及后台控制系统。分析并定义了智能家居控制器与信息家电之间的通信方式。用户在任何可以获得Internet的地方,通过web浏览器登录家居控制系统的主控页面,就可以控制自己家中的信息家电。具体如下:本文分析了智能家居的起源、发展和研究现状。对比了当前较为流行的几种可用于构建智能家居内部网络的相关技术,确定以蓝牙技术作为家庭内部网络通信工具。并在文中阐述了实现蓝牙技术串口通信的方法。以ARM9核心开发板搭建了智能家居控制器的硬件实验平台,并阐述了系统实现所需要的软件开笈平台的建立过程。描述了引导程序u-boot的移植、Linux系统内核的移植、根文件系统的制作、交叉编译环境的构建过程。分析了家居控制系统的工作原理。完成了嵌入式Web服务器的移植,描述了CGI服务脚本体系并给出了具体的实现方法。分析并设计了后台服务模块的程序结构及工作流程,描述了实现过程。本文实现了智能家居控制器的网络控制功能。经过模拟平台的搭建及对系统的测试,利用现有网络资源,本文设计的智能家居控制器能够实现与被控端设备的连通及控制信号的发送,实现了对信息家电的控制,基本实现了既定的目标要求。【关键词】:ARM;智能家居;控制器;CGI;[Abstract]:Withtheimprovementofsocio-economiclevel,people'sdemandsofhome-1ivingqualitybecomemoreandmore。Asthecomputerandembeddedtechnologycomingintoourlife,lotsofintellectualizedandinformationappliancescontinuetoemerge.Whiletheseinformationappliancesmakingconvenienceandimprovingpeople’shome-livingquality,italsoraisesaquestionthathowtocontrolmoreandmoreinformationapplianceseffectively.TheconceptofSmartHomeismadebythosedevelopedcountriessuchastheEuropeandtheUnitedStates.ItaimedthatallindependentinformafionappliancesinhomeconnecttoaHomeIntelligenceSysteminordertosupervisorytheminhomeorremoteandmanagefamilyaffairs.Soaimedatthisissue,thethesisdesignedakindofhomecontrollerbasedonnetwork.HomecontrollerisallindispensablepartofSmartHomemanagementsystem.OnARMplatform,thisthesisimplementedembeddedWebserver,CGIscriptsservicesystemandbackgroundcontrolsystembasedonembeddedLinuxsystemsandInternettechnology.Thisthesisanalyzedanddefinedakindofcommunicationmodebetweenhomecontrollerandinformationappliances.Userscanlogonthehomepageofhomecontrolsystemviahternetbrowseratanylocationtocontroltheirinformationappliances.Themainworkinthisthesisisbelow:Thethesisanalysedtheorigin,developmentandresearchofSmartHome.BuilthardwareexperimentalplatformofhomecontrollerbasedOntheARM9coredevelopmentboard,anddescribedbuildingprocessofsoftwaredevelopmentplatformwhichisneedbythesystemimplementation。Itdescribesthetransplantationofthebootloader,u-boot,andLinuxkernel,theprocessofmakingarootfilesystem,theconstructionofcross-compilerenvironment.Analyzedtheprincipleofhomecontrolsyster.CompletedthetransplantationofembeddedwebServer.DescribedtheCGIscriptingsystemandgiwaconcretemethodtorealizeit。Analyzedanddesignedtheprogramframeworkofbackgroundservicemoduleanddescribeditsrealezedprocess.ThisthesisrealizedthefianetiontocontroltheinformationappliancesonnetworkwiththeSmartHomecontroller.Afterconst~ctingthesimulatedplatformandtestingthesystem,itconfirmedthattheinformationappliancescontrollerdesignedinthisthesiscanconnectandsendcontrolsignaltothecontrolledappliances,whichrealizedthecontrolofinformationappliancesusingofexistingnetworkresources.Theexpectedrequirementshavebeenfuilfilled[Keywords]: ARM;SmartHome;CGI;Controller;前言智能家居也叫智能住宅,英文叫SmartHome。也可以叫做网络家庭、电子家庭、家庭自动化等等。智能家居概念的起源甚早,首先由美国、欧洲等经济比较发达的国家提出来的。其目标就是:"通过家庭内部的一个智能系统,将各种信息家电连接起来进行集中的或异地的监视控制"。智能家居系统是一个综合的信息管理平台。本文设计的智能家居控制器,是智能家居系统的核心,通过控制嚣将家庭内部网络和外部网络进行连接及数据交换。在家庭内部网络,利用控制器连接各种信息家电,对设备的各类信息进行采集。在外部网络,用户通过Internet连接到控制器,可以查看或者修改信息家电的状态。方便了人们对信息家电的监测和控制。智能家居作为综合国力和科技水平的具体体现,能够为人们提供安全、舒适、节能和高效的现代生活方式,市场前景广阔。智能家居是未来家庭生活的趋势。但是由于国内的相关企业起步较晚,因此在家电的技术层次上还大多停留在PC平台的有线通信上。鉴于有线通信的种种缺点,国很多企业也开始了针对无线家居控制的研究,但是具体的产品应用还不是很多。本是针对目前智能家居的背景情况,依托ARM平台和internet技术,研究一种可行的基于网络的智能家居控制系统,实现信息家电的管理。所完成的工作主要有;1.分析了智能家居的起源、发展和研究现状。对比了当前较为流行的几种可用于智能家居内部网络的相关技术。2.措建了智能家居控制器的硬件实验平台,并阐述了系统实现所需要的软件开发的建立过程。描述了引导程序u-boot的移植、Linux系统内核的移植、根文件系统的、交叉编译环境的构建以及BOA移植的实现方法。3.分析了基于网络技术的智能家居控制系统的工作原理。完成了嵌入式Web服务移植,描述了CGI服务脚本体系并给出了具体的实现方法。分析并设计了后台服务的程序结构及工作流程,描述了实现方法。绪论研究背景智能家电是计算机技术、电子技术、控制技术向传统家电产业渗透发展的必然结果。近年来随着信息化的普及应用,通讯的高层次化与自由化、业务量急速增加,以及人类对工作、生活环境的安全性、效率性、舒适性要求的提高,对家居智能化提出了强劲需求;此外在技术方面,由于电子技术、计算机控制技术、通信技术的飞速进步,也促进了智能家居的发展。目前通常把智能家居定义为利用计算机技术和电子控制技术,通过家庭信息管理平台将与家居生活有关的各种子系统有机地结合的一个系统。也就是说,首先它们都要在一个家居中建立一个通讯网络,为家庭信息提供所需的通路,在家庭网络操作系统的控制下,通过相应的硬件和执行体系,实现对连接在家庭网络上的家电和设备的监控。其次,它们要通过一定的系统界面平台,构成与外界的通讯通道,实现与家庭以外的网络互通信息,实现远程控制、监视和交换信息的,最终满足人们对安全、舒适、方便和符合绿色环境保护的越来越高的需求。进入21世纪,数字化技术取得了更加迅猛的发展并日益渗透到各个领域。随着Internet网向普通家庭生活不断扩展,消费电子、通讯、计算机一体化趋势日趋明显,智能化信息家电产品已经开始步入社会和家庭。智能家居在我国已经历了7年的发展。智能家居涉及不少行业领域:电子、通信、计算机、自动控制、建筑装饰等,在实际需求确定中最重要的一点不是智能化如何先进,产品如何高档,而是智能家居系统怎样与家居环境有机融为一体。智能家居怎样做到实用、易用、人性化,真正提高人们的生活品质,才是智能家居的发展方向。国内、外智能家居的发展与现状早在1979年,美国斯坦福研究所就提出了在建筑物内将家用电器、电器设备的控制线统一为家庭总线的概念。之后,在美国成立了现代住宅研究会,专门从事这一顿域的研究。1983年,美国电子工业协会开始制定家用电器的设计标准。1984年,第一幢智能建筑在美出现后,美国住宅建筑者协会成立了现代住宅开发公司,开始有关基础性研究工作,并在1989年推出了将电力供应、空调控制和数据通信合成一个整体的布线系统示范单元。在这期间,智能住宅的概念在欧美等发达国家得到了广泛的认同和发展。欧洲在1985年把集成化的家居系统研究列为尤利龙计划,大力进行该方面的研究。在上世纪80年代,欧洲电器标准化委员会制定了家用数字总线标准,进一步规划了智能住宅的技术标准。在东南亚,新加坡的智能建筑技术研究处于领先水平,如宝德胜家庭智能化系统,已经用于30多个住宅小区。在“亚洲家庭电器与电子消费品国展览会”上展示的“未来之家”,其智能品质受到人们的普遍关注。由于我国的房地产,自动化技术等起步较晚,对智能住宅的研究刚刚起步,但己经引起了有关部门的高度重视。有关机构统计表明,全球家庭智能化市场的年平均增长率为8%,家庭网络市场总额为57亿美元,智能家居产品销售额达到140亿美元。为了抢夺这块“蛋糕”.国内众多企业纷纷试水该产业,包括TCL、海尔、清华同方等大型企业利用品牌优势系入该产业,而数干家中小企业也一日益成为行业中的生力军。业界人士认为,制约该产业发展有“三道坎”:一是由于智能家居产业国家还没有统一的行业标准,很多中小企业各自为政,相互间的产品不具兼容性;第二,由于技术人员投有做深入的市场调查,开发出的产品虽然技术上具有先进性,但实用性差,操作复杂,与市场需求脱节:第三,由于技术上需要投入大量研发资金,一些中小企业没有能力持续创新,更难形成规模生产,造成产品价格居高不下。总的来说,我国智能家居信息化有着广泛的市场前景,研究适合于中国国情的智能家居系统必然有着巨大的市场前景。智能家居远程控制系统技术的发展趋势数据采集是现代检测技术的基础,同时也是自动化测试中重要的组成部分,它为测试系统提供可供分析的数据。常用的数据采集系统有两种,一种是以单片微处理器为核心的数据采集系统.它的构成主要由传感器、放大器、采样保持器、模拟多路开关、A/D转换器、微处理器及其它一些外围器件构成。第二种是基于通用微型计算机(如PC机)的数据采集系统。这类系统一般由计算机和数据采集卡组成,目前数据采集卡一般基于标准总线(如工控标准总线STD、传输位总线BIT—BUS、CAN总线、PC总线等总线系统)并带有高速DSP,通过计算机插槽与计算机相连,形成内插式工作方式。数据采集系统的性能可以通过以下几个指标来衡量:(1)系统分辨率。是指系统可以分辨的输入信号的最小变化量。(2)系统精度。指当系统工作在额定采集速率时.每个离散子样的转换精度,是系统实际输出值与理论输出值之差。系统精度是系统各个环节精度的集中表现.一般达不到模/数转换器的精度。模/数转换器的精度是系统精度的极限值。(3)采集速率。是指在满足系统精度指标的前提下,系统对输入模拟信号在单位时间内所完成的采样次数,即系统每个通道、每秒钟可采集的子样数目。(4)动态范围。信号的动态范围是指信号的最大幅值和最小幅值之比的分贝数。目前国外的数据采集系统的研制已经相当成熟,而且种类繁多,性能好,功能强大,并且以基于通用微型计算机的系统居多,这种系统的核心是可插入计算机标准插槽的高速数据采集卡。在国内,很多大学、科研机关、公司也从事着数据采集系统的研制。随着数据采集技术不断发展.市场上出现了很多新型的数据采集器。如北京中泰研创科技有限公司的数据采集系统PCI-8344B,它具有16位A/D,8通道并行同时转换,每个通道的转换速率都可以达到l00KHz。四川拓普数字设备有限公司的PCI-10016具有4通道模拟量输入,具有16位的A/D,最高采样率l00Ksps。北京康泰电子有限公司的DAQ-1602/PCI16位PCI总线数据采集板,具有16位、250KHz和500KHz的A/D输入、四种可编程增益选择、2048字节的数据缓存。对比国内外现有数据采集系统的性能、价格和功能,可以看出:国外的数据采集系统精度高、采样速度快、功能全,但是价格昂贵.并且体积较大,操作复杂。国内的数据采集系统虽然价格较为便宜,但与国外的相比无论精度和速度都存在一定的距离。方案研究的内容与特色方案研究的目的就在于设计一种低成本、高效率、简捷便利的智能家居控制器。传统控制技术中.若对家居设备进行监控,需要通过专用通信线,不仅通信介质是专用的,而且通信协议、配套软件和硬件都要专门设计。而采用嵌入式Web技术,只需将嵌入式设备连接到Internet,便可方便的实现监控功能。本文设计的控制器采用嵌入式Web技术将家庭中的大量传统家电设备和信息家电互连,实现集中控制和管理,并可提供一个家居内部以太网与外部以太网或Internet的接口,以满足远程访问和控制,使原来的普通住宅真正成为一座融安全性、舒适性、方便性、健康性、经济性于一体的智能化住宅。利用以太网能与Intemet进行无缝连接,还有比较大的带宽,能适应家庭语音、视频等数据量较大的通信场合。用以太网组建智能家居网络平台具有其它网络无法达到的优点。嵌入式设备可以通过以太网口直接与Interact进行交互。无需增加额外的设备如协议转换网关等。为适应现代家庭生活而设计的家庭网络智能控制体系结构,方案集成了当今的网络技术、自动化技术、计算机技术。整体来看,智能家属系统由家庭智能应用终端、嵌入式家庭内部网络通信平台、和嵌入式智能家庭网关组成。一方面,家庭内部网可以通过内部智能通信平台在家庭内部通过摇控板、按键操作等方式与用户进行交互,如无线控制设备的开关、异常事件如煤气泄漏、漏电、漏水、火情的语音报警等。另一方面.家庭内部网也可以通过网关与Internet进行交互,用户可以通过Web来访问或控制家用电器设备(主动访问),或者家电设备可以通过手机模块进行短信群发或邮件群发等方式向用户报告家庭内部状况(被动访问)。本文中着重讨论了利用以太网口以嵌入式计算机为硬件平台,开发家居控制中心的设计与实现。主要完成的工作有: (1)、在目标机的NANDFlash上下载引导程序U-Boot(2)、在目标机的NANDFlash上移植和下载Linux内核(3)、在目标机的NANDFlash上下载自制根文件系统(4)、安装交叉编译环境(5)、配置NFS网络文件系统(6)、架设嵌入式WEB服务器(7)、编写Linux驱动程序(8)、设计WEB用户界面(9)、编写启动脚本所设计的方案具有以下的特色:(1)、由于采用的嵌入式WEB服务器BOA为单任务服务器,因此不具有并发性。通过采用Linux的内核定时器机制使系统具有了并发执行多个任务的能力,同时提高了WEB页面的响应速度,改善了用户的体验和系统的整体性能。(2)、系统所采用的用户界面贯彻了“傻瓜化”思想,简单易用。即使不会用电脑也能在几分钟内轻松学会。同时系统豹安全性也得到了改善。(3)、“一键通”。即插上网线后打开电源就能使用。同样贯彻了“傻瓜化”的思想。智能家居远程控制系统的总体方案系统的需求分析经过前几年各商家、媒体对家居智能化概念性的宣抟,现在消费者对智能家居产品已经不断熟悉。有关调查显示,消费者已经接受了智能家居这一产品的概念且有购买意向。而在家电控制产品价格方面绝大多数的消费者的承受价位在5000元以内,近l/3的消费者承受价位在2000元以下。然而时至今日,国内厂家自行研制、开发的智能家居产品不太成熟,而有一些国外的知名品牌由于价格太高,无法满足国内市场的需求。所以智能化家居产品的确蕴涵了无限商机。但是要真正挖掘如此大的市场,则需要研究消费者的深层需求哪。嵌入式技术在最近几年得到了广泛的发展。嵌入式处理器的性能得到了显著的提高,这就为以嵌入式为基础的智能化家居系统的发展奠定了硬件基础,使较复杂的检测和识别算法在系统中得到应用。在软件方面,出现了丰富的支持嵌入式设备的软件,使嵌入式系统的开发的难度降低。出现了大量专注于嵌入式的企业,使嵌入式开发中能得到良好的技术支持。同时智能化家居的概念也更加明确。相关的智能化技术得到了显著的发展,使开发能获得大量先进的资料。系统的总体规划设计随着互联网技术的发展,宽带网络在全国范围内迅速扩展。许多新建住宅小区都将以太网铺设到了用户家庭,使得整个小区的居民通过以太网实现宽带上两成为可能。同时,随着社区服务的完善。智能小区需要通过一个安装在每个家庭的终端设备实现信息发布、物业管理、三表传送、紧急求助等功能。以往,这样的信息终端和社区服务中心通过铺设专线,如485总线来进行连接,工程量大,故障率高,且由于只能采取主机轮循方式而效率较低。如果能够利用已经铺设到用户家庭的、现成的、稳定的以太网络组建社区综合服务体系是一项非常有意义的事情。而目前基于以太网的信息终端通常采用32bit的微处理器和Linux等通用操作系统,这种结构开发周期短、功能强、信息交换速率高、但致命的是成本太高,这也是一直在国内无法推广的主要问题。因此,向智能小区的每个住宅提供一个基于16/32位MCU连接以太网的低成本信息终端。不仅具有实用价值,而且市场前景也相当广阔。在本方案中,设计了一台家居服务器,即家庭主机,可以安装在智能小区的每个家庭中,它是相对独立的智能测控设备,可以直接与小区的以太网相连接。考虑作为一个成本敏感的消费电子产品,以提供实用化功能为原则,将其控制在一个适当合理的价格范围。在此应用中,信息终端对数据交换的速率要求并不高,所以可采用价格低廉的高速CPU,从而将整个终端的成本降到用户能承受的范匿内。系统的体系结构(1)、嵌入式家庭远程监控系统结构:如图2-1所示。图STYLEREF1\s2-SEQ图表\*ARABIC\s11嵌入式家庭远程监控系统反馈(2)、系统软件架构反馈浏览器浏览器请求请求嵌入式Web服务器嵌入式Web服务器CGI程序静态HTML驱动模块3驱动模块2驱动模块1驱动模块3驱动模块2驱动模块1硬件硬件图STYLEREF1\s2-SEQ图表\*ARABIC\s12系统框架系统实现功能系统采用32位嵌入式系统作为控制终端和家中各种家电设备相连,完成数据采集和控制信号的传输。控制终端和Internet的互连和用户的交互,则由控制终端嵌入式操作系统的Web服务器来完成,在嵌入式系统的存储器中存放着我们设计好的控制页面,该页面位于服务器默认的目录下,当控制终端配置好IP地址并运行Web服务器后,远程用户在网络上任何一台客户机上输入控制终端的IP地址,就可以访问到服务器的监控主页。用户和服务器的动态交互是通过CGI程序束实现的,它是服务器接受用户信息进行处理并将结果返回给用户的过程。当用户通过控制页面输入了一个控制命令(比如电灯的打开),这个指令将作为一个请求传给Web服务器,服务器守护进程接收到该请求后,就会创建一个子进程称为CGI子进程,该CGI子进程将用户的请求设置成环境变量,然后启动外部CGI程序,该程序的输出通过硬件控制器变为开关量或模拟量,从而实现对家庭中各种设备的控制和调节,结果可以返回给客户端浏览器。智能家居远程控制系统硬件设计硬件体系架构硬件平台一般采用模块法设计,包括核心板和扩展板。核心板为基于ARM的最小系统,包括ARMS3C2410、Flash、SDRAM、串口等基本部分。这样,只需设计不同的扩展板即可实现不同的系统功能,节省了开发成本并提高开发的灵活性,扩展板主要包括特殊用图的USB接口、以太网接口、LCD接口。主要模块的功能描述:CPU单元:S3C241016/32-bitARM920T内核,内部带有全性能MMU(内存管理单元),具有开放式设计,集成度商,可扩展性强,功耗低等特点。存储器单元:64MBNandFlash,64MBSRAM电源管理单元:为系统提供5V、3.3V、1.25V的供电电源。复位电路:包括上电复位和手段复位,至少保持4个时钟周期的有效低电平,保证系统的可靠复位。时钟电路:外部12MHz时钟输入,经内部PLL倍频至200MHz及32.768kHz的RTC时钟输入。网络接口:为系统提供以太网接入的物理通道。电源管理模块系统需要使用5V、3.3V、1.25v的直流稳压电源,其中内核工作需要1.25V电源,ARM的IO端口工作和部分器件需要3.3V。为触摸屏提供5V直流稳压电源。这三种电压产生方法是5V从外部直接引入,作为系统的总电源,一路直接供给作为工作电源,一路分流到LT1085的输入端;LT1085电源稳压芯片的输出端产生3.3V电压,一路供给板子上器件,一路分流到稳压MAX8860EUA的输入端,其输出端产生1.25V,两电源原理图如图3.1所示。图STYLEREF1\s3-SEQ图表\*ARABIC\s11电源电路原理图时钟复位模块S3C2410部分需要两路时钟输入,一路是S3C2410工作时钟输入,另一路提供给RTC电路。S3C2410工作时钟是一个有源晶振,直接输出12MHz时钟信号到S3C2410,由S3C2410内部PLL倍频到200MHz,两路时钟输入见图3.2。图STYLEREF1\s3-SEQ图表\*ARABIC\s12时钟电路原理圈复位对于系统来说很重要,由于各个单元要进入正常工作状态,需要可靠地复位,正常情况下,一般有上电复位和手动复位。如果电源电压出现波动,系统会非正常复位,这个时候会发生复位时间不够而造成一些错误甚至死机,所以复位监控电路也是必要的。复位电路选用的芯片是MAX811S,原理图见图3.3。图STYLEREF1\s3-SEQ图表\*ARABIC\s13复位电路RS232串口模块S3C2410的UART单元提供独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下工作。支持最高波特率为1152kbps,每个UART通道包含2个16位的FIFO,分别用于接收和发送数据。UART可以进行以下参数设置:可编程波特率,红外收/发模式,1或2个停止位,5位、6位、7位或8位数据宽度和奇偶校验位。每个UART包含一个波特率发生器、发送器、接收器和控制单元。波特率发生器以MCLK作为时钟;发送器和接收器包含16字节的FIFO和移位寄存器。系统中采用芯片MAX3232作为RS-232的电平转换,实现串口通信。串口UART模块见图3.4,其中C40-C44电容值均为0.luF。图STYLEREF1\s3-SEQ图表\*ARABIC\s14串口UART模块JTAG模块JTAG对于产品来说不需要这个接口,但是在开发产品的过程中,JTAG接口是必不可少的,板子运行的第一个程序:Bootloader是通过JTAG下载,调试阶段JTAG也起到非常重要的作用.其原理图见图3.5。图STYLEREF1\s3-SEQ图表\*ARABIC\s15JTAG电路原理图Flash存储模块与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存储速度大大高于F1ash存储器,且具有读写的属性,因此,SDRAM在系统中主要用作程序运行空间,数据及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时.系统及用户堆栈、运行数据也都放在SDRAM中。S3C2410在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口。本系统采用的两片Samsung公司的K4S56132C-TC75芯片构建32位的SDRAM存储器系统。每片K4S561632C的存储容量为16组*6M位,工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度,连接原理图见图3.6a、3.6b。图STYLEREF1\s3-SEQ图表\*ARABIC\s16SDRAM电路原理图(a)图STYLEREF1\s3-SEQ图表\*ARABIC\s17SDRAM电路原理图智能家居远程控制系统软件开发嵌入式开发软件平台目前市场上流行的嵌入式操作系统比较多,主要有:嵌入式Linux、uC/OS、WinCE等。相比之下Linux从诞生到现在短短的十几年的时间已经发展成为功能强大、设计完善的操作系统。不仅在通用系统领域与Windows等商业系统分庭抗争,而且在嵌入式操作系统领域也获得了飞速的发展。嵌入式Linux对标准的Linux进行了小型化裁剪处理,固化在存储器或单片机中。在操作系统的选择上,对实时系统,uC/OS-II当然是比较好的选择,但本智能家居系统中对实耐性要求不高,况且uC/OS-II的驱动程序太少。缺少必要的“基础设施”,许多设备比如以太网口都要自己编制驱动程序,相比之下,嵌入式Linux是个不错的选择。因为既有以下优势:(1)开放源码.有丰富的软件资源。(2)功能强大的内核,性能高教、稳定,多任务。(3)支持多种体系结构(4)完善的网络通信、图形和文件管理机制(5)支持大量周边的硬件设备(6)大小功能都可定制。交叉编译环境交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。这里的平台,实际上包含两个概念:体系结构(Architecture)、操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x86winNT平台实际上是Intelx86体系结构和windowsNTforx86操作系统的简称。就ARM而言,之所以使用交叉编泽是因为在该硬件上无法安装我们所需的编译器,只好借助于宿主机,在宿主机上对即将运行在目标机上的应用程序进行编译,生成可在目标机上运行的代码格武。U-Boot原理分析与移植UBoot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。U-Boot源码目录结构1.board:开发板相关目录2.common:通用的命令函数
3.cpu:特定CPU架构相关目录,如arm920t4.doc:uboot的开发、使用文档
5.drivers:uboot支持的设备驱动程序,比如串口,nandflash,网卡6.fs:支持的文件系统,Uboot现在支持cramfs、fat、fdos、jffs2和registerfs。7.include:头文件和开发板配置文件,configs目录下是开发板的配置文件8.lib_xxxx:与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。
9.lib_generic:通用的库函数10.net:各种网络协议,TFTP协议、NFS协议等。
11.tools:uboot自带的工具U-Boot的移植解压U-BOOT-1.1.6,进入U-BOOT目录,修改Makefile:在smdk2410_config:
unconfig@$(MKCONFIG)$(@:_config=)armarm920tsmdk2410NULLs3c24x0加上XJB2410_config
:
unconfig@$(MKCONFIG)$(@:_config=)armarm920tXJB2410NULLs3c24x0在第128行:ifeq($(ARCH),arm)CROSS_COMPILE=arm-linux-修改完Makefile后,在board目录下,新建自己的开发板目录XUJINB2440,把smdk2410目录下的所有文件拷到XUJINB2440,把smdk2410.c改为XUJINB2440.c。修改该目录下的Makefile,把smdk2410.o改为XJB2410.o。COBJS :=XUJINB2440.oflash.o将board目录下所有文件夹全部删除,只留XUJINB2440,在include/configs目录下创建板子的配置头文件,把smdk2410.h改名为XUJINB2440.h,再把所有的文件全部删除,只留XUJINB2440.h,用chmod764mkconfig加上权限,然后再make,成功后可出现ConfiguringforXUJINB2440board修改SDRAM配置,在board/XUJINB2440/lowlevel_init.S中,检查#defineB6_BWSCON(DW32)位宽为32,把B1_BWSCON改为(DW16)B5_BWSCON改为(DW8)根据HCLK设置SDRAM的刷新参数,主要是REFCNT寄存器,开发板HCLK为100M,将#defineREFCNT 0x1113改为#defineREFCNT0x4f4,增加对S3C2440的支持,2440的时钟计算公式、NAND操作和2410不太一样。对于2440开发板,将FCLK设为400MHz,分频比为FCLK:HCLK:PCLK=1:4:8。编译U-Boot,#make,在顶层目录下可以看到编译完成的映像文件U-Boot.bin,利用EmbestOnlineFlashProgrammerforARM软件,将映像文件U-Boot.bin通过JTAG烧写到NorFlash中,烧写地址为:0x00000000-0x00020000。烧写完成后,重启开发板就可以在超级终端中看到U-Boot的启动信息了。至此,U-Boot的移植工作就完成了。移植开发环境搭建完成,接下来就可以进行Linux内核的移植了。Linux内核分析与移植(1)内核源码目录结构分析Arch:与体系结构相关的代码。Drivers:所有设备驱动程序代码,它占整个内核代码量一半以上,每一个子目录对应一类驱动程序。Fs:文件系统代码,每个支持的文件系统有相应的子目录,如cramfs,yaffs,jffs2等include:包括编译内核所需的大部分头文件,与平台无关的头文件放在include/linux子目录下,平台相关的头文件如include/asm-arminit:内核初始化代码kernel:内核管理核心代码lib:库函数代码Mm:内存管理代码Net:网络支持代码Sound:音频设备驱动代码Scripts:用于配置内核的脚本文件Documentation:内核相关文档(2)Linux的启动过程第一阶段:检查内核是否支持当前处理器架构和开发板,禁止Cache,使能MMU,设置栈指针,调用start_kernel。第二阶段:init/main.cstart_kernel完成内核初始化全部工作,最后调用rest_init函数启动init进程。内核文件:vmlinux编译出来的最原始的内核文件,未压缩zImage是vmlinux经过gzip压缩后的文件uImage是U-boot专用的映像文件,由bootm命令启动(3)准备移植获得内核源码:到官网/获得最新版本的内核源码。解压源码,进入目录:#tarxjvflinux-2.6.31.bz2#cdlinux-2.6.31修改Makefile的183行:ARCH?=arm<—指定系统硬件架构CROSS_COMPILE?=arm-linux-<—指定交叉编译器修改时钟:修改arch/arm/mach-s3c2440/mach-smdk2440.c的163行staticvoid__initsmdk2440_map_io(void){s3c24xx_init_io(smdk2440_iodesc,ARRAY_SIZE(smdk2440_iodesc));s3c24xx_init_clocks(12000000);<—输入时钟为12MHzs3c24xx_init_uarts(smdk2440_uartcfgs,ARRAY_SIZE(smdk2440_uartcfgs));}修改:arch/arm/tools/mach-types的379行:s3c2440………XXX配置:#makemenuconfig<—进入图形化配置界面在配置菜单中选择这一项:"LoadanAlternateConfigurationFile",输入2440的默认配置文件:arch/arm/configs/s3c2410_defconfig,这个文件就是S3C24XX系列开发板板级支持包(BSP)然后选择OK,按回车。进入"SystemType"选项单,里面的选项保持默认在"S3C24XXMachine"选项中只配置这几项(其他的选项取消):S3C2410Machine>[*]SMDK2410/A9M2410S3C2440Machine>[*]SMDK2440[*]SMDK2440withS3C2440cpumoudle配置完后,回到主菜单,选择这一项"SaveanAlternateConfigurationFile",输入要保存的配置文件名称:.config(默认)或自己取名:TX2440A_config,退出,编译内核:#makezImage说明:以后移植过程中的配置、编译,都是按这个步骤进行,但是只需要保存一次配置文件,以后就不需要再保存配置文件了,配置完后可以直接退出。编译完后,会在arch/arm/boot下生成zImage内核镜像文件,可以修改该目录下的Makefile,在第57行下面添加:@cp-farch/arm/boot/zImagezImage@echo'Kernel:$@isready'这样执行makezImage后,就把生成的zImage拷到内核根目录下。如果希望在在执行makedistclean时,也同时把zImage删除,可以修改内核根目录下Makefile的第1247行,在后面加上:-typef-print|xargsrm-frmzImage把zImage镜像烧进NandFlash跑一下,看是否正常打印出信息,如果第一步能正常引导内核,那就开始进行第二步,添加驱动。文件系统制作创建根文件系统目录,主要包括以下目录:/bin、/etc、/dev、/home、/lib、/mnt、/opt、/proc、/root、/sbin、/sys、/tmp、/usr、/var。建一个名为root_2.6.31的文件夹#mkdirroot_2.6.31在该文件夹下创建上述目录#mkdirbinetcdev……………然后编译busybox解压busybox,进入源码目录,修改Makefile:CROSS_COMPILE=arm-linux-,ARCH=arm。执行#makemenuconfig进行配置busybox,配置选项大部分都是保持默认的,只需要注意选择以下这几个选项,选择BuildBusyboxasastaticbinary(nosharedlibs和BuildwithLargeFileSupport(foraccessingfiles>2GB)这两个选项,进入(./_install)Busyboxinstallationprefix这个选项,输入busybox的安装路径。一定要选择Fancyshellprompts这个选项,否则挂载文件系统后,无法正常显示命令提示符配置完后,执行make和makeinstall,然后就会在上一级目录下生成rootfs文件夹,里面包含几个文件夹/bin、/sbin、/usr、linuxrc。把这些文件全部复制到刚建好的root_2.6.31目录下。最后制作文件系统,在dev目录下,创建两个设备节点:#mknodconsolec51#mknodnullc13进入etc目录,添加文件:(1)拷贝Busybox-1.15.2/examples/bootfloopy/etc/*到当前目录下。#cp-r../../busybox-1.15.2/examples/bootfloopy/etc/*./包括的文件:fstab、init.d、inittab、profile(2)拷贝/etc/passwd、/etc/group、/etc/shadow到当前目录下。#cp/etc/passwd./#cp/etc/group./#cp/etc/shadow./(3)修改inittab文件:内容如下:console::sysinit:/etc/init.d/rcSttyS0::respawn:-/bin/shs3c2410_serial0::askfirst:-/bin/sh::once:/usr/sbin/telnetd-l/bin/login::ctrlaltdel:/bin/umount-a-r(4)修改fstab文件,内容如下:proc/procprocdefaults00tmpfs/tmptmpfsdefaults00sysfs/syssysfsdefaults00tmpfs/devtmpfsdefaults00var/devtmpfsdefaults00(5)修改init.d/rcS文件,内容如下:#!/bin/shPATH=/bin:/sbin:/usr/bin:/usr/sbinrunlevel=Sprevlevel=Numask022exportPATHrunlevelprevlevelmount-amkdir/dev/ptsmount-tdevptsdevpts/dev/ptsecho/sbin/mdev>/proc/sys/kernel/hotplugmdev-smkdir-p/var/lock/bin/hostname-F/etc/sysconfig/HOSTNAME(6)修改profile文件,内容如下:#Ashprofile#vim:syntax=sh#Nocorefilesbydefault#ulimit-S-c0>/dev/null2>&1USER="`id-un`"LOGNAME=$USERPS1='[\u@\h\W]#'PATH=$PATHHOSTNAME=`/bin/hostname`echo"Processing/etc/profile..."echo"Done"exportUSERLOGNAMEPS1PATH(7)新建sysconfig文件夹,在里面新建HOSTNAME文件,内容为:XJB2410A(8)拷贝库文件:进入lib目录,拷贝交叉编译器的库文件到lib目录下,由于交叉编译器的库文件比较多,体积较大,所以需要裁剪一下库文件,只保留常用的库文件,(9)到这里,文件系统框架已经做好,我们需要把文件系统制作成可以烧写进Nandflash中的yaffs2镜像文件。使用mkyaffs2image工具,制作yaffs2镜像,通过执行#mkyaffs2imageroot_2.6.31root_2.6.31.bin,得到root_2.6.31.bin就是yaffs2文件系统镜像,要先修改它的权限,否则该文件无法被复制,把root_2.6.31.bin下载到nandflash中的文件系统分区Boa服务器分析与移植Boa是一个单任务的HTTP服务器,源代码开放、性能高,它最初的设计目标是提供快速的安全的HTTP服务器.在网上(bttp://www.boa.org)下载最新的Boa源代码。Boa是一个非常小巧的Web服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。它的可执行代码只有约60KB.它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持cGI(COmmOnGatewayInterface),能够为CG工程序fork出一个进程来执行。Boa的设计目标是速度和安全,在其站点公布的性能测试中,Boa的性能要好于Apache服务器。创建的具体过程如下。(1)、编译boa程序1、下载boa-0.94.13.tar.gz。2、解压3、#./configure4、#make(2)、修改配置文件boa.conf1、建立/etc/boa目录,并复制boa.conf到/etc/boa目录下,并按照以下步骤进行修改。2、修改访问权限:修改Usernobody为User0,修改Groupnogroup为Group0。3、设定日志目录:boa日志有两部分,Errorlog和AccessLog,一般情况下为/var/log/boa/error_log和/var/log/boa/access_log两个文件。所以根据自己的情况情况设置日志目录:ErrorLog/var/log/boa/error_logAccessLog/var/log/boa/access_log4.设置html文件目录:DocumentRoot/var/www5.设置默认首页:DirectoryIndexindex.html6.设置cgi脚本目录:将ScriptAlias/cgi-bin//usr/lib/cgi-bin修改为ScriptAlias/cgi-bin//var/www/cgi-bin。(3)、根据第二步设置建立相关文件夹并放入文件1、根据(第二.3步)的设置建立/var/boa文件夹。2、根据(第二.4步)的设置建立/var/www文件夹,并在此目录下存放html文件,包括index.html文件。3.根据(第二.6步)的设置建立/var/www/cgi-bin文件夹,并存放一些用来测试的cgi脚本。(4)、运行boa程序在windows下通过30(虚拟机的IP地址)这种形式访问,进行测试。(5)、移植到开发板1、(第一.3步)操作完成之后,修改Makefile文件,将CC=gcc和CPP=gcc-E改为:CC=arm-linux-gcc和CPP=arm-linux-gcc-E,然后执行make。#arm-linux-stripboa//去掉调试信息,减少boa体积2、拷贝PC上/etc/mime.types文件到开发板/etc目录下,如果不用mimi.types,可将boa.conf文件中MimeTypes/etc/mime.types修改为:MimeTypes/dev/null,然后将网页文件放在/var/www目录下,cgi脚本放在/var/www/cgi-bin目录下。在开发板上运行boa,在主机IE上输入开发板IP,可看到网页。智能家居远程控制系统服务器的实现嵌入式Web系统原理在嵌入式设备中有一个Web服务器.就可以使用任一种Web铡览器接收和发送信息。那么如何设计这种特别的服务器,如何在嵌入式设备中安装Web服务器,就成为嵌入式Web服务器发展和研究方向。一般来说.嵌入式Web服务器具有如下主要功能:(1)对设备的实时监控管理,参数在线查看和配置等。(2)响应对客户的实时HTTP请求.并为每个客户建立连接。(3)对设备访问的安全控制机制,包括SLL,用户口令等。(4)实现设备的故障报警。(5)保证不同操作系统或客户端对设备访问的一致性。嵌入式Web服务器一般包括核心部分和可裁减部分.核心部分包括HTTP请求解析器和模块分析器。HTTP请求解析器负责接收客户发送的HTTP请求报文,获得客户端信息,井把解析出来的结果保存到请求结构中;模块分析器根据配置信息调度其他模块。模块主要分为系统功能模块和用户功能模块,一旦配置了系统功能模块,该模块就对服务器收到的请求进行处理,则系统功能模块主要分为3个部分:文件系统访问模块(针对静态网页)、CGI处理模块(针对动态网页)、赋值处理(针对用户控制作用)。HTML静态网页的制作Web方式的应用开发一般都会将界面和程序逻辑脱离开来,允许在一定程度下更改界面。如改变界面文本的属性,建立多语言版本等,而无需改动程序逻辑。在HTML中,表单(FORM)是最主要的传递信息的手段。它适用于任何浏览器。表单中有很多元素.包括输入文本框,单选框。多选框,按钮,等等,可以提供信息的交互。CGI程序的工作一般就是接收表单数据,进行数据处理,最后根据处理结果生成新的页面返回给浏览器。表单数据一般是以POST方法提交给服务器,由CGI程序获得,程序必须要将界面数据和内部数据对应起来才能够进行下一步的处理。本文的HTML静态网页测试文件为test.html,主要功能是显示一个具有交互功能的欢迎界面,并将其拷贝到文件系统的/邮t/etc/var/m/目录下。该文件的程序功能流程图如图5.1所示:YNYNNY开始系统初始化Web请求?认证通过?读取电机状况生成Web数据通过Web提交数据分析提交数据符合要求?N控制电器图STYLEREF1\s5-SEQ图表\*ARABIC\s11html程序流程图启动开发板,在PC机IE浏览器地址栏输入相应的IP地址0/index.html,即可打开该网页,显示如图6.2所示:图STYLEREF1\s5-SEQ图表\*ARABIC\s12html测试网页CGI程序开发CGI是:“公共网关接口”(CommonGatewayInterface)的简称是Web服务器和主机应用程序之间进行信息交换的一种接口标准或规范。通过CGI,Web服务器可以激活一个应用程序,同时将用户提交的数据传递给这个程序,随后,又可将该程序的响应(输出)返回给浏览器。CGI处理步骤:1.通过Internet把用户请求送到服务器2.服务器接收用户请求并交给CGI程序处理3.CGI程序把处理结果传送给服务器4.服务器把结果送回到用户针对上述HTML静态网页代码,CGI程序main.c程序功能流程图如图5.3所示:登陆界面登陆界面Login.cgi检测用户当前信息主界面Jdlb.cgi家电列表Wipz.cgi当前网络配置logout.cgi注销本次登陆家电列表Jdkz.cgi解析家电设备文件家电的网络配置信息Gxpz.cgi更新网络配置家电控制Jtcz.cgi发出控制命令图STYLEREF1\s5-SEQ图表\*ARABIC\s13CGI程序流程图该代码拷贝到CGIC的目录下,并将该编译选项添加到该目录下的Makefile文件中,交叉编译完成后生成main.cgi,并将拷贝到根文件系统/mnt/etc/var/www/cgi-bin/目录下。点击上述html测试网页中的“提交”按钮,就会出现反馈信息页面,如图5.4所示:图STYLEREF1\s5-SEQ图表\*ARABIC\s14CGI反馈信息网页结论ARM平台是目前使用广泛的主流的嵌入式处理器体系结构,因此也是学习和开发的热点。本文主要围绕着建立ARM—Linux嵌入式开发平台的几个核心技术展开讨论,所做的工作主要包括以下几点:1、简要介绍了嵌入式系统的相关内容,分析了本课题的研究背景、意义及国内外研究现状。2、从本文所使用的S3C2410集成开发板出发.对ARM9体系结构的特点进行了详细的归纳、总结和分析。3、对嵌入式操作系统进行了简单介绍,并分析了嵌入式LiIItlX内核移植的基本方法。4、搭建了基于ARM9的嵌入式Linux开发平台。包括交叉开发环境的搭建,系统初始化程序BootLoader的实现原理、启动过程分析和移植、Linux内核的移植,网卡驱动的移植.以及根文件系统的创建。5、在上述搭建的软硬件平台上创建Web服务器,提出了基于Boa的嵌入式Web服务器的解决方案和利用CGI接口基于C语言动态。Web服务器页面的实现,并通过PC机IE浏览器可以直接控制目标扳上的硬件和可执行程序,实现了对目标板的远程监控功能。在平台搭建的过程中综合使用了多种调试手段来解决宿主机和目标平台的通讯问题,如基于NFS服务的交互式开发等。本文成功实现了课题研究目标,即实现了基于ARM9的嵌入式Linux开发平台构建,并在构建的软硬件平台上创建嵌入式Web服务器Boa,然后在其上进行应用开发,最终实现了Boa的动态网页交互功能和对目标板的远程监控功能。由于本人也是刚涉足嵌入式领域不久,对嵌入式系统了解甚浅。在平台建立的过程中遇到了种种难题,如对Linux内核的研究不够深入,基于Web服务器的应用功能不够强大。针对这些疑惑和不足,下一步需要进行的工作是:深入研究Linux内核;继续进行基于Web服务器的应用开发,使它能实现更强大的功能,并最终应用到工业控制等领域。参考文献社春蕾.ARM体系结构与编程.北京:清华大学出版社,2003DANIELP.鼢vET&MARCOCESATI.深入理解LINUX内核.陈莉君,冯锐,牛欣源.第二版.北京:中国电力出版社,2004杨斌.嵌入式系统原理及应用.成都:西南交通大学信息科学与技术学院,2005rirangaVeeraraghavan。精通Shell编程。卢涛.第二版。北京:人民邮电出版社,2003田泽.ARM9嵌入式开发实验与实践.北京;北京航空航天大学出版社,2006潘巨龙,黄宁,姚伏天,陈科杰。道克刚.ARM9嵌入式Linux系统构建与应用.北京:北京航空航天大学出版社,2006农孙博。范正剐.LiflUX平台下的Web编程。北京:人民邮电出版社,2000施威铭研究室..LiNUX7指令参考手册.北京:人民邮电出版社,2001康博创作室编著。LiFlUX操作指南.人民邮电出版社,1999]李驹光.ARM应用系统开发详解.北京:清华大学出版社,2004贾明,严世贤.LiFlUX下的C编程.北京:人民邮电出版社,200l张翔,裘岚,张晓芸等.C语言函数大全.北京:电子工业出版社,2002许社村.RedHatLinux9中文版入门与进阶.北京:清华大学出版社,2003马季兰,彭新光.Li:FlUX操作系统.北京:电子工业出版社,2002薛智文.操作系统.北京:中国铁道出版社,2003毛德操,胡希明.Li仙x内核源代码情景分析.浙江:浙江大学出版社,2001王学龙.嵌入式Linux系统设计与应用.北京:清华大学出版社2001张威
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生数字素养评价结果反馈在信息技术课程教学评价中的实践与探索教学研究课题报告
- 初中数学教师智慧教学能力提升策略与教学效果评价教学研究课题报告
- 基于科学探究的初中物理教学策略研究与实践教学研究课题报告
- 2026年国家空间科学中心质量管理处招聘备考题库及完整答案详解
- 2026年温州市城乡规划展示馆讲解员招聘备考题库完整答案详解
- 内乡县人民医院2026年招聘卫生专业技术人员备考题库有完整答案详解
- 2026年江西科技学院单招职业技能笔试备考试题及答案解析
- 初中英语戏剧教学与口语表达能力的提升课题报告教学研究课题报告
- 2026年巴州新华书店有限责任公司若羌县分公司招聘备考题库有答案详解
- 2026年平潭综合实验区人力资源服务有限公司劳务外包人员招聘备考题库及答案详解1套
- 2025年淮北市相山区公开招考村(社区)后备干部66人备考题库及一套完整答案详解
- 道路桥梁全寿命周期管理技术研究与成本优化研究毕业答辩汇报
- 2024司法考试卷一《法律职业道德》真题及答案
- 2026年江西冶金职业技术学院单招职业适应性测试题库及参考答案详解1套
- 智能生产线实训系统
- 静脉治疗专科护士理论考试题含答案
- 2025年农业农村部耕地质量和农田工程监督保护中心度面向社会公开招聘工作人员12人备考题库有答案详解
- 国家开放大学电大《国际私法》形考任务1-5题库及答案
- GA/T 527.1-2015道路交通信号控制方式第1部分:通用技术条件
- 小学心理健康教育《我的学习“发动机”》教学课件
- 室内精装修分包工程策划汇报课件
评论
0/150
提交评论