《2022年嵌入式系统设计师考试学习笔记.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式系统设计师考试学习笔记.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_资料word 精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载入式软件开发概述1.嵌入式应用软件开发步骤:、硬件的设计与实现;、设备驱动软件的设计与实现;、嵌入式操作系统的挑选,移植,以及API接口函数的设计 ;、支撑软件的设计与调试; 、应用程序的设计与调试;、系统联调、样机交付.2、嵌入式软件开发的特点:、需要交叉编译工具;、通过仿真手段进行调试;、开发板是中间目标机; 、可利用的资源有限;、需要与硬件打交道;3、嵌入式开发遇到的问题:、软件硬协同设计;嵌入式操作系统; 、代码优化 ;、有限的I/O 资源 ;嵌入式程序设计语言1、程序设计语言概
2、述机器语言:是与运算机硬件关系最为亲密的运算机语言,在运算机硬件上执行的就是一条条用机器语言来编写的指令;汇编语言:基本思路是用符号的形式来代替二进行的指令.低级语言:通常将机器语言和汇编语言统称为低级语言.语言处理程序语言处理程序:担任翻译任务的程序称为语言处理程序.包括:汇编程序、说明程序、编译程序.源程序:用汇编语言或某程高级语言编写的程序.源程序不能直接在运算机上运行.说明程序:也称说明器,它直接说明执行源程序、或将源程序翻译成某种中间表示形式后再执行.编译程序:是将源程序翻译成目标语言程序,然后在运算机上运行.区分:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序
3、都不再参加目标程序的执行 ;而在说明方式下,说明程序和源程序要参加程序的运行过程中,运行掌握权在说明程序.程序设计语言的定义包括:语法、语义、语用、语境.2、汇编语言、基本原理:为特定运算机或运算机系统设计的面对机器的符号化程序设计语言.可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 1 页,共 6 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品_精品资料_资料word 精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载包括三类语句:指令语句、伪指令语句、宏指令语句.指令语
4、句:又称机器指令语句,将其汇编后能产生相应的机器代码,这些代码能被CPU 直接识别并执行相应的操作 ;伪指令语句:指示汇编程序在对源程序进行汇编时完成某些工作.区分:伪指令在汇编后不产生气器代码,而指令语句产生气器代码.常用:定义伪指令EQU; 储备定义伪指令DCB; 汇编掌握伪指令IF 、ELSE、 ENDIF , WHILE WEND; 开头伪指令ENTRY; 终止伪指令END .宏指令:将多次重复使用的程序段定义为宏、 ARM 汇编语言格式: ARM 语言以段为单位组织源文件.段是相对独立的、具有特定名称的、不行分割的指令或数序列.段可以分为代码段和数据段,代码段存放执行代码、数据段存放
5、代码运行时用到的数据.一个ARM源程序至少要一个代码段.ARM 汇编语言程序经过汇编处理后生成一个可执行的映像文件,包括: 一个或多处代码段,代码段通常是只读的 ;0 个或多个包含初始值的数据段,通常可读写;0 个或多处不含初始值的数据段,可读写;3、面对过程的语言定义: 也叫命令式语言或强制式语言,通过一系列可执行的运算及运算的先后次序来描述运算的过程.过程序式语言包括:数据、运算、掌握、函数.数据成分:是一种程序语言的数据类型.数据属性:包括名称、类型、储备类别、作用域、生存周期.运算成份:算术运算、关系运算、规律运算.掌握成份:次序、挑选、重复;函数:是程序模块的主要成份,它是一段具有独
6、立功能的程序,包括三个概念:函数定义,函数声明、函数调用.一次函数调用的步骤:、在内存的栈空间当中为其安排一个栈帧,用来存放该函数的形参变量和局部变量 ; 、把实参变量的值复制到相应的形参变量中; 、掌握流转移到该函数的起始位置; 、该函数开头执行 ; 、当这个函数执行完成后,掌握流和返回值返回到函数调用点.4、面对对象的语言面对对象 =对象 +分类 +继承 +通过消息的通信可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 2 页,共 6 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品_精品资料_资料w
7、ord 精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载对象:是基本运行时的实体,包括数据属性 ,数据操作的行为,所以一个对象将属性和行为封装成一个整体.由对象名、属性、操作三个部分组成.方法:在对象内的操作称为方法;消息:对象之间进行通信的一种构造;类:定义了一组大体上相像的对象,类是在对象之上的抽象,对象是类的详细化.继承:父类和子类之间共享数据和方法的机制.多态:不同的对象收到同一消息可以产生完成不同的结果,这一现象称为多态.动态绑定:是一个把过程调用和响应调用所需要执行的代码加以结全的过程.C+ :一种面对对象的语言,支持面对对象,也支持面对过程.5、汇编
8、、编译、解译程序的基本原理、汇编程序:是将汇编语言源程序翻译成机器语言程序.汇编程序一般至少需要两次扫描源程序才能完成翻译过程:第一次主要工作是定义符号的值并创建一个符号表 ST;其次次是扫描的任务产生目标程序.、编译程序:功能是把某些高级语言编写的源程序翻译成与之等价的目标语言程序.分成六个阶段:词法分板阶段、语法分板阶段、语议分析阶段、中间代码生成阶段、代码优化阶段、目标代码生成阶段.、说明程序:是另一种语言处理程序,在词法、语法、语议分析方面与编译程序,它直接执行源程序或源程序的内部形式.因此说明程序不产生源程序的目标程序,这是与编译程序的主要区分.嵌入式软件开发环境宿主机:是用于开发嵌
9、入式系统的运算机,运行的工具包括:文本编辑器、交叉调试器、集成环境以及各种分析工具.目标机一般在嵌入式应用软件的开发和调试期使用,它可以是嵌入式应用软件的实际运行环境,也可以是能够代替实际运行环境的仿真系统.常用的调度方法: 直接测试法、 调试监控器法、 ROM 仿真器法、 在线仿真器法、 片上调试法及模拟法.1、嵌入式平台选型嵌入式设计分三个阶段:分析、设计和实现.可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 3 页,共 6 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品_精品资料_资料word
10、精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载分析阶段:是确定要解决的问题及需要完成的目标,也称需求阶段;设计阶段:主要是解决如何在给定的约束条件下完成用户的需求;实现阶段:主要是解决如何在所挑选的硬件和软件的基础上进行整个软硬件系统的和谐和实现.硬件的挑选包括:处理器、硬件部件软件的挑选包括:操作系统、编程语言、软件开发工具、硬件调试工具和软件组件.2、软件设计、软件设计任务: 预备一个工作方案;确定软件的结构 ;设计评审 ;保护工作方案 ;与硬件部门亲密合作、相互和谐 ;掌握工作的结果、把工作记录存档.、模块结构设计模块结构设计的任务:将系统划分为模块,确定
11、软件的结构,模块的功能和模块间的接口,以及全局数据结构设.模块:是组成系统的基本单位,它的特点是可以组合、分解和更换.模块的四要素:输入和输出;处理功能 ; 内部数据 ; 程序代码.模块结构设计应遵守的原就:所划分的模块其内部凝结性要强,模块之间的联系要少,即要有很强的独立性 ; 模块之间的连接只能存在上下级之间的调用关系,不能有同级之间的横向关系; 整个结构呈树状结构,不答应网状结构或交叉调用关系;全部模块必需严格的分类编码并建立归档文件.、结构化设计的方法结构化设计的方法是一种面对数据流的设计方法,基本思想是将系统设计成由相对独立、功能单一的模块组成的结构.信息流的类型:变换流和事务流.结
12、构化设计方法的步骤:复查并精化数据流图;确定DFD 的信息流类型 变换型或事务型;依据流类型 分别实施变换分析或事务分析;依据系统设计的原就,对程序结构图进行优化.3、嵌入式程序设计、 bootloader 的设计步骤 ;stage1 和 stage2 两大部Stage1 步骤:硬件设备初始化;为加载 bootloader 的 stage1 预备内存空间 ;复制 bootloader 的 stage1 到内存; 设置好堆栈 ; 跳转到 stage1 的 C 入口点.可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 4 页,共 6 页
13、- - - - - - - - - -可编辑资料 - - - 欢迎下载精品_精品资料_资料word 精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载Stage2步骤:初始化本阶段要使用的硬件设备; 检测系统内存映射;将内核映像和根文件系统映像到flash上读入到内存中 ;为内核设置启动参数,并调用内核.、设备驱动程序设计、网络应用程序设计4、编码四个步骤:确定源程序的标准格式、制定编程规范;预备编程环境 ; 编写代码 ; 进行代码审查,提高编码质量.5、测试、概述软件测试:是从经济和效率的角度动身,对软件代码进行质量和正确性保证的一个过程.系统测试的目的:是为了发
14、觉至今尚未发觉的错误.规范化的测试过程:拟定测试方案;编制测试大纲 ;依据测试大纲设计和生产测试用例;实施测试 ;生成测试报告.、测试方法分类:人工测试和机器测试人工测试的三种方法:个人复查、抽查、会审机器测试分成:黑盒测试和白盒测试黑盒测试:也称功能测试,将软件看成黑盒子,在完成不考虑软件内部结构和特性的情形下,测试软件的外部特性.包括:极限情形测试;边界测试 ;反常测试 ; 随机测试 ;性能测试.白盒测试:也称结构测试,将软件看成透亮的的盒,依据程序的内部结构和规律来设计测试用例.原就:程序模块中的全部独立路径至少执行一次;在全部的规律判定中,取“真”假“”的两种情形至少都要执行一次 ;每
15、个循环都应在边界条件和一般条件下各执行一次;测试程序内部的数据结构的有效性.、测试步骤:、系统平台测试:包括硬件电路测试、操作系统及底层驱动程序测试;、单元测试:也称模块测试.一般采纳白盒测试法.主要测试模拟块接口、局部数据结构、重要的执行路径、出错处理、边界条件.可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 5 页,共 6 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载精品_精品资料_资料word 精心总结归纳 - - - - - - - - - - - -学习好资料欢迎下载测试时需要开的模块包括:驱
16、动模块相当于一个程序,负责接收测试用例的数据,将这些数据送到测试模块,并输出结果 和桩模块 也称为存根模块,用来代替测试模块中所调用的子模块,其内可进行少量的数据处理,目的是为了检验入口,并输出调用和返回的信息、集成测试:也称组装测,就是把各个模块依据系统设计说明书的要求组合起来进行测试.两种方法:一种是分别测试各个模块,再把这些模块组合起来进行整体测试,即非增量式集成;另一种是把下一个要测试的模块组合到已测试好的模块中,测试完成再将下一个模块组合进来,进行测试,这样逐步把全部的模块组合在一起,并完成测试,即增量式集成.、系统测试:将嵌入式软件、硬件,外设和网络等各种因素结全在一起,进行整个系
17、统的组装测试和确认测试.一般采纳黑盒测试法.主要测试内容:复原测试、强度测试、性能测试、牢靠性测试.、测试结果分析对测试结果分析和比较帮忙错误的定位,指导程序员修改代码.、掩盖测试:是一种白盒测试法,测试人员必需拥有程序的规格说明书和程序清单.其基本思路是以程序的内部结构为基础来设计测试用例,以掩盖尽可能多的程序内部规律结构,发觉其中的错误和问题,一般用在单元测试阶段.主要策略:语句掩盖、判定掩盖、条件掩盖、判定/条件掩盖、条件组合掩盖.5、下载运行嵌入式软件移植可分成有操作系统和无操作系统的移植.uC/OS-II 操作系统代码被分成三个部分:一是,与处理器无关的代码,如任务治理、储备治理、信
18、号量等 ;二是,与系统配置有关,应用程序开发人员可以通过修改这些配置文件来裁剪内核,挑选自已需要的系统服务 ;三是,与处理器相关的代码,包括OS_CPU.H 、OS_CPU_A.ASM 、OS_CPU_C.C 三个文件.提高嵌入式应用软件的可移植性,遵守的原就:在软件设计上,采纳层次化设计和模块化设计; 在软件体系结构上,可在操作系统和应用软件之间引入一个虚拟机层,或者叫操作系统抽象层,将通用的、共性的操作系统API 接口函数封装起来;在功能服务的调用上,要尽量使用可移植的函数;将不行移植的部分局域化 ;提高代码的可重用性.可编辑资料 - - - 欢迎下载精品_精品资料_学习资料 名师精选 - - - - - - - - - -第 6 页,共 6 页 - - - - - - - - - -可编辑资料 - - - 欢迎下载