关于嵌入式软件分层设计有哪些知识?

來源:81下載 時間:2022-04-20

嵌入式软件包括哪些方面?

嵌入式软件概念比较大

他这个概念急于在CPU上

单片机上跑的程序就是嵌入式软件。当然最后烧写在MCU上的软件形式是机器码。软件的编写形式可以是汇编,C,C++,经过编译器编译以后都是机器码的形式。现在一些硬件描述语言也归到了嵌入式软件里,比如VHDL,VERILOG。能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效 率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉arm处理器,将来若同学到公司中从事嵌入式软件开 发,公司都会给你一本该设备的硬件规格说明书 (xxx specification),你必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理 器课程较枯燥,这主要是硬件课程都较抽象的原因。还有同学对arm汇编不感兴趣,以为嵌入式开发用c语言就足够了。其实不应仅是将汇编语言当成一个程序设 计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的c语言代码。在嵌入式开发的一些关键部分,有时还必 须写汇编,如bootloader等(可能还包括bsp)。特别是在对速度有极高要求的场合(如dsp处理器的高速图像采集和图像解压缩),目前还会用到 汇编写程序的,尽管用到的机会相对c要小得多。当你在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的,这是因为很多硬件设计人 员只会写或者喜欢用汇编描述,此时你就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。

(2) 嵌入式操作系统类课程

除了wince的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可 称为实时操作系统real timeoperating system.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。目前最重要的rtos主要包 括:

第一类、传统的经典rtos:最主要的便是vxworks操作系统,以及其tornado开发平台。vxworks因出现稍早, 实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8,可靠性较高等,所以在北美,vxworks占据了嵌入式系统的多半 疆山。特别是在通信设备等实时性要求较高的系统中,几乎非vxworks莫属。vxworks的很多概念和技术都和linux很类似,主要是c语言开发。 像bell- alcatel、lucent、华为等通信企业在开发产品时,vxworks用得很多。但vxworks因价格很高,所以一些小公司或小产品中往往用不 起。目前很多公司都在往嵌入式linux转(听说华为目前正在这样转)。但无论如何,vxworks在一段长时间内仍是不可动摇的。与vxworks类似 的稍有名的实时操作系统还有psos、qnx、nucleus等rtos。

关于嵌入式软件分层设计有哪些知识?

嵌入式系统的开发需要掌握哪些基础的知识?请高手指教?

你要是学电子的那你选择嵌入式吧 这个是今年嵌入式的考试大纲 呵呵别晕啊 一点一点来

嵌入式系统设计师考试大纲

一、考试说明

1、考试要求:

(1)掌握科学基础知识;

(2)掌握嵌入式系统的硬件、软件知识;

(3)掌握嵌入式系统分析的方法;

(4)掌握嵌入式系统设计与开发的方法及步骤;

(5)掌握嵌入式系统实施的方法

(6)掌握嵌入式系统运行维护知识;

(7)了解信息化基础知识、信息技术引用的基础知识;

(8)了解信息技术标准、安全,以及有关法律的基本知识;

(9)了解嵌入式技术发展趋势;

(10)正确阅读和理解计算机及嵌入式领域的英文资料。

2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。

二、考试范围

考试科目1:嵌入式系统基础知识

1.计算机科学基础

1.1数制及转换

o 二进制、八进制、十进制和十六进制等常用数制及其相互转换

1.2数据的表示

o 数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出)

o 字符、汉字、声音、图像的编码方式

o 校验方法和校验码(奇偶验码、海明校验码、循环校验码)

1.3算术和逻辑运算

o 计算机中的二进制数运算方法

o 逻辑代数的基本运算和逻辑表达式的化简

1.4计算机系统结构和重要部件的基本工作原理

o CPU和存储器的组成、性能、基本工作原理

o 常用I/O设备、通信设备的性能,以及基本工作原理

o I/O接口的功能、类型和特点

o 虚拟存储存储基本工作原理,多级存储体系

1.5安全性、可靠性与系统性能评测基础知识

o 诊断与容错

o 系统可靠性分析评价

o 计算机系统性能评测方法

2.嵌入式系统硬件知识

2.1数字电路和逻辑电路基础

2.1.1组合电路和时序电路

2.1.2总线电路与电平转换电路

2.1.3可编程逻辑器件

2.2嵌入式微处理器基础

2.2.1嵌入式微处理器体系结构

o 冯.诺伊曼结构与哈佛结构

o CISC与RISC

o 流水线技术

o 信息存储的字节顺序(大端存储法和小端存储法)

2.2.2嵌入式系统处理器的结构和类型

o 常用8位处理器的体系结构和类型

o 常用16位处理器的体系结构特点

o 常用32位处理器的体系结构特点

o 常用DSP处理器的体系结构特点

o 多核处理器的体系结构特点

2.2.3异常

o 同步异常(陷阱、故障、终止)

o 异步异常(中断)

o 可屏蔽中断、不可屏蔽中断

o 中断优先级、中断嵌套

2.3 嵌入式系统的存储体系

2.3.1存储器系统

o 存储器系统的层次结构

o 高速缓存(Cache)

o 内存管理单元(MMU)

2.3.2 ROM的种类与选型

o 常见ROM的种类

o PROM、EPROM、E2PROM型ROM的典型特征和不同点

2.3.3 Flash Memory的种类与选型

o Flash Memory的种类

o NOR和NAND型Flash Memory的典型特征和不同点

2.3.4 RAM的种类与选型

o 常见RAM的种类

o SRAM、DRAM、DDRAM、NVRAM的典型特征和不同点

2.3.5 外存

o 常见外存的种类

o 磁盘、光盘、CF、SD等的典型特征和不同点

2.4 嵌入式系统I/O接口

2.4.1 定时器和计数器基本原理与结构

2.4.2 GPIO、PWM接口基本原理与结构

2.4.3 A/D、D/A接口基本原理与结构

2.4.4键盘、显示、触摸屏接口基本与结构

2.4.5嵌入式系统音频接口

2.5嵌入系统通信及网络接口

o PCI、USB、串口、红外、并口、SPI、IIC、PCMCIA的基本原理与结构

o 以太网、CAN、WLAN、蓝牙、1394的基本原理与结构

2.6嵌入式系统电源分类及电源原理

2.7电子电路设计

2.7.1电子电路设计基础知识

o 电子电路设计原理

o 电子电路设计方法及步骤

o 电子电路设计中的可靠知识

2.7.2 PCB设计基础知识

o PCB设计原理

o PCB设计方法及步骤

o 多层PCB设计的注意事项及布线原则

o PCB设计中的可靠性知识

2.7.3电子电路测试基础知识

o 电子电路测试原理与方法

o 硬件抗干扰测试

3. 嵌入式系统软件知识

3.1嵌入式软件基础知识

3.1.1嵌入式软件的分类(系统软件、支撑软件、应用软件)

3.1.2无操作系统支持的嵌入式软件体系结构(轮询、中断、前后台)

3.1.3有操作系统支持的嵌入式软件体系结构

3.1.4板极支持包基础知识(系统初始化、设备驱动程序)

3.1.5嵌入式中间件(GUI、数据库)

3.2 嵌入式操作系统基础知识

3.2.1嵌入式操作系统体系结构

o 单体结构、分层结构和微内核结构

3.2.2任务管理

o 多道程序技术

o 进程、线程、任务的概念

o 任务的实现(任务的层次结构、任务控制块、任务的状态及状态转换、任务队列)

o 任务调度(调度算法的性能指标、可抢占调度、不可抢占调度、先来先服务、短作业优先算法、时间片轮转算法、优先级算法)

o 实时系统及任务调度(RMS、EDF算法)

o 任务间通信(共享内存、消息、管道、信号)

o 同步与互斥(竞争条件、临界区、互斥、信号量、死锁)

3.2.3存储管理

o Flat存储管理方式

o 分区存储管理(固定分区、可变分区)

o 地址重定位(逻辑地址、物理地址、地址映射)

o 页式存储管理

o 虚拟存储技术(程序局部性原理、虚拟页式存储管理、页面置换算法、工作集模型)

3.2.4设备管理

o 设备无关性、I/O地址、I/O控制、中断处理、缓冲技术、假脱机技术)

3.2.5文件系统基础知识

o 文件和目录

o 文件的结构和组织

o 存取方法、存取控制

o 常见嵌入式文件系统(FAT、JFFS、YAFFS)

3.2.6操作系统移植基础知识

3.3 嵌入式系统程序设计

3.3.1嵌入式软件开发基础知识

3.3.2嵌入式程序设计语言

o 汇编、编译、解释系统的基础知识和基本工作原理

o 汇编语言

o 基于过程的语言(过程/函数、参数传递、全局变量、递归、动态内存分配、数据类型)

o 面向对象的语言(对象、数据抽象、继承、多态、自动内存管理)

o 各类程序设计语言的主要特点和适用情况

3.3.3嵌入式软件开发环境

o 宿主机、目标机

o 编辑器、编译器、链接器、调试器、模拟器

o 常用嵌入式开发工具(编程器、硬件仿真器、逻辑分析仪、示波器)

o 集成开发环境

o 开发辅助工具

3.3.4嵌入式软件开发

o 软件设计(模块结构设计、数据结构设计、内存布局、面向对象的分析与设计)

o 嵌入式引导程序的设计、设备驱动程序设计、内核设计、网络程序设计、应用软件设计)

o 编码(编程规范、代码审查)

o 测试(测试环境、测试用例、测试方法、测试工具)

o 下载和运行

3.3.5嵌入式应用软件移植

4.嵌入式系统的开发与维护知识

4.1系统开发过程及其项目管理

o 系统开发生命周期各阶段的目标和任务的划分方法

o 系统开发项目挂你基础知识及其常用管理工具使用方法

o 主要的系统开发方法

o 系统开发工具与环境知识

4.2 系统分析基础知识

o 系统分析的目的和任务

o 系统分析方法

o 系统规格说明书的编写方法

4.3 系统设计知识

o 传统系统设计方法

o 软硬件协同设计方法

4.4 系统实施知识

o 系统架构设计

o 系统详细设计

o 系统调试技术

o 系统测试

4.5 系统维护知识

o 系统运行管理知识

o 系统维护知识

o 系统评价知识

5.安全性知识

o 安全性基本概念

o 加密与解密机制

6.标准化知识

o 标准化的概念

o 国际标准、国家标准、行业标准、企业标准基本知识

o 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识

o 标准化机构

o 嵌入式系统相关标准

7.信息化基础知识

o 信息化和信息系统基本概念

o 有关的法律、法规

8.嵌入式技术发展趋势

9.计算机专业英语

o 正确阅读和理解相关领域的英文资料

考试科目2:嵌入式系统设计应用技术

1.嵌入式系统开发过程

1.1系统需求分析方法与步骤

1.2系统设计

o 系统硬件配置

o 系统功能组成分配

o 软硬件功能的分配

o 可行性验证及设计审查

o 系统规格

o 周期,成本及工作量估计

o 开发计划

1.3软硬件协同设计

1.4硬件设计

1.5软件设计

o 软件结构

o 设计评审

o 软件详细设计

1.6系统测试

o 测试环境

o 测试计划(内容、方法、标准、过程、检验)

o 硬件测试

o 软件测试(单元测试、集成测试)

o 软硬件联合测试

o 实施测试

1.7系统评估

1.8 软件维护

2.嵌入式系统硬件设计

2.1嵌入式系统硬件基本结构

2.1.1嵌入式微处理结构与应用

2.1.2 异常及中断处理技术

2.1.3 DMA技术

2.1.4 多处理系统

o 多处理器系统特点

o 多处理器系统构建技术

2.1.5 总线架构

o 应用系统中的总线配置

2.1.6 内存种类及架构

o 存储器系统接口设计

2.1.7数字电路和逻辑电路

o 专用集成电路

o 可编程逻辑控制器件

2.2输入/输出接口设计

2.2.1 输入/输出接口

o 接口信号电平转换

o 接口驱动电路设计

2.2.2输入/输出接口应用技术

o 外围设备

o 串口通信

o 并口通信

o 模拟接口

o 通信接口设备

o 通信标准和协议

o 数据传输方式

2.3外围设备接口应用技术

2.3.1 外围存储设备

o 存储卡,记忆棒,IC卡,MMC卡,SD卡

o DVD 、CD-R 、CD-RW

2.3.2外围输入/输出设备

o 键盘,鼠标,触摸屏

o 液晶板、LED、7段数码管、蜂鸣器

2.3.3电源设计技术

2.4可靠性与安全性设计技术

2.4.1 错误检测与隔离技术

2.4.2 冗余设计

2.4.3 系统恢复设计

2.4.4 诊断技术

2.4.5常用安全标准

2.4.6 抗干扰设计

2.4.7电磁兼容设计

2.4.8系统加密

3.嵌入式系统软件设计

3.1嵌入式系统软件结构设计

3.2嵌入式操作系统应用技术

3.2.1 时间管理

o 系统时间

o 时钟中断

3.2.2内存管理

o 静态内存管理

o 动态内存管理

3.2.3任务管理和任务间的通信

o 任务间的通信机制

o 信号量

o 邮箱

o 消息队列

3.2.4异常处理

o 异常处理方法

o 中断优先级处理方法

o 系统调用

3.2.5嵌入式文件系统应用技术

3.2.6嵌入式系统图形用户接口(GUI)应用技术

3.2.7嵌入式系统数据库应用技术

3.3嵌入式软件设计技术

3.3.1汇编语言设计

o 数据类型

o 汇编语言程序结构

o 汇编语言程序设计及优化

o 子程序调用

3.3.2嵌入式C语言设计

o ANSI-C的数据类型

o C程序结构

o C语言程序设计及优化

o 程序的编译与链接

3.3.3面向对象程序设计与开发

o 面向对象的分析与设计方法UML

o 面向对象的编程语言

o 使用C++进行嵌入式系统开发

o 使用Java进行嵌入式系统开发

3.4 系统级软件设计技术

o 嵌入式系统固件与系统初始化设计

o 设备驱动程序设计

o 硬件抽象层、板级支持包设计

o 嵌入式软件的移植技术

4.嵌入式系统开发技术

4.1系统开发环境

4.1.1开发工具

o 文本编辑器

o 汇编、编译和连接程序

o ICE和ICE监控器

o 配置管理工具

o 逆工程工具

4.1.2平台

o 操作系统

o 分布式开发环境

4.1.3开发环境创建方法及评估

o 开发工作分析

o 开发环境的建立

o 维护、管理、使用开发环境的方法

o 开发环境的评测

4.2实时系统的分析技术

4.2.1实时系统的分析技术

o 结构化分析方法

o 面向对象分析方法

4.2.2实时系统的设计技术

o 结构化分析方法

o 面向对象分析方法

4.3硬件设计环境

4.3.1硬件描述语言

o 硬件开发设计过程

o 硬件描述语言的种类与特点

4.3.2仿真技术

o 逻辑仿真方法

o 逻辑仿真工具

4.3.3大规模集成电路系统的开发方法

o ASIC开发方法

o FPGA设计方法

o IP(intellectual property)

4.4协同设计

o 软硬件任务工和切调

o 设计评审

4.5嵌入式系统低功耗设计技术

o 低功耗系统工作机制

o 低功耗系统模型结构

o 低功耗的硬件设计技术

o 低功耗的软件设计技术

4.6分布式嵌入系统设计

o 分布式系统设计原理

o 分布式系统的通信技术

o 分布式系统设计应用

5.嵌入式系统应用

5.1嵌入式系统在控制领域中的应用

5.2嵌入式系统在手持设备中的应用

5.3嵌入式系统在模式识别中的应用

三、题型举例

1、选择题

若嵌入式系统中采用I/O地址统一编址模式,访问内存单元和I/O设备是通过 (1) 来区分的。

(1) A.数据总线上输出的数据

B.不同的地址代码

C.不同的地址总路线

D.不同的指令

2、问答题

在某个嵌入式操作系统中,任务的状态转换图(不完整)如下,请阅读该图以及下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

任务总共有五个状态:休眠状态、就绪状态、运行状态、中断服务状态和等待状态,在任何时候,一个任务只会处于其中的某一个状态。

〔问题1〕(3分)

在单个CPU的系统中,处于运行状态的任务最多有多少个?

〔问题2〕(3分)

对于运行状态、就绪状态和等待状态这间的相互转换,图中并没有画出来,请补充。用文字处理的形式来进行描述,格式形如"运行状态→中断服务状态"。

〔问题3〕6分)

从运行状态可以直接变为等待状态吗?如果不能为什么?如果能什么时候会发生这种转换?举例说明。

〔问题4〕(3分)

从就绪状态可以直接变为等待状态吗?如果不能,为什么?如果能,什么时候会发生这种转换?举例说明。c

相關文章
熱門攻略
推薦遊戲
口袋骑士v2.0.33
口袋骑士
其它遊戲 46.3MB
下載
粉末v3.7.3
粉末
其它遊戲 44.12MB
下載
科目二模拟收费站v1.0.1
科目二模拟收费站
模擬經營 19.96M
下載
热门教程
推薦應用
游米影视1.2
游米影视
媒體影音 12.42 MB
下載
坚果招聘
坚果招聘
學習教育
下載
宠物小屋v1.0
宠物小屋
生活實用
下載
金铲铲之战游戏助手1.2.0
金铲铲之战游戏助手
其它應用 35.92 MB
下載
废旧宝v1.0.4
废旧宝
學習教育
下載