第四章基于嵌入式网络教学平台的系统设计

时间:2019-05-12 21:02:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《第四章基于嵌入式网络教学平台的系统设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《第四章基于嵌入式网络教学平台的系统设计》。

第一篇:第四章基于嵌入式网络教学平台的系统设计

第四章基于嵌入式网络教学平台的系统设计

4.1平台设计的需求分析

面向课堂教学的网络辅助平台应以资源建设为核心,结合传统教学过程中的关键环节,充分发挥教师、学生的交互作用,为学生、教师、教务管理提供一个开放式的教、学、管三合一的综合环境;全面实现校园内的教学资源共享和跨平台的信息资源访问,成为一个完整统一、技术先进、高效稳定、安全可靠的基于Internet/Intranet的网络辅助教学平台。网络辅助教学平台的目的是借助Intemet的网络环境,建立一套功能齐全、使用方便、效率高的网上辅助学习环境。在该环境下,学生可以学习、练习、答疑和测试,教师可以开展网络教学活动,管理网络课堂,提供和分享优质的教学资源。管理员能在线进行用户、资源、角色和系统管理。平台应能很好地配合课堂教学,成为课堂教学的延伸和提高。

结合软件工程中的模块化程序设计思想,整个系统主要由4个子系统组成:网络辅助教学支持、网络辅助教学资源库管理、教学管理和系统管理四个子系统的网络辅助教学系统。(l)教学支持子系统为学生提供学生学习的主要参考资料,素材分学科管理。网上学习系统提供了网上学习环境。在该环境下,有教师上课的电子讲稿、CAI课件、教学大纲、教学日历、参考资料及习题等,同时还可以进行网上测试和作业。(2)教学教务资源管理子系统为教师和学生提供大量可供检索的网络课程和教学素材资源,对教师提供上传下载教学资源的接口。(3)学教务管理子系统可以对用户、教学资源进行在线管理,并可授权教务管理人员对网络课堂的教学情况进行巡视和观摩。(4)系统管理子系统可以在线对面板、角色、系统模块、系统用户进行管理,并可以对功能模块进行定义。

4.2平台架构设计

4.2.1平台基本架构

通过对网络环境下教学特点的研究,建立网络辅助教学平台的总体架构,根据图4-1所建立的模型,网络辅助教学平台由以下模块组成:网络辅助教学支持、网络辅助教学资源库管理、教学教务管理和系统管理四个模块组成。

图4一1网络辅助教学平台结构图

4.2.2平台功能模块设计

平台包括网络辅助教学支持、网络辅助教学资源库管理、教学教务管理和系统管理四个子系统,下面分别介绍各子系统的结构和功能。

(l)网络辅助教学支持系统(见图4-2)

网络辅助教学支持系统中的角色主要为教师和学生。用户登陆平台后,教师可以在线管理本课程的课件、布置(修改)作业、上传课件相关资料等。学生可以浏览相应的课程内容、在线完成作业、向教师提出问题等。该系统主要包括课程教学、师生交流两个子系统。

图4一2网络辅助教学支持系统结构图

上图中引擎层中各模块的处理流程如下: I.单点登录

网络教学平台有很多子系统,通过跨域单点登录,实现在平台内任一处登录,当导航到其他子系统时不需要再一次登录。跨域单点登录认证流程如下:

当用户在网络教学平台中任一子系统登录时,跨域单点登录系统会将用户经对称加密的认证信息(通常是用户名与密码)送到验证中心进行身份验证,验证中心会检查用户的COOKIE(面向验证服务器),如没有已登录信息,则会解密送过来认证信息进行身份验证,如果验证通过,则返回验证通过信息到请求认证的子系统,同时设置用户COOKIE(面向验证服务器)。否则返回验证错误信息到请求认证的子系统。II.功能引擎

本系统的功能、子系统,外部子系统或功能(如:博客、BBS、在线社区等)在功能引擎中注册,并进行推送。从而把它们嵌入到网络教学平台中。本系统的其他子系统如需要使用这些功能,管理员可进入后台管理界面进行功能定制。III.界面引擎

网络教学平台核心功能是资源的整合与展示,资源的展示界面是各种教学模式的载体。因此网络教学平台中资源通过界面引擎以不同的形式如博客、网络课堂、电子教室等形式展现出来。界面(模板)引擎处理流程如下:

当某一子系统启动时,界面(模板)引擎把读取的页面模板文件转换成文本流文件,然后在该流文件中查找各种标签,并负责调用对应的标签函数,用标签函数处理的结果替换文本流中相应的标签。当处理完所有的标签时,删除文本流中所有的空行,最后输出。IV.资源集成引擎

当用户管理自己上传的资源时,可以选择是否向资源中心推送(默认推送),资源集成引擎负责索引这些资源的地址到资源库中。

当用户要在页面中使用资源时,资源集成引擎会把用户的本地资源和资源库中的共享资源呈现在用户面前供用户使用,从而实现学校与学校、学校与企业、教师与教师、教师与学生、学生与学生之间的资源共享。(4)在系统设施阶段对系统编码、测试,形成可执行的系统。

① 课程教学平台

 课件浏览子系统:

集中管理己经开发成型的课件资源。学生根据所选的课程提供相应的课件地址进行浏览,教师则根据所上课程提供相应的课件地址进行浏览。

 课程公告子系统

关于某门课程的即时消息。教师可发布、修改、删除课程公告。 辅导答疑子系统

学生提出问题,由教师解答后发布给学生浏览。

 教辅资料子系统

教师上传的与该课程有关的教学辅助文件。供学生下载学习。 案例集锦子系统

教师提供的与该课程有关的经典案例供学生学习。 问题集锦子系统 教师提供的与该课程有关的常见问题及解答供学生学习。

 VOD点播子系统

为学生和教师提供学校精品课程、学术讲座等教学视频资源。 作业评阅子系统

教师布置、批改、分析课程作业,浏览作业的总体情况。学生在线修改和提交作业,并可以浏览教师评语,了解知识点掌握情况。

 自主考试子系统

教师可通过系统录入考试试题和答案,学生可自主选择课程的相应章节进行测试。 考勤记录子系统

用户登陆网络辅助教学平台后,系统将对用户的操作进行自动跟踪,并随时可提供详细的考勤记录和日志报告。② 师生交流平台

 课堂讨论

用户可针对某一课程的相关问题进行讨论,发表意见。

 学术论坛

平台为教师与学生提供强大的在线交流工具:学术论坛,在这里可以按学科、按资源进行相应的讨论区,搜索和发布相关主题。学生与教师可在某门课程的论坛上进行交流。论坛较之聊天室的好处在于可以将讨论的内容保留,供其他人浏览。(2)网络辅助教学资源库

网络辅助教学资源库(见图4-3)包括共享软件资源库和教学素材资源库。共享软件资源库面向所有用户,为用户提供丰富的共享软件资源。教学素材资源库主要面向教师,主要为满足教师开发网络课件的教学需求提供丰富的、多元化的多媒体素材资源。其主要由资源入库系统、资源类型管理系统、资源修改系统、检索系统四部分组成。

图4-3网络辅助教学资源库结构图

① 源类型管理子系统

面向系统维护人员,管理员可以按学科、类型建立资源目录,同时也具有对资源目录增加、删除、修改等操作权限。

② 资源入库子系统

面向教师和系统维护人员,可以向资源库增加各种类型的教学资源。由于系统采用关键字等多种组合检索方式,所以入库时必须将各类文件的全貌等非文字信息转换成可读形式的信息,对其特征直接采用自然语言进行多层次、多角度地加以准确描述。文字描述信息资源的特征的准确与否,关系到检索的查准率和查全率问题。

③ 源修改子系统

面向教师和系统维护人员,资源的作者和管理员可以对资源的属性,包括描述、类型、作者、大小、学科等相关信息进行修改,也可删除某一资源记录。④ 源检索子系统

对共享软件资源库的检索面向所有用户,教学素材资源库主要面向教师,检索采用基于表现形式的全文检索,具有按专业、课程、关键字及资源类型的多种组合检索方式。(3)网络辅助教学管理系统

网络辅助教学管理系统主要提供教学相关的管理功能,包括用户管理、课程管理、课堂观摩、系统新闻管理、欢迎词管理、校内资源链接管理、免费资源管理等部分。① 户管理

用户管理的面向对象为教务管理员与系统管理员。用户管理是对系统用户信息和权限的管理,包括对用户进行分角色管理及用户角色权限的分配管理。其中包括用户管理、用户权限管理、用户角色管理、用户角色权限管理和用户口令维护等功能模块。用户管理内容包括查看用户基本信息及选课情况,停(启)用某一账户,重置用户密码。用户注册模块结构如图4一4所示:

图4-4用户注册模块结构图

② 程资源管理

对课程资源的管理包括添加修改新课程、设置课程是否收费、查看该课程学生的缴费情况等。

③ 堂观摩子系统

教务管理人员在登陆后,可在课堂观摩子系统中查阅某课程传统课堂的教学安排。④ 系统新闻管理

添加、删除、修改系统新闻。⑤ 迎词管理 修改欢迎词界面。⑥ 共资源链接管理

添加、删除、修改平台界面资源链接。(4)系统管理

系统管理面向系统管理员,主要功能有定制系统界面、定制用户权限、管理各功能模块等功能。为系统管理及升级提供强大的功能。系统提供了可插接在线教育企业的全部控件的基础数据接口。这些系统管理工具提供了以下功能: ① 统模块定义:定义系统的功能子模块;② 级管理员管理:下级管理员信息的增删改;③ 统角色及权限管理:可对定义系统角色及角色权限;

4.3平台数据库设计

4.3.1数据库设计原则 辅助教学平台,所涉及到一个重要的问题是怎样才能有效管理各种有效信息和资源,数据库在其中起着非常重要的作用。

数据库的设计有以下一些原则:用全局E-R图技术设计数据库(实体关系图)组织所有的原始数据,实现了全局数据集成;划分数据库设计阶段将一切问题在概念设计阶段彻底解决,这些问题通常包括唯一性、非空性、缺省值、域值、主键、外键等。

数据库的设计主要包括以下方面的内容,数据库命名设计:数据库服务器的命名,数据库的命名,数据库对象的命名;数据库一致性、完整性和安全性设计。

SQL Server数据库系统具有完备的大型数据库一致性、完整性和安全性控制措施,必须加以充分运用,以保证系统的稳定性。

要注意主键与字段的唯一性,对每个数据库表定义主键(自动索引并具备唯一性控制),通过指定表的主键,保证每一行的唯一性从而实现实体完整性。引用完整性基于定义主表与辅表之间的主键与外键的关系,保证各辅表外键对主表主键从属关系的一致性。

索引和查询策略在查询中对于具有大数据集合的字段,必须设置索引或复合索引,保证查询的速度性能对于绝大部分常用查询能够保持在性能要求以内。

数据库的安全性可以按Windows2000方式设置用户访问数据库的账号和口令,然后根据数据库应用权限的划分设计各数据库及其对象对各用户的许可。

4.3.2数据库的逻辑设计

由于RDBMS是以二维表为基本管理单元的,所以E一R模型最终是由二维表及表间关系来描述的。换言之,E一R模型向数据库概念模型的映射就是向数据表的变换过程。

由于在E-R模型中,己将实体间的关系,按照数据库范式和约束进行了合理的分解。在此可利用Visio工具,直接有E一R模型得到数据库表。生成数据库表如下: Users用户信息表,表中储存系统中全部用户的相关信息,主键为用户IDUsedD,另外还有用户名,密码,email地址等字段。

UserRoles用户角色映射表,表中存储用户类型,主要用于定义用户与角色之间的映射关系,主要字段:UserID,RoleID,Type。

Roles角色定义表,存储系统所有角色的信息,主键为RoleID,还包括SystemID,RoleName,RoleDiscr等字段。

Coursewares课件信息表,存储课件的相关信息,主键为Courseld,还有CourseWar,Issue,Descripti,AuthorlD等字段。

EResources资源总表,存储资源的相关描述信息,主键为ResourceID,还有字段为:资源名称,资源存放地址,资源类型等字段。

另外还有Classes课堂信息表,ClassRCCatalogs课堂资源分类信息表,ClassRCSharelevelS课堂资源共享级别表,ClassRC课堂资源表,CoursePlan课程大纲表,Diseussion公共讨论模块表,ERAssoeiateCourseS资源课程关联信息表,EResoureeCatalogs资源分类信息表,EResoureeltems资源条目表,HtmlText公共文档模块表,Links公共链接模块表,News公共新闻表,MsduleDefinitions模块定义表,Modulesettings模块设置标,Modules模块总表,Systems系统定义表,Tabs系统标签表,UserlogDetails用户系统日志明细表,Userlogstatities用户系统日志统计表,useriogs用户系统日志表等几十个表。

数据设计完成以后,再由powerdesign自动生成针对不同数据库的物理结构,可以真正实现与物理数据库无关。

4.3.3主要数据库的物理设计(1)模块定义数据表的物理设计

(2)用户数据表的物理设计(3)资源分类信息表的物理设计

(4)角色定义表的物理设计

(5)资源总表

(6)课程公告表

4.3.4数据库关系图

网络辅助教学平台的数据库关系图:如图4-5:

图4-5数据库关系图

第六章基于WEB的网络辅助教学平台的测试与应用

6.1功能测试

6.1.1测试目的

测试是为了使系统的能最终满足用户的需求,目的在于发现错误。一个好的测试用例在于发现从前未发现的错误;一个成功的测试是能发现从前未发现的错误的测试。6.1.2测试原则

(l)尽早地、不断地进行软件测试。(2)测试用由测试输入数据和与之对应的预期输出结果两部分组成。(3)测试不能由开发者单独进行。

(4)设计测试用例,包括合理的输入条件和不合理的输入条件。(5)充分注意测试中的群集现象。

(6)在对程序进行修改后,进行回归测试。6.1.3测试内容

(l)测试内容包括对“需求分析”、“功能模块设计”和“数据库设计”等文档的审查,由此三文档所产生的其他测试工作也在本次测试活动范围之内。(2)鉴于网站稳定性很重要,所以本次测试活动包括:  配置测试

 界面布局测试  性能测试:对以下模块进行功能测试:教师、学生及管理员用户登录;教学支持模块功能:教师(学生)是否可以进入与传统课堂对应的网络课堂在线进行教学活动,教师能否发布公告、课件、作业、教案的上传与下载等,学生能否查看课堂教学资源,网上在线测试功能,网上作业系统功能,BBS的相关功能的实现;教学资源的管理及   检索功能;教务管理功能;管理员对用户、资源、平台设置的管理功能等。安全性测试 接口文件测试

病毒测试

其中性能测试是重点内容。

6.1.4测试步骤(l)测试资源: 测试人员:2人(一名学生,一名教师);系统平台:WinZOOO或WinXP及以上;其他软件:WOrd等;硬件:计算机2台(工作站1台、服务器1台):网络:互联网;其它资源:暂无(2)测试方法 ①单元测试

这是在编写完源程序,通过人工测试和计算机测试来完成的。本研究因没有组成开发小组,因此由笔者自己来完成。

②集成测试

集成测试是随软件装配的同时进行的测试。根据组装模块方式的不同,分自顶向下结合和自底向上结合模块两种测试方法,本研究采用的是自顶向下结合的方法进行集成测试,在单人非专用的机器上测试。

④ 统测试

在网站上充分运行了本系统,验证系统各部分是否都能正常工作,并完成所赋予的务。为了验证系统的安全、强度和性能,可以进行对系统的进行合法和非法的访问和破坏性试验。

(3)测试结果

经过严格的测试,最终确定本系统的各模块的功能基本都能实现。测试提出以 下两点问题:答疑模块功能还需要进一步完善,系统相关模块的统计功能需加强。

6.2应用状况

6.2.1总体应用状况

本平台于2004年12月完成开发工作,于2005年3月完成功能测试工作,从2005年4月正式面向学校教师和全日制本科学生开放使用,据统计使用网络辅助教学平台进行辅助教学的课程达到100门左右,使用的学生近千人,入库的各类教学资源达700G(具体资源建设情况见表6-l),平台运行情况稳定,没有出现大的故障。

表6-1资源建设情况表

6.2.2教学试点改革情况

2005年底学校启动了公共理论课程教学改革试点工作,在《邓小平理论与“三个代表”重要思想概论》和《法律基础》两门公共理论课程中全面利用网络辅助教学平台开展教学工作,公共理论课部的3名教师和200多名学生参加本次试点工作,学生在选课时可以根据个人意愿选择课堂教学或网上教学中的一种模式进行学习,选择网上教学的学生可以不参加课堂学习,但必须通过网络辅助教学平台进行公共理论课程的学习,教师通过平台进行相关教学组织和管理工作,包括提供同步教学录像、网络课程和相关教辅资料、发布课程信息、答疑辅导、组织课程讨论、发布平时作业等相关教学资源,学生不进课堂就可以获取课堂教学的全部教学信息和资源,同时学校将根据学生网上学习时间、网上交流情况、作业情况等几方面确定学生平时成绩,课程学习结束后试点学生要参加学校统一组织的考试,经过测试,我们发现通过网上辅助教学的学生成绩稍优于课堂教学,这说明网络辅助教学模式是受教师和学生认可的,网络辅助教学平台在整个试点教学过程基本保持了比较稳定的状态,性能经受住了考验。湖北电视台和楚天都市报等相关媒体还对我校此项网络辅助教学改革工作进行了专题报道。

6.2.3教学应用反馈情况

2006年3月一5月,为了进一步完善和优化网络辅助教学平台的功能,学校教务处、宣传部针对网络辅助教学平台的教学应用情况对在校学生进行了网上问卷调查,共有300多学生参加了调查活动,通过调查发现,学生在总体上对网络辅助教学模式表示认可,80%以上学生对学校网络辅助教学平台的功能设计表示满意,但也有39%的学生对网络辅助教学平台还缺乏了解,认为学校应加强宣传和引导工作;有45%的学生认为平台应首先加强教学资源建设;有34%的学生认为平台可增加更多的交互环境,如:博客平台等;有24%的学生应加入人工智能功能,如:答疑自动反馈系统、智能测试系统等。针对以上学生反馈的意见,我们正在整理相关需求,准备进行二次开发,完成平台版本升级工作。

第二篇:酒店信息管理论文:基于GPRS网络和嵌入式系统的酒店信息管理平台的设计与实现

酒店信息管理论文:基于GPRS网络和嵌入式系统的酒店信

息管理平台的设计与实现

摘 要:基于GPRS网络的嵌入式系统平台具有低成本、高效率的特性,论文介绍了针对小规模酒店信息管理平台基于GPRS网络和嵌入式系统的软件、硬件的设计和实现。

关键词:GPRS;嵌入式系统;Qt Embedded;TCP/IP;sqlite 1 酒店信息化发展趋势以及本技术的应用场景随着全球经济一体化的深入发展,酒店业的客源结构更加丰富并呈现出多样化趋势,客源市场也变得更加广阔。同时,酒店业也将面临日趋激烈的竞争环境和不断提高的客户期望,这迫使酒店业内人士进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新方法,以便增强酒店的核心竞争力。及时地共享客人的信息,给客人提供人性化的服务业已成为酒店管理的目标与方向,而酒店装潢、客房数量、房间设施等质量竞争和价格竞争将退居二线。可以预见的是,未来酒店的竞争将主要在智能化、信息化方面展开。小型旅馆或家庭酒店在智能化、信息化方面仍与星级酒店存在着明显弱势,这是由资金、人力、品牌等多方面的因素导致的。笔者提出的酒店信息管理平台主要针对规模较小的酒店提供信息化服务,解决酒店规模和信息化需求之间的矛盾。本技术基于嵌入式系统实现,利用可视化的操作方式轻松实现,并且通过GPRS网络,将客房信息发布到统一的信息平台以便查询预定。酒店信息管理平台框架设计总体来讲,本系统属于C/S模式,客户端指处理终端,用于处理酒店信息的本地管理,服务器端指Web服务器,用于系统内酒店的客房信息和其他酒店信息的发布,以及客户的远程查询和预定。此外,客户也可以通过电话网络直接与酒店终端联系完成业务流程。主要功能模块本系统基于嵌入式系统方式,所以它的特点是体积小、功耗小、全触摸屏操作、方便安装和移动,同时它涵盖了小型酒店管理的各个方面(见图2),主要功能模块包括:(1)系统设置:设置系统登录密码、屏幕保护、电源管理、系统时间等。(2)客户管理:记录和管理客户信息,包括姓名、性别、电话,以及自定义的客户信息,支持客户信息的快速查询、分组管理,并为其他模块提供客户信息支持。(3)职员管理:管理酒店职员信息,包括姓名、性别、职务、薪金、权限等。(4)短信服务:该模块主要用于客户的个性化服务,如预定确认、订单提醒、生日祝福、优惠信息等。(5)客房预定:支持本地预定和远程预定。本地预定即客户直接与酒店联系产生的订单,远程预定是客户通过网络信息平台产生的订单,通过GPRS同步到本地。(6)数据备份:系统可以根据设置,定期将终端数据备份到U盘等存储设备上,防止设,避免给酒店带来损失。(7)统计分析:对客户订单信息、职员业务信息等进行统计分析,生成业务报表。此外,该模块可以扩展为酒店管理的高级应用,随着客户和订单等信息数据的积累,可以引入数据挖掘技术,对酒店日常经营提供决策支持。(8)信息同步:利用GPRS技术,同步本地终端和Web平台的数据,包括客房情况、客户预定信息、酒店促销信息等,便于客户通过网络平台远程预定客房。通信模块采用展迅SM5100,它是专为数据传输设计的GSM/GPRS无线通信模块,集成了完善的协议栈及应用层软件,具有尺寸小、性能好、开发简便等优点。Intel pxa310通过RS232控制SM5100,完成GPRS网络数据传输和短信、通话等功能。终端采用64M SDRAM和128NAND Flash,用于保存操作图3 终端硬件设计图系统、上层应用、用户数据等,并提供足够的数据存取性能。为了方便用户操作,采用640×480分辨率的大尺寸触摸屏,使得所有操作通过触屏方式完成,同时进一步缩小了终端的物理尺寸。USB接口用于连接U盘等外部存储设备和打印设备,并可用于后期的软件升级等功能。在终端的软件设计方面,采用Linux操作系统控制整个系统的运行。Linux操作系统包含了完整的TCP/IP协议栈、PPP协议栈,所以不需要添加TCP/IP协议硬件转换芯片,有利于减少硬件体积和成本,SM5100作为Modem,用于连接设备和

网络。利用GPRS网络与分组数据网络互联互通的特性,实现了将设备接入最大的PDN网络Internet。设备与SM5100模块之间采用串行接口通讯,在SM5100连接上网络后,设备即可以通过其来实现与Internet上的主机进行数据通讯,SM5100透明收发数据。这种实现方法类似于使用家用PC做代理接入的方式,只是这里采用了无线方式,网关改为SM5100模块。上层应用软件基于Qt Embedded实现可视化界面操作风格,由于pxa310强大的处理能力,保证了界面操作非常流畅的操作速度。此外,我们集成了sqlite数据库,实现客户数据等的灵活存储和查询。结论

本系统将嵌入式操作系统、GRPS技术有机地结合在一起,利用sqlite数据库实现灵活的数据处理,并实现基于Qt Embedded的可视化操作界面,借助于嵌入式硬件平台的强大处理能力和Internet网络,实现了集本地酒店管理和远程客房预定于一身的嵌入式酒店管理平台,针对小规模酒店管理的信息化需求,有效地解决了信息化管理和资金投入的矛盾。

参考文献: [1] 贾鹏.基于嵌入式系统和GPRS网络的灌溉控制器的研究[D].天津:天津大学,2005.李栋梁.基于嵌入式的水库水情监测系统的设计与实现[D].大连:大连理工大学,2006.[3] 饶永华.基于PDA系统的USB接口的研究与开发[D].成都:电子科技大学,2002.[4] 童旺.GPRS数据终端的设计与实现[D].北京:北方工业大学,2007.[5] 申力.基于GPRS的数据传输应用[D].南京:南京理工大学,2004.[6] 刘岚,程莉.嵌入式系统硬件平台的选型研究[J].电子工程技术与标准化,2005(2):51-54.[7] 韩冰,李芬华.GPRS技术在数据与监控系统中的应用[J].电子技术,2003(8):70-80.[8] 何立民.嵌入式系统的定义与发展历史[J].单片机与嵌入式系统应用,2004(1):30-45.[9] 张晶,曾宪运.嵌入式系统概述[J].电测与仪表,2002(4):23-30.[10] 王存键,张建正.嵌入式Linux下Qt/Embedded的应用[J].计算机技术与发展,2006(11):62-66.

第三篇:嵌入式系统设计报告

嵌入式系统设计实验报告

班 级:学 号:姓 名:成 绩:指导教师:

20090612 2009112107 侯金钟 武俊鹏、刘书勇 1.实验一

1.1 实验名称

嵌入式系统硬件开发环境

1.2 实验目的

1.熟悉UP-net3000实验平台。

2.超级终端设置及BIOS 功能使用。

1.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

1.4 实验内容及要求

熟悉UP-net3000实验平台的硬件电路和外设,ARM JTAG的安装和使用,利用超级终端检验外设的工作状态。

1.5 实验设计与实验步骤

1.建立工程

(1)运行ARM SDT 2.5 集成开发环境(ARM Project Manager).(2)在新建的工程中,如图1A-2 所示,选中工程树的“根部”。

(3)因为开发板上的嵌入式处理器ARM7TDMI 没有浮点处理器,所以,如图1A-3 所

示,在弹出的对话框中设置Floating Point Processor 为none,并保持其他的设置不变。(4)选中工程树的“根部”,通过菜单Project | Tool Configuration for work1.apj | asmlink | Set,对整个工程的连接方式进行设置。(5)在弹出的对话框中,选中Entry and Base 标签,如图1A-4 所示,设置连接的Read-Only(只读)和Read-Write(读写)地址。

(6)选择Linker Configuration 的ImageLayout 标签,(7)选择Project | Edit Project Tamplete 菜单,弹出Project Template Editor 对话框。

(8)选择Project | Edit Variables for work1.apj,弹出Edit Variables for work1.apj 对话框。

2.进行程序的在线仿真、调试

1.6 实验过程与分析

熟悉UP-net3000实验平台的硬件电路和外设,安装了ARM JTAG,利用超级终端检验了外设的工作状态。

1.7 实验结果总结

软件安装成功,结果显示正常。

1.8 心得体会

通过此次试验,我对ARM的环境的功能有一定的了解与完善。对试验台有了基本的认识与使用。

2.实验二

2.1 实验名称

嵌入式系统软件开发环境

2.2 实验目的

1.熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。

2.使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

2.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

2.4 实验内容及要求

本次实验使用ADS 集成开发环境。新建一个简单的工程文件,并编译这个工程文件。学习ARM 仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量。

2.5 实验设计与实验步骤

(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。

(2)在新建的工程中,选择Debug 版本,使用Edit | Debug Settings菜单对Debug 版本进行参数设置。(3)在Debug Settings 对话框中选择Target Settings 项。在Post-linker一栏中选择ARM from ELF。

(4)在Debug Settings 对话框中选择ARM Linker 项

(5)在第四步中如果选择简单的地址连接设置,在Debug Settings 对话框中选择ARM Linker 项

(6)回到的工程窗口中,选择Release 版本,使用Edit | Release Settings 菜单对Release 版本进行参数设置。(7)参照第(3)、(4)、(5)、(6)步在Release Settings 对话框中设置Release版本的Post-linker、连接地址范围、入口模块和输出文件。(8)回到如图1B-3 所示的工程窗口中,选择Targets 选项卡,如图1B-11 所示。选中DebugRel 版本,按Del 键将其删除。DebugRel 子树是一个折衷版本,通常用不到,所以在这里删除。

2.6 实验过程与分析

1)回到工程窗口选中Debug 版本,执行菜单Project | Make 对工程进行编译连接。(2)在ADS 中执行菜单Project | Debug 启动ADS1.2 的调试工具AXD。(3)在AXD 中执行菜单Options | Configure Target 对AXD 进行设置。(4)点Select 按钮选择远程连接为ARM ethernet driver,点Configure 按钮输入仿真器的IP 地址。

(5)等待程序装载完毕以后,通过Execute | Go 菜单以及Execute | Stop(或者工具栏中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。(6)通过Execute | Step 菜单(或者工具栏中的相应按钮)可以单步运行程序。

(7)程序停止后可以通过Processor Views | Sources 菜单查看源文件,并可在适当位置按F9 设置端点。

(8)使用在Processor View 菜单下的Registers、Variables 和Memory 命令可以查看工作寄存器或者内存变量。读者可以逐一地尝试,为以后调试程序打下基础。

2.7 实验结果总结

超级终端输出“Hello World!”。

2.8 心得体会

基本了解了ADS1.2的配置条件,学会了ARM仿真器的使用方法。

3.实验三

3.1 实验名称

键盘及LED实验

3.2 实验目的

1.学习键盘及LED 驱动原理。

2.掌握ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。

3.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

3.4 实验内容及要求

通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出来。要求从右至左循环显示至少四位数字。

基本功能实现之后可考虑实现从左至右显示四位及四位以上数字(最大八位),并可设置清零键等扩展功能。

3.5 实验设计与实验步骤

利用所给的基础代码进行调试,观察输出结果,结合指导书和教材掌握基本原理和源代码的编写方式。根据实验的要求设计函数流程,并反复调试,实现功能。1.新建工程,将“Exp3 键盘及LED 驱动实验”中的文件添加到工程。2.定义ZLG7289 寄存器(ZLG7289.h)

#define ZLG7289_CS(0x20)//GPB5 #define ZLG7289_KEY(0x10)//GPG4 #define ZLG7289_ENABLE()do{ZLG7289SIOBand=rSBRDR;ZLG7289SIOCtrl=rSIOCON;rSIOCON=0x31;rSBRDR=0xff;rPDATB&=(~ZLG7289_CS);}while(0)#define ZLG7289_DISABLE()do{rPDATB|=ZLG7289_CS;rSBRDR=ZLG7289SIOBand;rSIOCON=ZLG7289SIOCtrl;}while(0)3.编写ZLG7289 驱动函数(ZLG7289.c)4.定义键盘映射表:(Keyboard16.c)

unsigned char KeyBoard_Map[]= {4,8,11,0,0,0,0,0,5,9,12,15,1,0,0,0,6,10,13,16,2,3,0,0,7,0,14,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//64 键值映射表,通过查找键盘映射表来确定键盘扫描码对应的按键值。

5.定义键值读取函数。(Keyboard16.c)6.编写主函数,将按键值在数码管上显示。

3.6 实验过程与分析

利用键盘驱动函数实现基本数字输入,然后利用循环左移函数实现输入数字做一样功能,并通过改变函数中相应delay的值来消除键盘按键带来的抖动。

3.7 实验结果总结

按键值可以在LED上显示出来。要求从右至左循环显示八位数字,同时可以复位清零。达到实验的效果。

3.8 心得体会

通过本次实验,我了解了LED的显示屏幕的数字的移位功能,这个功能不止可以用一个方法实现,而循环左移是其中比较巧妙且省力的一种,在遇到类似情况的时候,可以优先考虑能不能利用到文件中已经存在的函数,这样可以不必自己编写函数,省时省力。是一种可靠的方法。4.实验四

4.1 实验名称

电机转动控制及中断实验

4.2 实验目的

1.熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。

2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。

3.了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

4.了解44B0处理器上中断的应用。5.学习在44B0处理器上中断的应用。

6.进一步熟悉平台外围硬件及其驱动程序的编写。

4.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

4.4 实验内容及要求

1.学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM 知识,掌握 PWM 的生成方法,同时也要掌握 I/O的控制方法。

2.编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其转动方式。

3.编程实现ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。

4.通过键盘控制直流电机与步进电机的切换。5.设置并启动定时器。

6.设置中断,编写定时器中断服务程序,对中断次数进行计数并在LED上显示结果。

4.5 实验设计与实验步骤

1.添加并打开工程。

2.进行直流电机初始化设置和代码编写。3.进行步进电机初始化设置和代码编写。

4.对Timer3编程,编写定时器中断服务程序,完成对中断次数的计数。5.编写LED计数显示函数,使LED能正确计数并显示0-9999。6.编写中断初始化函数和中断响应函数。7.终端下载测试。

4.6 实验过程与分析 1.对直流电机进行编程和测试,掌握转速和旋转方向的设定方法。

2.对步进电机进行编程和测试,掌握ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。

3.对主函数进行编程,用键盘响应直流电机与步进电机的切换控制。

4.掌握中断相关语句的应用,弄清定义的中断向量、中断向量号,编写中断响应函数,并完成中断响应控制。

4.7 实验结果总结

实现了直流电机与步进电机的基本设置和控制,可以通过键盘控制电机之间的切换。完成了中断的响应和定时中断。当对其中一个旋钮转动时,就可以由直流电机转换成步进电机的转换,达到实验的效果。

4.8 心得体会

通过本次实验,我了解了直流电机和步进电机的工作原理,同时也知晓了电机间的转换过程,了解其中的道理内涵,熟悉了ARM自带的A/D转换器的工作原理及编程方法,了解了中断的意义和实现方法,实现了简单了中断处理程序。同时我也收获了很多关于ARM处理机的相关知识。

5.实验五

5.1 实验名称

触摸屏驱动实验

5.2 实验目的

1.了解触摸屏的基本概念与原理。

2.理解触摸屏与LCD的关系。3.编程实现对触摸屏的控制。

4.熟悉用 ARM 内置的 LCD控制器驱动 LCD。

5.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

5.4 实验内容及要求

1.了解触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示器配合的过程。2.通过编程实现触摸两点自动在两点间划直线。3.通过编程实现在触摸屏上动态画出曲线。5.5 实验设计与实验步骤

1.添加并打开工程。

2.在头文件中定义宏和常量及驱动函数。

#define ADS7843_CTRL_START 0x80 #define ADS7843_GET_X 0x50 #define ADS7843_GET_Y 0x10 #define ADS7843_CTRL_12MODE 0x0 #define ADS7843_CTRL_8MODE 0x8 #define ADS7843_CTRL_SER 0x4 #define ADS7843_CTRL_DFR 0x0 #define ADS7843_CTRL_DISPWD 0x3 // Disable power down #define ADS7843_CTRL_ENPWD 0x0 // enable power down #define ADS7843_PIN_CS(1<<6)//GPF6 #define ADS7843_PIN_PEN(1<<5)//GPG5 /////////触摸屏动作//////// #define TCHSCR_ACTION_NULL 0 #define TCHSCR_ACTION_CLICK 1 //触摸屏单击 #define TCHSCR_ACTION_DBCLICK 2 //触摸屏双击 #define TCHSCR_ACTION_DOWN 3 //触摸屏按下 #define TCHSCR_ACTION_UP 4 //触摸屏抬起 #define TCHSCR_ACTION_MOVE 5 //触摸屏移动

#define TCHSCR_IsPenNotDown()(rPDATG&ADS7843_PIN_PEN)(ADS7843_CTRL_START|ADS7843_GET_X|ADS7843_CTRL_12MODE |ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)//采样x 轴电压值,数据为12 位,参考电压输入模式为差分模式,允许省电模式

#defineADS7843_CMD_Y(ADS7843_CTRL_START|ADS7843_GET_Y|ADS7843_CTRL_12MODE |ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)int TchScr_Xmax=1840,TchScr_Xmin=176, TchScr_Ymax=195,TchScr_Ymin=1910;//触摸屏返回电压值范围 #defineADS7843_CMD_X 3.校准触摸屏坐标,进行坐标转换。

4.实现触屏取点并显示功能。

将触摸动作及触摸点坐标在超级终端上显示出来。5.实现两点间自动划线功能。6.实现触摸屏动态划线功能。

可以使用TchScr_GetScrXY()函数(第三个参数为0)来获得液晶屏的x、y 方向的电压

范围,分别点触摸屏有效面积的左上角和右下角,得到下列参数:

TchScr_Xmax=1840;TchScr_Xmin=176;TchScr_Ymax=195;TchScr_Ymin=1910;//此数值仅供参考,请以实际校对为准

5.6 实验过程与分析 1.在定义触屏响应功能的函数中对点击触屏进行响应函数的修改,在其中添加修改点颜色的函数,修改得到的触摸点的颜色,并显示在LCD上。

2.获取第一个点坐标并储存,获取第二个点坐标并储存,由编写的划线函数取得储存的两点间直线上所有点的坐标,并对其改变颜色,显示在LCD上,即完成划直线功能。

3.将划线函数应用到响应触屏移动消息的函数下,即可对连续获得的触摸坐标进行连续的画短直线,连接成曲线,完成动态划线功能。

5.7 实验结果总结

了解了触摸屏响应动作消息的函数的工作原理,通过修改实现了触摸屏响应不同动作进行画点、划线、动态划线的功能。验证触摸屏的灵敏度的实验。

5.8 心得体会

通过这次实验,我基本掌握了通过编程驱动触摸屏以及触摸屏响应时间,实现了触摸屏对不同动作消息的响应。同时也知晓了在触摸屏上的描点画线的实现,但是由于不知名的原因,描点画线的误差较大,位置偏差较大,同时触摸屏有时会不灵敏,出现时好时坏的现象,但是由于我们的辛勤钻研,最终克服了这个困难,实现了最后的触摸屏的实现。

6.实验六

6.1 实验名称

UCOS-Ⅱ在ARM微处理器上的裁剪

6.2 实验目的

1.了解UCOS-Ⅱ内核的主要结构。

2.掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法。3.学习如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪。

4.通过对UCOS-Ⅱ配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对UCOS-Ⅱ的裁剪。

6.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

6.4 实验内容及要求

对UCOS-Ⅱ内核进行裁剪并移植到ARM7微处理器上。

6.5 实验设计与实验步骤 1.按照要求,载入STARTUP目录下文件,完成系统初始化、环境配置。2.载入UCOS-Ⅱ的全部源码,与处理器架构相关的文件位于arch目录下。3.在os_cpu.h中编写与处理器和编译器相关的代码。

4.编写os_cpu_c.c等6个与操作系统相关的函数。5.编写os_cpu.asm等4个与处理器相关的函数。

6.6 实验过程与分析

按照实验步骤进行,得到了需要的系统。

6.7 实验结果总结

按照要求进行了裁剪,得到了满足需要又紧凑的应用软件系统。

6.8 心得体会

通过本次实验,我了解了UCOS-Ⅱ内核的主要结构,掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法,学会了如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪。

7.实验七

7.1 实验名称

UCOS-Ⅱ在ARM微处理器上的移植和编译

7.2 实验目的

1.了解UCOS-Ⅱ内核的主要结构。

2.掌握将UCOS-Ⅱ内核移植到ARM7处理器上的基本方法。

7.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

7.4 实验内容及要求

1.将UCOS-Ⅱ内核进行移植到ARM7微处理器上。

2.编写两个简单任务,在超级终端上观察两个任务的切换。

7.5 实验设计与实验步骤

1.该实验的文件分为两类,其一是 STARTUP 目录下的系统初始化、配置等文件,其二是 UCOS-Ⅱ的全部源码,arch 目录下的 3 个文件是和处理器架构相关的。

2.设置 os_cpu.h 中与处理器和编译器相关的代码。

3.用 C 语言编写 6 个操作系统相关的函数(OS_CPU_C.C)。4.用汇编语言编写 4 个与处理器相关的函数(OS_CPU.ASM)。5.编写一个简单的多任务程序来测试一下移植是否成功。6.编译并下载移植后的 UCOS-Ⅱ。

7.6 实验过程与分析

1.按照实验步骤进行,将µC/OS-II 内核移植到了ARM7 微处理器上。2编写了两个简单任务,在超级终端上观察两个任务的切换。

7.7 实验结果总结

将µC/OS-II 内核顺利移植到了ARM7 微处理器上。

7.8 心得体会

通过本次实验,使我更加了解了µC/OS-II 内核的主要结构,掌握了ARM的C语言和汇编语言的编程方法,了解了ARM7处理器结构,掌握了将µC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。

8.实验八

8.1 实验名称

综合实验

8.2 实验目的

对前七次实验进行总结,应用之前所学的知识,将前几次实验内容结合起来,完成键盘,LED,触摸屏,直流电机,步进电机各种功能的组合。实现一个较为全面的功能结构。

8.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。

8.4 实验内容及要求

对前七次实验进行总结,应用之前所学的知识,完成自拟的嵌入式系统,要求综合前期基础实验的各种功能。

8.5 实验设计与实验步骤

1.添加并打开工程。2.进行LCD设计,在LCD显示屏输出文本。

3.进行LED及键盘设计,完成LED输出显示功能和键盘输入功能。4.进行电机控制设计,完成键盘控制电机转动功能。5.进行中断设计,完成定时中断功能。

6.进行触摸屏设计,完成触摸屏感应和划线功能。7.进行裁剪和移植功能设计和完成。

8.6 实验过程与分析

1.完成LCD显示功能,在LCD显示屏上输出文本:“Hello World!”。2.进入界面触屏控制选择功能,实现触屏选择功能。

3.自定义四种种功能,第一为电机控制,从键盘读取命令,并将功能编号显示在LED上,LED显示的是计数的数据,同时旋转按钮完成电机转速的控制选择。

4.第三种功能为划线,功能编号显示在LED高四位上,同时LCD屏幕清屏,为划线功能做准备,可以实现划线功能。

5.第四种功能为定时中断,当由键盘控制时,LED显示数值清零,实现了中断。6.实现裁剪与移植功能。

8.7 实验结果总结

完成了各种基本功能,并通过自拟的系统将各种功能整合起来,完成了一个小的嵌入式系统,对前七次的功能有了更深入的了解。通过LED的计数,当在计数值在前30秒之内,由键盘控制LED的数值及显示,按键盘上的某一个按键,实现对LED上的数值清零,后30秒由触摸屏控制清零,并且在前30秒之内,旋转按钮,实现对直流电机的运转,并且到步进电机的转换。

8.8 心得体会

通过这次实验,我更加深刻地掌握了前几次实验中的基本功能的实现方法,并且把几种功能联合在一起,实现一些功能,把LED 显示屏,LCD触摸屏,键盘,直流电机,步进电机等等设备联合在一起,对该实验有一定的帮助与提高,而我和我的队友也对嵌入式系统有了更深入的了解,在此期间,也学习了关于ARM处理器的开发与实践,了解了关于手机的嵌入式设备的产生过程,我也深深的对此充满了兴趣,对未来的嵌入式课程设计奠定了深厚的基础,可是令我遗憾的是,我和队员的水平所限,没有完成中断优先级的控制。本来想完成更多的功能,可是最后由于时间紧迫,也有一些其他的事情来分神分心,所以就只能完成这些,但是在未来的几周内,嵌入式课程设计也给了我们很大的空间去做未完成的事情。我相信我们会做的更加完美,功能更强大,用于未来的生活中去实践。

第四篇:《嵌入式系统设计》教学大纲

《嵌入式系统设计》课程教学大纲

嵌入式系统设计(Design of Embedded Systems)

一、课程教学目的和基本要求

教学目的:

嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域。如手机、PDA、MP3、手持设备、智能电话、机顶盒等,可以说嵌入式系统无处不在。本课程讲述当前主流的嵌入式处理器—ARM的微处理器和实时操作系统µC/OS,介绍嵌入式系统的基本原理和应用及设计方法。通过本课程的学习,着重培养学生的实际动手能力,使学生掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。使学生在工作中具有利用嵌入式系统开发产品和解决实际问题的基本能力。

基本要求:

1、掌握嵌入式系统技术的基本原理。

2、了解并掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。

3、比较熟练地用ADS进行ARM实验箱的编程及调试。

4、了解并掌握实时操作系统µC/OS,并学会用µC/OS开发小型应用系统。

二、先修课程及本课程总学时

先修课程:C程序设计语言、单片机原理 本课程总学时:36

三、课程章节及各章节学时安排

第一章 嵌入式系统概述(2学时)

第二章 嵌入式系统硬件基础(2学时)

第三章 设计方法及ADS集成开发环境(4学时)

第一节 嵌入式系统的设计方法(2学时)第二节 ADS集成开发环境(2学时)第四章 ARM7体系结构(4学时)

第一节ARM7体系结构介绍(2学时)第二节ARM7TDMI(-S)指令集简介。(2学时)第五章 ARM指令集(8学时)

第一节 ARM处理器寻址方式。(2学时)第二节ARM指令集。(2学时)第三节ARM汇编程序设计。(2学时)第四节C与汇编混合编程。(2学时)第六章 硬件结构与功能(12学时)第一节 LPC2106/2105/2104结构(2学时)第二节 GPIO及引脚连接模块。(2学时)

第三节 UART0和UART1、I2C接口、SPI接口。(2学时)第四节 定时器0和定时器1。(2学时)第五节 脉宽调制器(PWM)。(2学时)

第六节 看门狗及Flash存储器系统和编程。(2学时)第七章 µC/0S-II程序设计(4学时)

第一节 µC/0S-II简介及移植(2学时)第二节 移植µC/0S-II。(2学时)

四、课程主要内容

第一章 嵌入式系统概述(2学时)

1、嵌入式系统简介(包括什么是嵌入式系统,嵌入式系统的特点,嵌入式系统的分类)。

2、嵌入式系统的应用领域。

3、嵌入式系统的现状和发展趋势。

4、嵌入式微处理器和嵌入式操作系统。

5、嵌入式系统中的一些重要概念。难点:什么是嵌入式系统。

第二章 嵌入式系统硬件基础(2学时)

1、嵌入式系统的总体结构。

2、与嵌入式系统相关的硬件知识。难点:总体结构。

第三章 设计方法及ADS集成开发环境(4学时)第一节 嵌入式系统的设计方法

包括嵌入式系统的设计流程,嵌入式系统的一般设计方法,嵌入式系统的硬件/软件协同设计技术。第二节 ADS集成开发环境

1、ADS 1.2 集成开发环境的组成

2、工程的编辑

3、工程的调试

4、仿真器的安装与应用 难点:调试、仿真器。

第四章 ARM7体系结构(4学时)第一节ARM7体系结构介绍

1、处理器模式。

2、内部寄存器。

3、程序状态寄存器。

4、异常。

第二节ARM7TDMI(-S)指令集简介。难点:异常。

第五章 ARM指令集(8学时)第一节 ARM处理器寻址方式。第二节ARM指令集。

第三节ARM汇编程序设计。第四节C与汇编混合编程。难点:ARM汇编程序设计。

第六章 硬件结构与功能(12学时)第一节 LPC2106/2105/2104结构

1、存储器寻址。

2、系统控制模块。

3、存储器加速模块。

4、向量中断控制器。

第二节 GPIO及引脚连接模块。

第三节 UART0和UART1、I2C接口、SPI接口。第四节 定时器0和定时器1。第五节 脉宽调制器(PWM)。

第六节 看门狗及Flash存储器系统和编程。

难点:存储器重新映射,编程实现功能部件的初始化和控制。本章实验:LPC2106/2105/2104功能部件基础实验。

第七章 µC/0S-II程序设计(4学时)第一节 µC/0S-II简介及移植

1、移植规则。

2、编写LPC2106/2105/2104的启动代码。第二节 移植µC/0S-II。难点:移植µC/0S-II。本章实验:学习移植µC/0S-II。

五、教材及主要参考书

教材:

《嵌入式系统设计与开发》,马文华,科学出版社,2006年

主要参考书:

[1] 田苗苗.嵌入式控制系统.北京航空航天大学出版社,2002年 [2] 吕 骏 译.嵌入式系统设计.电子工业出版社,2002年

[3] 周立功等.ARM微控制器基础与实战.北京航空航天大学出版社,2003年

[4] 李驹光等.ARM应用系统开发祥解.清华大学出版社,2003年

[5] 劭贝贝译.uCOS-II-源代码公开的实时嵌入式操作系统.中国电力出版社,2001年 [6] 田苗苗.嵌入式系统设计与实例开发.清华大学出版社,2002年 [7] 袁勤勇等译.嵌入式系统构件.机械工业出版社,2002年 [8] 田苗苗.《实用嵌入式系统设计与开发—基于ARM微处理器与μCOS-II实时操作系统》(第二版),清华大学出版社,2003.9 [9] 邵贝贝译.《源代码公开的实时嵌入式操作系统——μCOS-II》,北京航空航天大学出版社,2003年

六、其他需要说明的情况

1.采用多媒体教学。

2.实验课单列,每周2学时。

3.每周作业量2~3小时,主要针对基本概念、开发环境的操作和编程。

七、成绩评定

1.理论考核

占60% 2.实践考核

占40%(其中包括:实验、作业、课堂提问、学生自行设计制作的作品)。

第五篇:《嵌入式系统设计》教案

嵌入式系统设计教案

课程总学时: 32 讲课学时: 24 实验学时: 8 授 课 人: 杨词慧

南昌航空大学信息工程学院

目录 嵌入式系统概述.......................................................................................................................1 1.1 嵌入式系统的基本概念...............................................................................................1 1.2 嵌入式系统的发展历史...............................................................................................2 1.3 嵌入式系统的体系结构...............................................................................................2 1.4 嵌入式处理器...............................................................................................................3 1.5 嵌入式操作系统...........................................................................................................4 1.6 嵌入式系统的应用及发展趋势...................................................................................7 ARM体系结构.........................................................................................................................8 2.1 ARM设计思想.............................................................................................................8 2.2 ARM体系结构分析.....................................................................................................9 2.3 ARM处理器系列.......................................................................................................11 2.4 ARM处理器模式.......................................................................................................15 2.5 ARM体系的异常处理...............................................................................................16 2.6 ARM内部寄存器.......................................................................................................18 2.7 ARM体系的存储系统...............................................................................................19 ARM指令系统及程序设计基础...........................................................................................21 3.1 ARM寻址方式...........................................................................................................21 3.2 ARM指令集...............................................................................................................24 3.3 Thumb指令集............................................................................................................33 3.4............................................................................................................................................35 3.5............................................................................................................................................35 3.6 嵌入式系统设计与开发过程.....................................................................................36 STM32微控制器...................................................................................................................37 4.1 STM32微控制器的性能指标....................................................................................37 2 3 4

I 嵌入式系统概述

教学目的:使学生对嵌入式系统的基本概念和体系结构、嵌入式处理器、嵌入式操作系统、嵌入式系统的历史、应用及发展趋势有一定的了解。

教学重点:嵌入式系统的基本概念、嵌入式处理器和嵌入式操作系统。教学难点:嵌入式系统的体系结构、嵌入式处理器。教学方法与教学手段:课堂讲授,多媒体教学。教学时间:2课时。教学内容

1.1 嵌入式系统的基本概念

(1)嵌入式系统的定义

先举例说明生活中的各种嵌入式系统设备,如iPhone、小米手机、洗衣机、电压力锅等。IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

微机学会的定义:嵌入式系统是以嵌入式应用为目的的计算机系统,可分为系统级、板级和片级。a)系统级:各种类型的工控机、PC104等模块。b)板级:各种类型的带CPU的主板或OEM产品。c)片级:各种以单片机、DSP、微处理器为核心的产品。

一般定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。

(2)嵌入式系统的特点 a)专用、软硬件可剪裁配置。b)低功耗、高可靠性、高稳定性。c)软件代码矮小精悍。d)代码可固化。e)实时性。f)弱交互性。

g)软件开发通常需要专门的开发工具、环境和方法。h)要求开发、设计人员具有较高的技能。i)具有较长的生命周期。(3)嵌入式系统的分类

按嵌入式微处理器的位数可分为:4位、8位、16位、32位和64位。按实时性能可分为:非实时系统和实时系统。

按软件结构可分为:嵌入式单线程系统和嵌入式事件驱动系统。

按应用领域可分为:信息家电类、消费电子类、医疗电子类、移动终端类、通信类、汽车电子类、工业控制类、航空电子类、军事电子类等。

1.2 嵌入式系统的发展历史

(1)以单芯片为核心的可编程控制器形成的系统

1971年11月,Intel推出Intel 4004。随后出现Intel 8080/8085、8086、Motorola的6800、68000,Zilog的Z80、Z8000。

以微处理器为核心构成的系统

单板机:Intel的iSBC系列、Zilog的MCB等

将计算机做在一个芯片上,大部分应用于专业性强的工业控制系统中,没有操作系统的支持,系统结构和功能相对单一,处理效率较低,存储容量较小。

(2)以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统

CPU种类繁多,通用性较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。

(3)以嵌入式操作系统为标志的嵌入式系统

嵌入式操作系统可运行于各种不同类型的微处理器上,兼容性好;操作系统内核小,效率高;具备文件和目录管理,支持多任务、网络应用,具备图形窗口和用户界面;有大量的应用程序接口API。

(4)以Internet为标志的嵌入式系统 嵌入式设备与Internet的结合。

1.3 嵌入式系统的体系结构

(1)体系结构

(2)硬件层

 嵌入式处理器:ARM、DSP、FPGA  存储器系统:ROM、FLASH、SDRAM  中断控制器、DMAC、定时器/计数器、UART、USB控制器、LCD控制器等  I/O接口:USB、I2C、SPI、CAN等

(3)中间层

 硬件抽象层(Hardware Abstraction Layer, HAL)。位于操作系统内核与硬件电路之间的接口层,隐藏硬件接口细节。

 板级支持包(Board Support Package, BSP)。为上层的驱动程序提供访问硬件设备寄存器的函数包。 设备驱动程序

1.4 嵌入式处理器

(1)嵌入式处理器的分类

中高端的嵌入式微处理器(Embedded Micro-Processor Unit, EMPU)低端的微控制器(Microcontroller Unit, MCU)DSP处理器(Digital Signal Processor, DSP)高度集成的片上系统(System on Chip, SoC)(2)嵌入式微处理器

由通用计算机中的CPU演变而来,只保留与嵌入式应用紧密相关的功能硬件,在工作温度、抗电磁干扰、可靠性、功耗等方面做了各种增强。

主要的嵌入式处理器类型:ARM、MIPS、PowerPC、68000系列等。特点

a)在设计中考虑低功耗。

b)采用可扩展的处理器结构。处理器内部留有很多扩展接口。c)具有很强的存储区保护功能。d)提供丰富的调试功能。

e)对实时任务具有很强的支持能力。(3)微控制器

俗称单片机,将整个计算机系统集成到一块芯片中。

WatchWatchdogdogGPIO/计数GPIOUARTUART定时定时/计数A/DA/DD/A器D/A器2CCANCANII2CSPISPIUSBUSBCPUCPUSRAMSRAM核心部分FlashFlash8位单片机示意图以一种微处理器为核心,芯片内部集成Flash、RAM、总线逻辑、定时器/计数器、I/O口、串行口、PWM、A/D、D/A等。

最早的单片机: 1976年,Intel的8048,Motorola的68HC05、Zilog公司的Z80.(4)DSP处理器

对系统结构和指令进行了特殊设计,使其适合DSP算法 高效乘累加运算、超标量操作、指令流水线 高效数据存取、硬件重复循环 确定性操作(程序执行时间可预测)应用场合:音视频编解码、数字滤波、FFT等(5)片上系统

将整个系统做在一个芯片上 优点

a)通过改变内部工作电压,降低芯片功耗 b)减少芯片对外的引脚数,简化制造过程

c)减少外围驱动接口单元及电路板之间的信号传递,加快微处理器数据处理的速度 d)内嵌线路可避免信号传递时所造成的系统杂讯 联发科推出28nm双核处理器MT6572 a)代号武松,基于Cortex-A7架构 b)主频为1.2GHz c)处理器上整合了Wi-Fi、FM收音机、GPS以及蓝牙四种功能 d)支持500万像素摄像头(6)嵌入式处理器的发展趋势 a)内部结构

SoC设计,与DSP、Flash、FPGA融合;性能更强,集成更多的功能部件;双核或多核结构 b)功耗更低 c)可靠性更高 d)支持ISP、ISD 1.5 嵌入式操作系统

(1)操作系统的概念及功能

操作系统。是一组计算机程序的集合,用来有效地控制和管理计算机的硬件和软件资源,并为用户提供方便的应用接口。

功能:处理器管理;存储器管理;设备管理;文件管理;用户接口(2)操作系统的分类 按程序调度的方法分为

 顺序操作系统。只含一个运行程序,独占CPU时间,顺序执行。如DOS系统。 分时操作系统。系统内同时有多道程序运行。如Unix系统。 实时操作系统。

从应用角度,嵌入式操作系统可分为  面向低端信息家电

 面向高端信息家电  面向个人通信终端  面向通信设备  面向汽车电子  面向工业控制

从实时性的角度,嵌入式操作系统可分为  具有强实时特点的嵌入式操作系统  具有弱实时特点的嵌入式操作系统  没有实时特点的嵌入式操作系统(3)实时操作系统(RTOS)

是具有实时性且能支持实时控制系统工作的操作系统,首要任务是调度一切可利用的资源来完成控制任务。

对现场不停监测,一旦有事件发生能立即处理。与通用OS的区别:实时性,代码尺寸小。一般包括以下几个重要组成部分:

 实时内核:任务管理、定时器管理、存储器管理、任务间通信与同步等。 网络组件  文件系统  图形用户界面

IEEE的Unix委员会规定了实时操作系统须具备以下几个特点:  支持异步事件的响应。 中断和调度任务的优先机制。 支持指令性计划占式调度。 支持同步。

(4)常见的嵌入式操作系统 嵌入式Linux  实时的嵌入式Linux:如RT-Linux、KURT-Linux等。RT-Linux将通常的Linux任务优先级设为最低。

 一般的嵌入式Linux:如μCLinux。 开源,内核小、效率高,可定制 μC/OS和μC/OS-II  μC/OS-II(MicroController Operating System)是由Jean J.Labrosse开发的实时操作系统内核。

 已被移植到Intel、ARM、Motorola等公司的81种不同的处理器上。

 Labrosse用一年时间开发了μC/OS实时操作系统; 1992年在《Embedded System Programming》上 发表介绍文章,并公布源代码;1993年写了《μC/OS, The Real-Time Kernel》;书及源码推动了μC/OS-II的发展。

 μC/OS-II只是一个实时操作系统的内核,全部核心代码只有8.3 KB。 只包含进程调度、时钟管理、内存管理和进程间的通信与同步等基本功能。Windows CE  多线程、完整优先权、多任务的32位嵌入式操作系统。 基本内核大小至少为200KB。VxWorks  美国WindRiver公司于1983年设计

 是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。 拥有良好的持续发展能力和高性能的内核及友好的用户开发环境。

 支持多种处理器,如ARM、x86、i960、SunSparc、MIPS RX000、PowerPC、StrongARM等。 以良好的可靠性和实时性,广泛应用在通信、军事、航空、航天等领域。

 应用案例:美国F-

16、FA-18战斗机,B-2隐形轰炸机,“爱国者”导弹,1997年4月在火星登陆的火星探测器。Palm OS  32位嵌入式操作系统,由3Com公司的Palm Computing部门开发。

 在掌上电脑和PDA市场上占有很大的市场份额,曾占据90%的PDA市场份额。 2010年04月29日惠普12亿美元收购Palm QNX  一个实时、可扩充的操作系统。

 部分遵循POSIX(可移植操作系统接口)相关标准。

 内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。 内核非常小巧(QNX4.X约为12KB),运行速度极快。iOS  苹果推出,基于Darwin  最新:iOS8 Android  Google开发的基于Linux平台的开源手机操作系统 Delta OS  是电子科技大学实时系统教研室和北京科银京成技术有限公司联合研制并开发的全中文嵌入式操作系统。

 绝大部分代码由C语言编写。

 已成功应用于通信、网络、信息家电等多个应用领域。pSOS ISI公司研发的产品。

模块化、高性能、完全可扩展。

1.6 嵌入式系统的应用及发展趋势

(1)嵌入式系统的应用领域  消费电子领域  通信网络领域

 工业控制领域、机器人领域  交通管理与汽车电子领域  国防与航空航天领域  医疗仪器领域

(2)嵌入式系统的发展趋势

 小型化、智能化、网络化、可视化  多核技术的应用  低功耗、绿色环保

 云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统中  嵌入式系统软件将逐渐PC化  融合趋势

 微控制器MCU与SoC的结合  微控制器MCU与DSP的结合  ARM与DSP的结合

 微控制器MCU与CPLD/FPGA的结合  安全性 ARM体系结构

教学目的:使学生对ARM设计思想、ARM处理器系列、ARM体系结构、ARM处理器模式、ARM内部寄存器、ARM体系的存储系统有一定的了解。

教学重点:ARM设计思想、ARM体系结构、ARM处理器模式、ARM内部寄存器。教学难点:ARM处理器模式、ARM内部寄存器。教学方法与教学手段:课堂讲授,多媒体教学。教学时间:4课时。教学内容

2.1 ARM设计思想

(1)RISC 传统的CISC(Complex Instruction Set Computing)指令集中,约20%指令占整个程序代码的80%。RISC(Reduced Instruction Set Computing)是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。

RISC设计重点在于降低硬件执行指令的复杂度,而传统的CISC更侧重于硬件执行指令的功能性,使CISC指令变得复杂。

(2)RISC设计思想的实现

 指令集。减少了指令种类,指令只实现简单的功能,指令长度固定。

 流水线。指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。

 寄存器。更多通用寄存器,可存数据和地址,可为所有数据操作提供快速的局部存储访问。 load-store结构。处理器只处理寄存器中数据,用load和store指令完成寄存器和外存间的数据传送

(3)ARM的设计思想  较小的核。降低功耗

 高的代码密度。考虑成本和物理尺寸限制

 较小的处理器内核管芯(Die)面积。留给外设电路的空间较大  硬件调试技术(4)ARM微处理器的特点

 体积小,功耗低,成本低,性能高;  支持Thumb/ARM指令集,兼容8/16位器件;

 大量使用寄存器,指令执行速度更快;  大多数数据操作都在寄存器中完成;  寻址方式灵活简单,执行效率高;  指令长度固定。

2.2 ARM体系结构分析

(1)包含典型 的RISC 体系结构特征

 统一寄存器文件加载/存储体系结构,数据处理操作只针对寄存器内容;  简单寻址模式,所有加载/存储地址只通过寄存器内容和指令字段确定。 指令长度固定,简化了指令译码。(2)还提供

 可组合使用转换与算术或逻辑运算指令  自动递增和自动递减寻址模式,可优化程序循环  加载存储多个指令以最大化数据吞吐量  几乎所有指令都采取条件执行的方式(3)普林斯顿结构和哈佛结构

普林斯顿结构:也称冯·诺伊曼结构,它将程序指令存储器和数据存储器合并在一起的存储结构。ARM7系列基于普林斯顿结构。

哈佛结构:将程序指令存储和数据存储分开的存储结构。ARM9系列之后都基于哈佛结构。

(4)流水线

ARM7的三级流水线在执行单元完成了大量的工作,执行单元的工作往往占用多个时钟周期,从而成为系统性能的瓶颈。

ARM9采用哈佛架构,避免了数据访问了取指的总路线冲突,采用五级流水线设计。

五级流水线技术把三级流水线中的执行单元进一步细化,减少了在每个时钟周期内必须完成的工

作量,进而允许使用较高的时钟频率。

无论三级流水线还是五级流水线,在以下情况下都会发生阻塞:  多周期指令、跳转分支指令  中断发生

 相邻指令之间的寄存器冲突:如果当前指令(A)的目的操作数寄存器和下一条指令(B)的源操作数寄存器一致,B指令就需要等A回写之后才能译码。

(5)ARM体系结构的版本

2.3 ARM处理器系列

(1)ARM处理器系列

 经典ARM处理器:ARM7、ARM9、ARM10、ARM11  Cortex-A系列处理器:Cortex-A15、Cortex-A9、Cortex-A8、Cortex-A7、Cortex-A5  Cortex-R系列处理器:Cortex-R7、Cortex-R5、Cortex-R4  Cortex-M系列处理器:Cortex-M4、Cortex-M3、Cortex-M1、Cortex-M0+、Cortex-M0、CMSDK、CMSIS  SecurCore处理器(2)ARM内核版本命名规则

(3)ARM7系列微处理器 a)主要特点

 最高主频:130MIPS(Million Instructions Per Second);  功耗低;

 代码密度高,兼容16位的微处理器;  可得到广泛的操作系统和实时操作系统支持;  众多的开发工具,优秀的调试机制;  采用3级流水线结构;

 提供0.25μm、0.18μm和0.13μm的生产工艺。b)冯·诺伊曼结构:数据和指令使用同一条总线。

c)包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T四种类型,适用于不同的市场要求 d)ARM7TDMI  ARM公司最早为业界普遍认可并广泛应用的处理器核。 T:Thumb;D:Debug;M:Multiplier;I:Embedded ICE logic。e)ARM7TDMI-S  是ARM7TDMI的可综合(synthesizable)版本(软核)。

 ARM以“软”核的方式把ARM7TDMI核授权给处理器厂商,处理器厂商可进行修改和综合。这就是ARM7TDMI-S。

 综合出的整个核比“硬”核大50%,电源效率降低50%。f)ARM7EJ-S  是可综合的、带有增强型DSP(E变种)和Java加速功能(J变种)的32位RISC嵌入式处理器。

 主要用于数字音频播放器、带Java功能的无线手持设备、喷墨打印机、数码相机和PDA等方面。

g)ARM720T  专为使用Windows CE、Symbian OS操作系统平台设计。 主要用于数字音频播放器、喷墨打印机和数码相机等。(4)ARM9系列微处理器 a)主要特点

 5级整数流水线;

 单一的32位AMBA(Advanced Microcontroller Bus Architecture)总线接口;  MMU支持Windows CE、Symbian OS、Linux等;  支持实时操作系统,包括VxWorks;  统一的数据Cache和指令Cache;

 提供0.25μm、0.18μm和0.13μm的生产工艺。

b)包括ARM9TDMI、ARM920T、ARM940T和ARM9E四种类型。后三种含有Cache。

c)采用Harvard体系结构

 指令与数据分开存储。 采用指令快存 和数据快存。

d)在相同工艺条件下,ARM9TDMI的处理能力是ARM7TDMI的两倍。e)ARM920T 

Motorola MC9328MX1和Samsung S3C2410X处理器都采用ARM920T 核心。 主要应用于通信终端、3G基带和应用处理器、基于OS的平台设备、数码相机、音频/视频解码和机顶盒等。

f)ARM940T  与ARM920T相比,实现了一个更小的D-Cache、I-Cache和MPU。适于不需运行操作系统的平台。

g)ARM9E  使用单一的处理器核,提供微控制器、DSP、Java应用系统的解决方案;  DSP指令集;

 在0.13μm工艺下,主频可达300MIPS的性能;  集成实时跟踪调试功能;  可选的VFP9浮点处理协处理器;

 高性能的AHB(Advanced High performance Bus)。(5)ARM10系列微处理器 a)主要特点

 6级流水线;

 在典型的0.13μm工艺下,主频可达400MIPS的性能;  单一的32位AMBA 总线接口;

 MMU支持Windows CE、Symbian OS、Linux等;  统一的数据Cache和指令Cache;

 提供0.25μm、0.18μm和0.13μm的生产工艺;  并行读取/写入部件。

b)包括:ARM1020、ARM10200、ARM1020E、ARM1022E、ARM1026EJ-S。c)使用ARM10TDMI处理器核,采用ARMv5T结构。d)ARM10TDMI  在相同工艺条件下,处理能力是ARM9TDMI的两倍;

 采用提高时钟频率、6级流水线、转移预测逻辑、64位存储器和无阻塞的存/取逻辑等措施提升性能。

e)ARM10E。新节能模式,64位Load/Store体系,与ARM10TDMI相比具有的特点

 DSP指令集;

 可选的VFP10浮点处理协处理器;

 在实时控制和三维图像处理时,主频可达650MFLPS(百万次浮点运算每秒)。

(6)ARM11系列微处理器

 ARM1156T2-S内核、ARM1156T2F-S内核、ARM1176JZ-S内核和ARM11JZF-S内核  ARM1156T2-S内核和 ARM1156T2F-S内核  基于ARM v6指令集体系结构;

 是首批含有ARM Thumb-2内核技术的产品。(7)Cortex-A系列微处理器

 适于高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域。 支持传统 ARM、Thumb指令集和新的高性能紧凑型 Thumb-2 指令集。 移动互联网的支持

 低功率设计,支持 Adobe Flash 10.1  高性能 NEON 引擎,广泛支持媒体编解码器  高性能

 Cortex-A15:为新一代移动基础结构应用和无线基础结构应用提供高性能的解决方案。

 Cortex-A9。800 MHz1 GHz 的频率下,提供的性能超过 2000 DMIPS。

 Cortex-A5 低成本实现,在 400-800 MHz 的频率下,提供的性能超过 1200 DMIPS,是尺寸最小、功耗最低的 ARM 多核处理器。

 多核技术:Cortex-A15、Cortex-A5和Cortex-A9 处理器都支持 ARM 第二代多核技术。 高级扩展

 Thumb-2,提供最佳代码大小和性能。 TrustZone,安全扩展,提供可信计算。

 Jazelle 技术,提高执行环境(如 Java、.Net、MSIL、Python 和 Perl)速度。

(8)Cortex-R系列微处理器

 为具有严格的实时响应限制的深层嵌入式系统提供高性能计算解决方案。

 快速。以高时钟频率获得高处理性能。

 确定性。处理在所有场合都必须符合硬实时限制。 安全。系统必须可靠且可信。

 成本效益。在处理器及其内存系统中都具有竞争力的成本和功耗。 应用领域

 智能手机

 企业系统:硬盘驱动器、联网和打印  消费电子:机顶盒、数字电视和播放器  医疗行业、工业和汽车行业的可靠系统  功能集

(9)Cortex-M系列微处理器

 向上兼容的高能效、易于使用的处理器

 针对成本和功耗敏感的 MCU 和终端应用的混合信号设备进行过优化。 更低的功耗,更长的电池寿命。

 高密度指令集,更小的代码,更低的硅成本。

RISC 处理器内核高性能32 位CPU具有确定性的运算低延迟3 阶段管道Thumb-2 技术16/32 位指令的最佳混合小于8 位设备3 倍的代码大小对性能没有负面影响低功耗模式集成的睡眠状态支持多电源域基于架构的软件控制嵌套矢量中断控制器(NVIC)低延迟、低抖动中断响应不需要汇编编程以纯C 语言编写的中断服务例程工具和RTOS 支持广泛的第三方工具支持Cortex 微控制器软件接口标准(CMSIS)最大限度地增加软件成果重用CoreSight调试和跟踪JTAG 或2 针串行线调试(SWD)连接支持多处理器支持实时跟踪(10)SecurCore系列微处理器

 为安全要求较高应用设计。智能卡

 SIM、ID、银行业、付费电视、公共交通、电子政务

2.4 ARM处理器模式

(1)32位ARM处理器工作状态

32位ARM处理器有三种工作状态  ARM状态。对应32位ARM指令集  Thumb状态。对应16位Thumb指令集  Jazelle状态。对应8位的Jazelle指令集

用于在处理器指令层次对JAVA加速

只有进入特定的状态,相应的指令集才有效。CPSR的J(Jazelle)和T(Thumb)位反映程序的状态。Thumb-2  与现有 ARM 和 Thumb 解决方案向后兼容,同时扩展了 Thumb 指令集的可用功能;  使用少于 31% 的内存以降低系统成本;  提供比现有高密度代码高出 38% 的性能。(2)64位ARM处理器工作状态

ARMv8架构

两种主要执行状态:AArch64, AArch32 AArch64:引入了一套新的指令集“A64”专门用于64位处理 AArch32:兼容现有的32位ARM指令集 ARMv8架构支持三个主要指令集

A32(或 ARM):32 位固定长度指令集

T32(Thumb):以 16 位固定长度指令集的形式引入,在引入 Thumb-2 技术时增强为 16 位和 32 位混合长度

A64:提供与 ARM 和 Thumb 指令集类似功能的64位固定长度指令集(3)ARM处理器运行模式

 用户模式(usr):ARM处理器正常的程序执行状态。 快速中断模式(fiq):用于高速数据传输或通道处理  外部中断模式(irq):用于通用的中断处理。 管理模式(svc):操作系统使用的保护模式。

 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

 系统模式(sys):运行具有特权的操作系统任务。

 未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

运行模式可通过软件改变,也可通过外部中断或异常处理改变。用户模式之外的模式称为非用户模式或特权模式。除用户模式和系统模式之外的5种称为异常模式,常用于处理中断和异常、访问受保护的系统资源等情况。

2.5 ARM体系的异常处理

(1)ARM体系中3种控制程序执行流程的方式:  顺序执行  跳转分支指令

 异常中断:处理器暂时中断当前数据流的现象。(2)对异常的响应。ARM处理器执行完当前指令后:  进入与特定的异常相应的操作模式;

 将引起异常指令的下一条指令的地址保存到新模式的R14中;

 将CSPR原值保存到新模式的SPSR中;

 通过设置CSPR的第7位来禁止IRQ。如果为FIQ中断,则还要设置CSPR的第6位来禁止FIQ;

 给PC强制赋向量地址值。(3)中断向量表

指定了异常中断及其处理程序的对应关系,它通常存放在存储地址的低端。

大小为32字节,其中每个异常中断占据4字节空间,用于存放一个跳转指令或者一个向PC寄存器中赋值的指令。

(4)异常优先级:当几个异常中断同时发生时,就必须按照一定的次序来处理这些异常中断。(5)从异常返回

将连接寄存器LR的值减去相应偏移量后送到PC中; 将SPSR复制回CPSR中;

若在进入异常处理时设置了中断禁止位,则要清除。通过普通指令控制PC返回

软件中断的返回指令 MOVS R15, R14;将链接寄存器内容移入PC并转换模式 IRQ,FIQ和预取异常终止中断的返回指令 SUBS R15, R14, #4 数据终止异常的返回指令 SUBS R15, R14, #8;异常在导致异常的指令的下一条指令后产生

2.6 ARM内部寄存器

(1)寄存器结构

32位ARM有31个32位通用寄存器,6个状态寄存器。通用寄存器可用来保存数据和地址信息,用R为前缀加寄存器序号表示

15个通用寄存器(R0~R14)、一个或两个状态寄存器及程序计数器可在任意时间和处理器模式下被访问,有些处理器模式拥有自身独立的寄存器

(2)通用寄存器

分成三类:

R0~R7:未分组寄存器。每个未分组寄存器在所有的处理器模式下都表示同一个物理寄存器。R8~R14:分组寄存器。每个分组寄存器与一个用户模式的寄存器对应。R15:程序计数器PC。

分组寄存器R8~R14可分为两组:

R8~R12:每个寄存器对应两组不同的物理寄存器,一组是FIQ模式下的,记为R8_fiq~R12_fiq, 另一组是除FIQ模式外的:R8_usr~R12_usr。

R13~R14:分别对应6个不同的物理寄存器。用户模式和系统模式共用一个寄存器,另外5个对应其余5种。

R13 _ R14 _

可以是以下几种模式之一:usr、svc、abt、und、irq和fiq。

R13:被称为堆栈指针SP,但没有任何指令强制性使用R13作为堆栈指针

R14又被称为链接寄存器LR(Link Register)。当调用子程序时,返回地址被自动保存到R14。由于ARM采用了多级流水线技术,所以当正常读取PC值时,该值为当前指令地址值加8,或是加12。

2.7 ARM体系的存储系统

(1)地址空间

将存储器看作是从零地址开始的字节的线性组合 0-3字节:第1个存储的字数据 4-7字节:第1个存储的字数据 依次排列(2)存储器格式 大端格式

小端格式

(3)存储器访问对准

无论取指还是内存访问都以字、半字或字节对准访问 a)非对齐的指令预取操作

ARM状态:将一个非对齐地址写入PC,数据的第0位和第1位被忽略,PC的bit[1:0]为0 Thumb状态:数据的第0位被忽略,PC的bit[0]为0 b)非对齐地址内存的访问操作(LOAD/STORE操作)

执行结果不可预知

忽略字单元地址低两位的值,半字单元最低位的值(分别对应访问字和半字)

在LDR和SWP指令中,对存储器访问忽略造成地址不对齐的低地址位,然后使用这些低地址位控制装载数据的循环 ARM指令系统及程序设计基础

教学目的:使学生对ARM指令系统及程序设计的基础知识有一定的了解。教学重点:ARM指令系统。

教学难点:ARM程序设计的基础知识。教学方法与教学手段:课堂讲授,多媒体教学。教学时间:4课时。教学内容

3.1 ARM寻址方式

(1)寻址方式

处理器根据指令中给出的地址信息寻找物理地址的方式。寻找操作数或操作数地址的方式。

(2)立即寻址

也叫立即数寻址,操作数本身在指令中给出,该操作数被称为立即数。例如: ADD R0, R0, #1;R0R0+1 立即数须以“#”为前缀,对于十六进制表示的立即数,还需在“#”后加上“0x”或“&”。(3)寄存器寻址

操作数存在寄存器中。例如: ADD R0, R1, R2;R0R1+R2(4)寄存器间接寻址

以寄存器的值作为操作数地址。例如: ADD R0, R1, [R2]

;R0  R1+[R2](5)基址变址寻址

a)基址加偏移的寻址方式

将寄存器内容与指令中给出的地址偏移量相加,得到操作数的有效地址。如: LDR R0, [R1, #4];R0  [R1+4]

前变址:基址加变址作为操作数地址。

后变址:基址作为操作数的地址,传送后自动更新基址寄存器的值。

b)基址加索引的寻址方式

将基址寄存器的值与索引寄存器的值相加,形成操作数的有效地址。例如: LDR R0, [R1, R2]

;R0  [R1+R2] c)多寄存器寻址

一条指令可完成多个(最多16个)寄存器值的传送。例如:

LDMIA R0, {R1, R2, R4};R1  [R0] 22

;R2  [R0+4];R4  [R0+8](6)寄存器移位寻址

操作数为寄存器中数做相应的移位而得到 例如:

ARM中的移位或循环移位操作:  LSL:逻辑左移(Logical Shift Left) LSR:逻辑右移(Logical Shift Right)ADD

R0, R1, R2, LSL #3;R0R1+8×R2  ASR:算术右移(Arithmetic Shift Right)。移位过程中保持符号位不变,若源操作数为正数,则字的高端空出的位补0。若源操作数为负数,则字的高端空出的位补1。

 ROR:循环右移(Rotate Right)。从字的最低端移出的位依次填入字的高端空出的位。 RRX:扩展的循环右移(Rotate Right Extended)。操作数向右移一位,左侧空位由状态寄存器C位填充。当移位的类型为RRX时,无需指定移位的位数,其它的则须指定移位的位数。(7)相对寻址

以PC当前值作为基地址,指令中的地址标号作为位移量,两者相加后得到操作数的有效地址。例如:

BL

NEXT

MOV „„

PC, LR

;从子程序返回 NEXT

;跳转至子程序 NEXT „„

(8)堆栈寻址

a)堆栈:按先进后出(FILO)的方式工作,使用堆栈指针(Stack Pointer, SP)指示当前操作位置。b)根据栈指针的指向位置可将堆栈分为

 满堆栈:SP指向最后压入堆栈的数据。 空堆栈:SP指向下个将放入数据空位置

c)根据堆栈的生成方式可将堆栈分为

 递增堆栈(Ascending Stack):堆栈由低地址向高地址生成。

 递减堆栈(Descending Stack):由高地址向低地址生成。d)ARM支持四种类型堆栈工作方式

满递增堆栈:SP指向最后压入的数据,且由低地址向高地址生成。满递减堆栈:SP指向最后压入的数据,且由高地址向低地址生产。

空递增堆栈:SP指向下个将放入数据的空位置,且由低地址向高地址生成。空递减堆栈:SP指向下个将要放入数据的空位置,且由高地址向低地址生成。

3.2 ARM指令集

(1)ARM指令集分类 加载/存储指令

数据处理指令 分支指令

状态寄存器访问指令 异常/中断指令 协处理器指令(2)ARM指令的特点 所有指令都是32bit;

大多数指令都在单周期内完成; 所有指令都可以条件执行; load/store体系结构;

指令集可以通过协处理器扩展。(3)ARM指令的格式

(4)ARM指令的条件执行

所有ARM指令都可包含一个可选的条件码,只有当CPSR中条件标志位满足指定条件时,指令才会被执行。否则以NOP指令通过流水线。

(5)加载/存储指令

Load:将内存中数据装载到寄存器 Store:将寄存器中的数据存入内存 a)单寄存器传输指令

{} {B} Rd, addressing1 {} SB | H | SH Rd, addressing2 {} {B} Rd, LABEL LDR/STR指令:寄存器在前,地址在后 LDM/STM指令:地址在前,寄存器在后

LABEL:相对PC的寻址方式。编译器在汇编时,会将标号LABEL汇编成PC的偏移量存入该指令的立即数字段。

B: Byte;S: Sign;H: Half LDR/STR:读/写一个32bit字到/从一个32位寄存器,要求读/写地址字对齐。LDRB:内存8bit字节32bit寄存器;不要求地址对齐,寄存器高24位清零。STRB:寄存器低8位内存的某个地址;不要求地址对齐。

LDRH:16bit半字 32bit寄存器;要求地址半字对齐,寄存器的高16bit清零。STRH:寄存器低16bit内存;要求地址半字对齐。

LDRSH:有符号16bit半字32bit寄存器中;要求地址半字对齐,寄存器高16bit根据符号位扩展。

LDRSB:有符号8bit字节32bit寄存器中;不要求地址对齐,寄存器高24bit根据符号位扩展。

“数据”一列指的是这条指令所访问的存储单元

“基址寄存器”一列的内容是指执行指令之后“基址寄存器”的内容 b)多寄存器传输指令

{} <寻址模式> Rn{!}, {^} LDM / STM:从由基址寄存器指示的一片连续存储器到寄存器列表所指示的多个寄存器之间传送数据。

!:表示执行完操作后将变化之后的地址值写入基址寄存器

^:对于LDM操作,如恢复的寄存器中含有PC(R15)寄存器,则指令执行的同时CPU自动将SPSR拷贝到CPSR中,例如:

LDMFD {R0-R12, LR, PC}^ 数据的传送发生在User用户模式下的寄存器,而非当前模式寄存器,例如:

LDMDB SP, {R0-LR}^ 例如:

STMIA R0!, {R1-R5};以R0为地址指针,将R1-R5保存到内存,指针向上移动

c)交换指令

SWP {B} {} Rd, Rm, [Rn] SWP:字交换;SWPB:字节交换 Rd  [Rn], [Rn]  Rm 例如:

SWP R1, R2, [R3];R1[R3] ,[R3] R2 SWP R1, R1, [R2];R1与[R2]内容互换(6)数据处理指令

a)数据传送指令

MOV {cond} {S} Rd, Operand 例如: MOV R1, R0 MOVEQ PC, R14

;将R14值传到PC b)数据取反传送指令 MVN {cond} {S} Rd, Operand 例如:

MVN R1, #2;将立即数2取反送至R1 c)算术运算指令

ADD、ADC ADD|ADC {cond} {S} Rd, Oper1, Oper2 例如: ADDS ADCS ADCS ADC R0, R4, R8 R1, R5, R9;加低端的字;带进位加第二字

R2, R6, R10;带进位加第三字 R3, R7, R11;带进位加第四字

可实现 128位加法 SUB:减法指令

SUB {cond} {S} Rd, Oper1, Oper2 SBC:带借位减法指令

SBC {cond} {S} Rd, Oper1, Oper2 例:SBCS R0, R1, R2;R0=R1–R2–C RSB:反向减法指令

RSB {cond} {S} Rd, Oper1, Oper2 操作数2减去操作数1,例如: RSB R0, R1, R2;R0 = R2 – R1 RSC:带借位的逆向减法指令 RSC {cond} {S} Rd, Oper1, Oper2 d)逻辑运算指令 AND:与

AND {cond} {S} Rd, Oper1, Oper2 ORR:或

ORR {cond} {S} Rd, Oper1, Oper2 EOR:异或

EOR {cond} {S} Rd, Oper1, Oper2 e)比较指令 CMP CMP {cond} Operand1, Operand2 CMN:反值比较 CMN {cond} Operand1, Operand2 将第一个数与第二个数的反值进行比较,相当于完成两个数相加。例如: CMN R1, R0;R1+R0,并设置CPSR f)测试指令 TST TST {cond} Operand1, Operand2

把两个操作数按位进行与运算,根据结果更新CPSR。

TEQ TEQ {cond} Operand1, Operand2 把两个操作数按位进行异或运算,根据结果更新CPSR g)乘法指令 MUL MUL {cond} {S} Rd, Oper1, Oper2 RdOperand1×Operand2。例如: MUL

R0, R1, R2 MLA MLA {cond} {S} Rd,Oper1,Oper2,Oper3 RdOperand1×Operand2+Operand3 例如:

MLA R0, R1, R2, R3;R0 = R1×R2+R3;R0 =R1×R2 UMULL:64位无符号数乘法指令 UMULL {cond} {S} Rd_L, Rd_H, Operand1, Operand2 Rd_H:Rd_L Operand1×Operand2 例如: UMULL R0, R1, R2, R3;R0 =(R2×R3)的低32位;R1 =(R2×R3)的高32位 UMLAL: 64位无符号数乘加指令 UMLAL {cond} {S} Rd_L, Rd_H, Operand1, Operand2 Rd_H:Rd_L+= Operand1×Operand2 例如:

UMLAL

R0, R1, R2, R3;R0 =(R2×R3)的低32位+R0;R1 =(R2×R3)的高32位+R1 SMULL:64位有符号数乘法指令 SMULL {cond} {S} Rn_L, Rn_H, Operand1, Operand2 Rd_H:Rd_L Operand1×Operand2 SMLAL: 64位有符号数乘加指令 SMLAL {cond} {S} Rn_L, Rn_H, Operand1, Operand2 Rd_H:Rd_L+= Operand1×Operand2(7)分支指令

a)B(分支指令)和 BL(带链接分支指令)B {cond} LABEL BL {cond} LABEL

允许向前或向后跳转最高32MB。

BL:带返回的分支指令,用于调用一个将其返回地址存入链接寄存器的函数。例如:

SUBPRG BL …… SUBPRG „„;<子程序代码> MOV PC, LR;返回

b)BX(分支并可选地交换指令集)和BLX(带链接分支并可选地交换指令集)BX {cond} Rm BLX {cond} LABEL | Rm Rm:转移地址,bit[0]为0时,目标地址处为ARM指令,否则为Thumb指令。BX 和 BLX是唯一可使用的切换指令集的方法。

BX 和 BLX指令执行与B和BL指令相同的分支操作,并可从ARM指令集切换到THUMB指令集。

c)长跳转

通过向PC寄存器中写目标地址值,可实现在4GB地址空间中进行任意跳转。例如: MOV MOV LR, PC;保存返回地址

R15, #0x00110000;无条件转向0x110000(8)状态寄存器访问指令 a)MRS MRS {} Rd, 将状态寄存器的内容传送到通用寄存器中。例如: MRS b)MSR MSR {} _, Rm MSR {} _,# 表示下列情况之一: c:控制域,即PSR[7:0] PSR[32:24] CPSR|SPSR  通用寄存器。例如: MSR CPSR_F, #&F00000000

R3, CPSR;CPSRR3

x:扩展域,即PSR[15:8] s:状态域,即PSR[23:16] f:标志域,即

;设置所有标志位

(9)异常/中断指令(续)a)SWI SWI {} <24位立即数> 产生SWI异常中断,以实现在用户模式下调用操作系统的监控功能程序。它将处理器置于管理(SVC)模式。例如:

SWI 0x01

;调用编号为01的系统例程

b)BKPT BKPT <16位立即数> 产生软件断点中断,可用于程序调试。例如 BKPT 0xF010(10)协处理器指令 a)CDP CDP {} , , CRd, CRn, CRm {,} 编号为CP#的协处理器接受指令并执行。具体操作由Cop1和Cop2定义,CRn和CRm为源操作数,结果CRd。例如:

CDP P6, 2, C5, C10, C3, 16

;激活协处理器P6的操作,操作码1和操作码2值分别为2和16,目标寄存器为C5,源操作数寄存器为C10和C3 b)MRC和MRC MRC | MCR {} , , CRd, CRn, CRm {,} 在ARM与协处理器寄存器间传送数据。MRC:ARM寄存器协处理器寄存器 MCR:协处理器寄存器ARM寄存器 例如: MCR P3, 3, R0, C4, C5, 6;ARM处理器R0协处理器P3的寄存器C4和C5 c)LDC和STC 在协处理器寄存器与存储器间传送数据 LDC:协处理器寄存器存储器

STC:存储器协处理器寄存器 前变址格式

LDC | STC {} {L} , CRd, [Rn, ]{!} 后变址格式

LDC | STC {} {L} , CRd, Rn, 3.3 Thumb指令集

(1)Thumb指令集的特点

 是ARM指令集压缩形式的子集,所有Thumb指令均有对应的ARM指令。 采用16位二进制编码,代码密度小。

 执行Thumb指令时,先动态解压缩,然后作为标准的ARM指令执行。 如何区分指令流取决于CPSR的位T。 大多Thumb数据处理指令采用2地址格式。 移位操作变成单独指令。

 没有协处理器指令、单寄存器交换指令、乘加指令、64位乘法指令及程序寄存器处理指令。 仅分支指令B有条件执行功能。

(2)Thumb状态切换

a)ARM状态进入Thumb状态 执行带状态切换的转移指令BX。例如: BX R0;若R0最低位为1,则转Thumb状态

异常返回。通常用于返回到进入异常前所执行的指令流,而不是特地用于切换到Thumb模式。适用于异常前执行的是Thumb指令。

b)Thumb 状态进入ARM状态 执行BX指令。

利用异常进入ARM指令流。(3)Thumb指令寄存器的使用  对R0~R7具有全部访问权限。

 R8~R12的访问受到限制,只能通过MOV、ADD和CMP访问。

 在每一种特权模式下都有一组SP、LR和SPSR,分别对应ARM状态的R13、R14和R15。(4)Thumb指令与ARM指令的相似点  Load/Store结构。

 支持8位字节、16位半字和32位字数据类型。 半字以2字节边界对准,字以4字节边界对准。(5)Thumb指令与ARM指令差异点

 跳转指令:条件跳转在范围上有更多的限制,转向子程序只具有无条件转移。

 数据处理指令:对通用寄存器进行操作,操作结果需放入其中一个操作数寄存器。因此,许多Thumb指令采用2地址格式,ARM数据处理指令大多采用3地址格式。 单寄存器加载和存储指令:只能访问R0~R7。

 PUSH和POP指令使用堆栈指针R13作为基址实现满递减堆栈,除R0~R7外,PUSH指令还可存储R14,POP指令可加载程序指令PC。

 大多数Thumb指令是无条件执行的,所有ARM指令都是条件执行的。 由于采用高密度编码,Thumb指令格式没有ARM指令格式规则。(6)Thumb分支指令

a)B 指令——目标为Thumb代码 B <条件码>

B指令是Thumb指令集中唯一可条件执行的指令。PC = PC +(SignExtend(signed_immed_8)<< 1)B

3.4 3.5 35

3.6 嵌入式系统设计与开发过程

(1)嵌入式软件开发的特点 a)需要交叉开发环境

 交叉开发环境:实现编译、链接和调试应用程序代码的环境,它分散在有通信连接的宿主机与目标环境之中。

 宿主机(Host)是一台通用计算机,一般是PC机。

 目标机(Target)可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。

 交叉软件开发工具包括:交叉编译器、交叉调试器和模拟软件等。b)引入任务设计方法

 嵌入式应用系统以任务为基本执行单元  用多个并发的任务代替通用软件的多个模块 c)需要固化程序 d)软件开发难度大

 实时性。

 稳定性、可靠性、抗干扰性。(2)软硬件平台的选择 选择处理器需考虑的因素  处理性能  技术指标、功耗

 软件支持工具、是否内置调试工具  供应商是否提供评估板 软件平台的选择

 操作系统。开发工具,与硬件接口难度,内存,是否提供硬件驱动程序,可裁剪性、实时性等

 编程语言。通用性、可移植性、执行效率、可维护性等  集成开发环境

(3)嵌入式系统设计与开发流程  需求分析  体系结构设计

 硬件的设计、制作及测试  软件的设计、实现及测试  系统集成

 系统性能测试及可靠性测试

STM32微控制器

教学目的:使学生对STM32的性能指标、硬件结构有一定的了解。教学重点:STM32的硬件结构。教学难点:STM32的硬件结构。

教学方法与教学手段:课堂讲授,多媒体教学。教学时间:4课时。教学内容

4.1 STM32微控制器的性能指标

(1)STM32F103的主要功能

 ARM Cortex-M3核  最高主频72MHz  512kB Flash、64kB RAM  1个USB、1个CAN、5个USART、3个SPI、2个I2C、2个I2S、1个SDIO、112个GPIO

 3个ADC、2个DAC、8个定时器

 FSMC总线(支持NOR,NAND,SRAM) 12通道DMA控制器

 Serial wire debug(SWD)、JTAG 接口  启动:用户Flash、系统存储器、SRAM(2)JC-STM32CB核心板

 核心芯片:ST STM32F103ZET6  8M NOR Flash:SST39VF6401,16bit  128M NAND Flash:K9F1G08U0C,8bit  8MHz CPU晶振,32768Hz RTC晶振  1个10M/100M以太网接口  1路音频输出和1路音频输入  1个10-pin JTAG调试接口  1个4-pin SWD串行调试接口  Reset按钮、自定义LED,电源LED  1个精密可调电阻连接到片内ADC输入

 使用CPLD扩展IO口及地址译码,型号EPM240T100C5N  板载10/100M网卡控制器,型号DM9000AEP,16bit总线接口

STM32

下载第四章基于嵌入式网络教学平台的系统设计word格式文档
下载第四章基于嵌入式网络教学平台的系统设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式教学平台立项报告

    嵌入式教学平台立项报告 1. 功能作用; 目前嵌入式系统教学平台市场上的主导产品都是基于ARM7或ARM9架构的,一般都认为ARM7属于低端产品、ARM9属于高端产品,也出现了所谓的“ARM......

    网络教学平台

    网络教学平台设计与实现 一、 网络教学平台的设计 1. 教学理论 网络教学的特点是:时空无限性、协同性、个别化,这决定了网络教学不可能采用以“教”为主的传统教学理论。强调......

    北航—嵌入式系统设计教学大纲

    《嵌入式系统设计》课程计划 北航机器人研究所王田苗魏洪兴 一、课程名称:嵌入式系统设计 二、课程目的: 嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、......

    嵌入式系统设计基础总结报告

    嵌入式系统设计基础 嵌入式系统设计基础 结题报告 学生1: 学生2: 学生3: 组长: 组长电话: 指导老师: 完成时间: 嵌入式系统设计基础 目录 目录 ........................................

    基于.NET平台的网络教学辅助系统的设计与实现

    基于.NET平台的网络教学辅助系统的设计与实现 摘要:目前计算机网络的应用在教学系统内已经相当的普及,使得师生之间的交流也更加方便。然而传统的教学模式对某些课程的教学有......

    网络多媒体教学平台的设计

    网络多媒体教学平台的设计摘要:一定的技术总是与一定的行为模式联系在一起。网络以其灵活便捷连通的特点和高度的互动性成为实现互动双向交流的代表性媒体符合国家新课程标准......

    基于资源的网络教学平台设计.

    基于资源的网络教学平台设计 杜震嵘 肖君 上海远程教育集团 摘要:本文的研究是在上海教育资源库的开发应用基础上,对网络教学平台进行研究,并针 对网络教学平台中的网络课程......

    《台阶》网络平台教学设计[5篇模版]

    《台阶》网络平台教学设计 教学目标: 1.知识目标: 整体感知课文内容,了解故事情节, 2.能力目标:把握父亲形象的特点及意蕴。 3.情感、态度、价值观目标:感受父亲性格中的艰苦创业......