软考嵌入式系统设计师考试学习笔记

发布 2022-06-17 19:08:28 阅读 7809

⑴、硬件的设计与实现;⑵、设备驱动软件的设计与实现;⑶、嵌入式操作系统的选择,移植,以及api接口函数的设计;⑷、支撑软件的设计与调试;⑸、应用程序的设计与调试;⑹、系统联调、样机交付。

⑴、需要交叉编译工具;⑵、通过**手段进行调试;⑶、开发板是中间目标机;⑷、可利用的资源有限;⑸、需要与硬件打交道;

⑴、软件硬协同设计;⑵嵌入式操作系统;⑶、**优化;⑷、有限的i/o资源;

⑴机器语言:是与计算机硬件关系最为密切的计算机语言,在计算机硬件上执行的就是一条条用机器语言来编写的指令;

汇编语言:基本思路是用符号的形式来代替二进行的指令。

低级语言:通常将机器语言和汇编语言统称为低级语言。

⑵语言处理程序。

语言处理程序:担任翻译任务的程序称为语言处理程序。包括:汇编程序、解释程序、编译程序。

源程序:用汇编语言或某程高级语言编写的程序。源程序不能直接在计算机上运行。

解释程序:也称解释器,它直接解释执行源程序、或将源程序翻译成某种中间表示形式后再执行。

编译程序:是将源程序翻译成目标语言程序,然后在计算机上运行。

区别:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行;而在解释方式下,解释程序和源程序要参与程序的运行过程中,运行控制权在解释程序。

程序设计语言的定义。

⑶包括:语法、语义、语用、语境。

⑴、基本原理:为特定计算机或计算机系统设计的面向机器的符号化程序设计语言。

包括三类语句:指令语句、伪指令语句、宏指令语句。

指令语句:又称机器指令语句,将其汇编后能产生相应的机器**,这些**能被cpu直接识别并执行相应的操作;

伪指令语句:指示汇编程序在对源程序进行汇编时完成某些工作。区别:

伪指令在汇编后不产生机器**,而指令语句产生机器**。常用:定义伪指令 equ;存储定义伪指令 dcb;汇编控制伪指令 if、else、endif,while wend;开始伪指令 entry;结束伪指令 end。

宏指令:将多次重复使用的程序段定义为宏。

⑵、arm汇编语言。

格式:arm语言以段为单位组织源文件。段是相对独立的、具有特定名称的、不可分割的指令或数序列。

段可以分为**段和数据段,**段存放执行**、数据段存放**运行时用到的数据。一个arm源程序至少要一个**段。

arm汇编语言程序经过汇编处理后生成一个可执行的映像文件,包括:一个或多处**段,**段通常是只读的;0个或多个包含初始值的数据段,通常可读写;0个或多处不含初始值的数据段,可读写;

定义:也叫命令式语言或强制式语言,通过一系列可执行的运算及运算的先后次序来描述计算的过程。

过程序式语言包括:数据、运算、控制、函数。

数据成分:是一种程序语言的数据类型。

数据属性:包括名称、类型、存储类别、作用域、生存周期。

运算成份:算术运算、关系运算、逻辑运算。

控制成份:顺序、选择、重复;

函数:是程序模块的主要成份,它是一段具有独立功能的程序,包括三个概念:函数定义,函数声明、函数调用。

一次函数调用的步骤:⑴、在内存的栈空间当中为其分配一个栈帧,用来存放该函数的形参变量和局部变量;⑵、把实参变量的值复制到相应的形参变量中;⑶、控制流转移到该函数的起始位置;⑷、该函数开始执行;⑸、当这个函数执行完成后,控制流和返回值返回到函数调用点。

面向对象=对象+分类+继承+通过消息的通信。

对象:是基本运行时的实体,包括数据(属性),数据操作的行为,所以一个对象将属性和行为封装成一个整体。由对象名、属性、操作三个部分组成。

方法:在对象内的操作称为方法;

消息:对象之间进行通信的一种构造;

类:定义了一组大体上相似的对象,类是在对象之上的抽象,对象是类的具体化。

继承:父类和子类之间共享数据和方法的机制。

多态:不同的对象收到同一消息可以产生完成不同的结果,这一现象称为多态。

动态绑定:是一个把过程调用和响应调用所需要执行的**加以结全的过程。

c++:一种面向对象的语言,支持面向对象,也支持面向过程。

⑴、汇编程序:是将汇编语言源程序翻译成机器语言程序。

汇编程序一般至少需要两次扫描源程序才能完成翻译过程:第一次主要工作是定义符号的值并创建一个符号表st;第二次是扫描的任务产生目标程序。

⑵、编译程序:功能是把某些高级语言编写的源程序翻译成与之等价的目标语言程序。

分成六个阶段:词法分板阶段、语法分板阶段、语议分析阶段、中间**生成阶段、**优化阶段、目标**生成阶段。

、解释程序:是另一种语言处理程序,在词法、语法、语议分析方面与编译程序,它直接执行源程序或源程序的内部形式。因此解释程序不产生源程序的目标程序,这是与编译程序的主要区别。

宿主机:是用于开发嵌入式系统的计算机,运行的工具包括:文本编辑器、交叉调试器、集成环境以及各种分析工具。

目标机一般在嵌入式应用软件的开发和调试期使用,它可以是嵌入式应用软件的实际运行环境,也可以是能够代替实际运行环境的**系统。

常用的调度方法:直接测试法、调试监控器法、rom**器法、****器法、片上调试法及模拟法。

嵌入式设计分三个阶段:分析、设计和实现。

分析阶段:是确定要解决的问题及需要完成的目标,也称需求阶段;

设计阶段:主要是解决如何在给定的约束条件下完成用户的需求;

实现阶段:主要是解决如何在所选择的硬件和软件的基础上进行整个软硬件系统的协调和实现。

硬件的选择包括:处理器、硬件部件。

软件的选择包括:操作系统、编程语言、软件开发工具、硬件调试工具和软件组件。

⑴、软件设计任务:准备一个工作计划;确定软件的结构;设计评审;维护工作计划;与硬件部门密切合作、相互协调;控制工作的结果、把工作记录存档。

⑵、模块结构设计。

模块结构设计的任务:将系统划分为模块,确定软件的结构,模块的功能和模块间的接口,以及全局数据结构设。

模块:是组成系统的基本单位,它的特点是可以组合、分解和更换。

模块的四要素:输入和输出;处理功能;内部数据;程序**。

模块结构设计应遵守的原则:所划分的模块其内部凝聚性要强,模块之间的联系要少,即要有很强的独立性;模块之间的连接只能存在上下级之间的调用关系,不能有同级之间的横向关系;整个结构呈树状结构,不允许网状结构或交叉调用关系;所有模块必须严格地分类编码并建立归档文件。

⑶、结构化设计的方法。

结构化设计的方法是一种面向数据流的设计方法,基本思想是将系统设计成由相对独立、功能单一的模块组成的结构。

信息流的类型:变换流和事务流。

结构化设计方法的步骤:复查并精化数据流图;确定dfd的信息流类型(变换型或事务型);根据流类型分别实施变换分析或事务分析;根据系统设计的原则,对程序结构图进行优化。

⑴、bootloader的设计。

步骤;stage1和stage2两大部。

stage1步骤:硬件设备初始化;为加载bootloader的stage1准备内存空间;复制bootloader的stage1到内存;设置好堆栈;跳转到stage1的c入口点。

stage2步骤:初始化本阶段要使用的硬件设备;检测系统内存映射;将内核映像和根文件系统映像到flash上读入到内存中;为内核设置启动参数,并调用内核。

⑵、设备驱动程序设计。

⑶、网络应用程序设计。

嵌入式系统设计师考试笔记之嵌入式系统基础知识

欧浩源 20080818 一 引言。自 嵌入式系统设计师考试复习笔记之存储管理篇 在嵌入式 的博客出现后,意外的得到很多朋友的关注和评论,收到不少朋友的邮件,问一些有关考试的问题,希望得到我的复习笔记的其他部分。我非常感谢他们,他们的热切关注,使我有了继续往下写的无限动力,使我萌生了将我以前的复习笔...

嵌入式系统设计师考试笔记之嵌入式系统基础知识

欧浩源 20080818 一 引言。自 嵌入式系统设计师考试复习笔记之存储管理篇 在嵌入式 的博客出现后,意外的得到很多朋友的关注和评论,收到不少朋友的邮件,问一些有关考试的问题,希望得到我的复习笔记的其他部分。我非常感谢他们,他们的热切关注,使我有了继续往下写的无限动力,使我萌生了将我以前的复习笔...

嵌入式系统设计师考试笔记之嵌入式系统基础知识

欧浩源 20080818 一 引言。自 嵌入式系统设计师考试复习笔记之存储管理篇 在嵌入式 的博客出现后,意外的得到很多朋友的关注和评论,收到不少朋友的邮件,问一些有关考试的问题,希望得到我的复习笔记的其他部分。我非常感谢他们,他们的热切关注,使我有了继续往下写的无限动力,使我萌生了将我以前的复习笔...