嵌入式神级复习资料
嵌入式的复习资料
2010 秋《嵌入式软件开发技术》复习提纲
(版本2010/12/7)
内容需要下载文档才能查看
考试题型:
选择题(25 分),每小题1 分,共25 题。将会在PPT 中的内容及本复习提纲提 及的内容中选出,不会超出以上范围。
简答题(25 分)。将会在本复习提纲范围内选出,不会超出本复习提纲范围。 问答题(25 分)。将会在本复习提纲范围内选出,不会超出本复习提纲范围。 案例分析题(25 分)。部分和所做的实验(实验一、二、三)相关,部分在本复习 提纲中选出。
复习提纲:
以下序列按照PPT 的顺序:
1、嵌入式系统导论(本章请参考ppt 内容)
·嵌入式系统的定义
内容需要下载文档才能查看
“嵌入式系统”( Embedded System )一般指非PC 系统,有计算机功能但又 不称之为计算机的设备或器材。
·嵌入式系统组成(嵌入式硬件与嵌入式软件);
嵌入式系统由嵌入式硬件与嵌入式软件组成。
内容需要下载文档才能查看
嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部。
内容需要下载文档才能查看
嵌入式软件是实时多任务操作系统和各种专用软件,一般固化在ROM或闪存中。
2、程序设计基础(重点,本章请参考课本和ppt 相关内容) ·设计高性能程序的必要性(课本P3)
代码量的多少往往和软件的质量、性能、稳定性和健壮性成反比(Page 3) 程序员的修养:热情(兴趣)及责任感
·嵌入式软件的设计范畴(课本P4-5)
嵌入式平台软件:与硬件紧密结合(Page 4)
内容需要下载文档才能查看
应用软件:软件开发,跨平台及硬件(Page 4)
内容需要下载文档才能查看
产品固件程序:最常见的是Boot-loader,操作系统定制、驱动编写等(Page 4-5) ·嵌入式软件的程序设计要求(重点)
回答下面的代码结果要求和代码形式要求就行了
·嵌入式软件的分层结构(图);
嵌入式的复习资料
内容需要下载文档才能查看
·嵌入式软件体系结构(图);
内容需要下载文档才能查看
·代码结果的要求(P9)
通用性、健壮性、高效率
·代码形式的要求(P10)
代码规范、接口规范
嵌入式的复习资料
·补充:程序编写规范的重要性(重点;3 点)老师说:记住下面三句话就好了
内容需要下载文档才能查看使团队中的每位成员都形成统一的开发约定
内容需要下载文档才能查看
通过规范,可以给各程序员之间起到沟通桥梁的作用
内容需要下载文档才能查看
增强程序的可读性
·嵌入式系统程序开发特点(ppt 的表,知道两者差异就可以)
·嵌入式软件开发的基本思路和原则(课本4 句话,P11,详细解释P11-14)
系统分析,定义接口;
函数实现,优化算法;
清理代码,补充注释;
测试修订,完善文档
·程序实例剖析(课本P14-29,结合ppt 内容进行阅读,理解为什么这些情况下要这
样设计程序?可以结合具体例子阐述“怎么样提高程序的健壮性”等等。)老师说:这一点你们睡觉前像看小说一样看看就好,这个考试不出
3、硬件基础-1 简要(只需看简单版,不考详细版) 本章只出1、2 条选择题。(基本上就考有下划线的)
·只需了解ARM 是RISC 处理器,共有37 个寄存器等基本知识。
RISC:reduced instruction set computer精简指令集计算机 ARM微处理器的特点是:低功耗、低成本、高性能。
ARM处理器支持两种指令集:ARM指令集合和Thumb指令集。前者是32位,后者是16位。 在ARM微处理器的七种工作模式除了用户模式之外其他的六种称为特权模式。 ARM体系结构所支持的最大寻址空间为4GB
ARM存储字数据分为大端和小端格式。大端:高字节存放于低地址,低字节存放于高地址。
ARM存储器:ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个或两个状态寄存器都是可访问的。其中R0~R7为未分组寄存器,R8~R14是分组寄存器。R13是堆栈指针,R14子程序连接寄存器,R15程序计数器。
ARM有9种的寻址方式。
3、硬件基础-2 程序优化(重点,本章内容请参考ppt) ·ARM 编译器优化级别(重点,能具体解释各个级别的内容) 注意,这个必考 使用编译器优化级别是可选择
-O0——
内容需要下载文档才能查看DEBUG
关闭大多数优化
内容需要下载文档才能查看.
最好的调试信息,最少的优化
-O1——
内容需要下载文档才能查看DEBUGREL
多数优化选项许可
内容需要下载文档才能查看
给一个满意的调试,好的代码密度
-O2——
内容需要下载文档才能查看RELEASE(default)
完全的优化
内容需要下载文档才能查看
有限的调试信息,最好的代码密度
内容需要下载文档才能查看
为代码大小或运行速度的优化,可选择:-Ospace(默认的)或-Otime.
嵌入式的复习资料
内容需要下载文档才能查看使用-g选像可包含源码级调试信息
备注:下面这些是我自己的补充东东而已,可以无视之。
Lr表示R14 lr(r14)的作用问题,这个lr一般来说有两个作用:
1.当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结尾恢复。
2.异常中断发生时,这个异常模式特定的物理R14被设置成该异常模式将要返回的地址。
另外注意pc,在调试的时候显示的是当前指令地址,而用mov lr,pc的时候lr保存的是此指令向后数两条指令的地址,大家可以试一下用mov pc,pc,结果得到的是跳转两条指令,这个原因是由于arm的流水线造成的,预取两条指令的结果.
在浮点数的操作中要调用浮点库
·清楚理解自动优化、冗余代码清除、指令编排、嵌套优化、内联例子等概念和实际 应用,能通过阅读例子代码,解释以上优化做了什么事情(重点)
结合以上1、2 点,对编程中出现的一些现象进行详细解释
老师说:记住这几个的名称就可以了(我晕,这就是重点的内涵)
·C 和汇编混合编程(直接调用和内嵌汇编)有什么不同
·使用ARM 编译器编码参数传递(4、6 参数的区别,解释,重点)
·循环终止(实验一的相关内容,重点)
老师举了++ --的例子,下课后问他,他说现在的编译器其实都优化得差不多了,所以要用现在的编译器基本上是看不出来的,要比较古老的编译器才可以看出 就看他给的那个汇编就好了
·局部和全局数据
全局和静态变量保留在RAM里:
需使用loads/stores访问外部存储器
局部变量通常放在寄存器中,用来快速且高效的处理:
如果编译器的寄存器分配算法认为超过现有的寄存器数量,将把变量压入栈中
对局部变量,用 word-sized (int) 代替 halfword 和 byte:
为了确保不受其他条件的影响,可特别指定使用32-bit寄存器变量
·堆栈的用法(重点)
C/C++代码的堆栈使用,堆栈用来保留:
子程序的返回地址
‘溢出’的局部变量
局部数组和结构体
注意:
函数越小越好: (更少的变量,更少的‘溢出‘);
更少数量的‘live’变量 (比如:函数里每个点保存的有用的数据)
避免使用大的局部结构体或数组 (使用malloc/free代替)
避免递归
4、多任务操作系统(本章内容请参考课本和ppt)
·OAL、BSP 概念(重点) 两个会考其中的一个
嵌入式的复习资料
OAL:OAL(OEM 适配层,OEM AdaptationLayer),用来引导系统核心映像和初始化、管理硬件。它是BSP驱动的一部分。
内容需要下载文档才能查看
BSP板级支持包(Board Support Package),是介于硬件和操作系统中驱动层程序之间的一层,(这是其位置)一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。(这是其作用)
·BSP 在嵌入式系统和Windows 系统中的不同
运行在PC机上的Windows或Linux系统也是有BSP的。只是PC机均采用统一的X86体系架构,这样一定操作系统(Win、Linux )的BSP相对x86架构是单一确定的,不需要做任何修改就可以很容易支持OS在x86上正常运行,所以在PC机上谈论BSP这个概念也没什么意义了。
而对嵌入式系统来说情况则完全不同,目前市场上多种结构的嵌入式CPU(RISC)
并存(PPC、ARM、MIPS...),为了性能的需要,外围设备也会有不同的选择和定义。
内容需要下载文档才能查看一个嵌入式操作系统针对不同的CPU,会有不同的BSP,即使同一种CPU,由于外设的一点差别(如外部扩展DRAM的大小,类型改变),BSP相应的部分也不一样。
内容需要下载文档才能查看
所以根据硬件设计编写和修改BSP,保证系统正常的运行是非常重要的
·BSP 在嵌入式开发中的位置和作用(重点)
下面这些是我复习时copyppt的东东,可以无视之,答案在上面
BSP开发处于整个嵌入式开发的前期,是后面系统上应用程序能够正常运行的保证。大概步骤如下:
1. 硬件主板研制,测试。
2. 操作系统的选定,BSP编程。
3. 上层应用程序的开发。
内容需要下载文档才能查看
BSP部分在硬件和操作系统,上层应用程序之间。所以这就要求BSP程序员对硬件, 软件和操作系统都要有一定的了解。这样才能做好BSP编程。
内容需要下载文档才能查看
熟悉工具方面:电表,示波器,逻辑分析仪。硬件仿真器,仿真调试环境
内容需要下载文档才能查看语言方面:汇编语言,C语言
·何时需要多任务(阅读课本P44-50)
·什么是“共享资源”
资源:程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。
共享资源:可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。
注意:在嵌入式系统中,不区分线程和任务的区别。
·优先级反转问题(重点)看一下ppt那张图,能有文字说明清楚就行了
Windows CE默认的时间片大小是100ms,时间片的大小可以由用户定义。
优先级反转问题:简单地说,就是高优先级任务必须等待低优先级任务的完成。 如果任务之间由于有共享资源出现了竞争或者死锁,是会严重影响系统安全的。因此OS对共享资源提供了保护机制。一般情况下使用的是信号量方法。创建一个信号量并对他进行初始化,当一个任务需要使用一个共享资源时,他必须先申请得到这个信号量。在这个过程中即使有优先权更高的任务进入了就绪态,因为无法得到信号量,也不能使用该资源。在OS中称为优先级反转。
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 语文园地一
- 2016考研政治 建设中国特色社会主义政治复习(二)
- 2016考研 传播学复习全程规划
- 国际贸易57147
- vc3333——创业投资的基本理论
- 2016考研政治 五大科目如何抓住点
- 新同福客栈创业策划书-创意样本
- 兰宁羽:为创业者打开梦想盒子-经济观察报
- “海南大学生go购网”创业计划书
- 人事档案管理拾零
- 隐性裙带关系对招聘面试的影响
- 网站推广专员岗位职责
- 南京市写字楼市场分析报告
- 《汉语拼音复习四》教学课件
- 中美创业板上市制度的比较研究
- 人事档案管理制度
- 盛世清北--清华大学结构力学专业考研
- 2015-2016年制造业人力资源管理六大趋势
- 谈当前人事档案管理的现状及几点建议
- 爱的教育
- 中国服务贸易壁垒量化の研究
- 基于网络环境的中职学生创业教育的研究
- 企业文化教育
- 宏观经济学 第2章 宏观经济学的数据
- 浅谈确保医院人事档案完整性的两个重要环节
- 财经趣文赏析:关于黄世仁重组杨白劳债务的问题
- 2016考研政治 这样复习保你拿高分
- 2016考研 新闻传播学专业各大院校排名和得分
- 美术-四年级下册-第五单元有趣的地球村(家乡绿梦)-岭南版-朗晴小学-东区朗晴小学
- 漫咖啡,济南人的休闲时光-中国旅游报
网友关注视频
- 七年级英语下册 上海牛津版 Unit9
- 北师大版数学四年级下册3.4包装
- 苏科版数学七年级下册7.2《探索平行线的性质》
- 沪教版八年级下册数学练习册21.3(2)分式方程P15
- 沪教版八年级下次数学练习册21.4(2)无理方程P19
- 人教版历史八年级下册第一课《中华人民共和国成立》
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
- 【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
- 外研版英语七年级下册module3 unit1第二课时
- 北师大版数学四年级下册第三单元第四节街心广场
- 精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
- 二年级下册数学第三课 搭一搭⚖⚖
- 化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
- 化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
- 第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
- 3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
- 七年级英语下册 上海牛津版 Unit5
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
- 冀教版小学数学二年级下册第二单元《余数和除数的关系》
- 三年级英语单词记忆下册(沪教版)第一二单元复习
- 《小学数学二年级下册》第二单元测试题讲解
- 七年级英语下册 上海牛津版 Unit3
- 8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
- 河南省名校课堂七年级下册英语第一课(2020年2月10日)
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
- 七年级下册外研版英语M8U2reading
- 30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
- 冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理