当前位置:文档之家› PCM嵌入式软件概要设计V1.0

PCM嵌入式软件概要设计V1.0

PCM嵌入式软件概要设计V1.0
PCM嵌入式软件概要设计V1.0

分布式能源箱变测控装置规约转换模块项目软件(系统/概要)设计说明书

项目令号:

承担部门:微网所

编制:亮

E-mail/Tel:

审核:

会审:

批准:

国电自动化股份

软件系统/概要设计文档修改记录

摘要

本文对分布式能源箱变测控装置规约转换模块(简称规约转换模块,PCM)的嵌入式软件的总体架构设计进行描述。PCM配套的配置工具主要牵涉到数据库设计和界面设计,不包含在本文档的叙述围。

PCM以数据采集、转发为核心功能,嵌入式软件在架构设计上采用了数据中心模式。为保证数据转发效率,采用共享存方式的实时数据库设计。

为减小系统模块的耦合,给系统扩展留有足够空间,系统采用多进程方式独立实现各子功能。各子功能模块通过进程访问接口(PAI)进行通信,通信方式包括信号量和共享存两种。

为提高软件的兼容性,系统设计了硬件抽象层(HAL)模块和数据库访问接口(DAI)模块,将硬件平台和数据库的操作进行了统一封装。

为提高系统的稳定性,设计了守护进程模块。守护进程通过信号量握手来监控实时数据库进程、通信规约进程等其他进程的运行状况,可以在被监视的进程发生异常时对其及时修复。

目录

第1篇概述 (3)

1.1 围 (3)

1.2 设计依据 (3)

1.3 术语、定义和缩略语 (3)

1.3.1 术语、定义 (3)

1.3.2 缩略语 (4)

第2篇系统总体设计 (4)

2.1 体系结构概述 (4)

2.2 系统体系结构 (5)

2.3 标准化设计 (6)

2.3.1 模块标准化设计 (6)

2.3.2 接口标准化设计 (6)

2.3.3 界面格式 (6)

2.3.4 编码约定 (7)

2.3.5 注释约定 (7)

2.4 系统版本规划 (8)

2.5 系统处理流程 (9)

2.6 子系统说明 (10)

2.6.1 实时数据库RDB (10)

2.6.2 历史数据库HDB (10)

2.6.3 通信规约模块 (11)

2.6.4 辅助模块 (11)

2.6.5 守护进程模块 (11)

2.6.6 网关模块 (12)

2.7 系统数据结构设计 (12)

2.7.1 逻辑结构设计要点 (12)

2.7.2 物理结构设计要点 (12)

2.7.3 数据与子系统关系 (12)

2.8 开发和运行环境 (12)

2.8.1 硬件环境 (12)

2.8.2 软件环境 (13)

2.8.3 外购件分析 (13)

2.9 可靠性设计 (13)

2.10 可测试性设计 (13)

2.11 安全性设计 (14)

2.12 出错处理设计 (14)

2.13 设计依据与需求跟踪 (14)

第3篇系统运行说明 (15)

3.1 配置说明 (16)

3.2 系统应用方式 (16)

3.3 代码目录说明 (16)

第4篇技术方案总结 (16)

4.1 关键技术问题说明 (17)

4.2 技术复用说明 (17)

第5篇总体进度计划 (17)

5.1 项目分解 (18)

5.2 完成时间 (18)

第6篇参考文献 (19)

6.1 参考文献 (19)

PCM嵌入式软件概要设计V1.0

分布式能源箱变测控装置规约转换模块项目软件(系统/概要)设计说明书 项目令号: 承担部门:微网所 编制:亮 E-mail/Tel: 审核: 会审: 批准:

国电自动化股份

软件系统/概要设计文档修改记录

摘要 本文对分布式能源箱变测控装置规约转换模块(简称规约转换模块,PCM)的嵌入式软件的总体架构设计进行描述。PCM配套的配置工具主要牵涉到数据库设计和界面设计,不包含在本文档的叙述围。 PCM以数据采集、转发为核心功能,嵌入式软件在架构设计上采用了数据中心模式。为保证数据转发效率,采用共享存方式的实时数据库设计。 为减小系统模块的耦合,给系统扩展留有足够空间,系统采用多进程方式独立实现各子功能。各子功能模块通过进程访问接口(PAI)进行通信,通信方式包括信号量和共享存两种。 为提高软件的兼容性,系统设计了硬件抽象层(HAL)模块和数据库访问接口(DAI)模块,将硬件平台和数据库的操作进行了统一封装。 为提高系统的稳定性,设计了守护进程模块。守护进程通过信号量握手来监控实时数据库进程、通信规约进程等其他进程的运行状况,可以在被监视的进程发生异常时对其及时修复。

目录 第1篇概述 (3) 1.1 围 (3) 1.2 设计依据 (3) 1.3 术语、定义和缩略语 (3) 1.3.1 术语、定义 (3) 1.3.2 缩略语 (4) 第2篇系统总体设计 (4) 2.1 体系结构概述 (4) 2.2 系统体系结构 (5) 2.3 标准化设计 (6) 2.3.1 模块标准化设计 (6) 2.3.2 接口标准化设计 (6) 2.3.3 界面格式 (6) 2.3.4 编码约定 (7) 2.3.5 注释约定 (7) 2.4 系统版本规划 (8) 2.5 系统处理流程 (9) 2.6 子系统说明 (10) 2.6.1 实时数据库RDB (10) 2.6.2 历史数据库HDB (10) 2.6.3 通信规约模块 (11) 2.6.4 辅助模块 (11) 2.6.5 守护进程模块 (11) 2.6.6 网关模块 (12) 2.7 系统数据结构设计 (12) 2.7.1 逻辑结构设计要点 (12) 2.7.2 物理结构设计要点 (12) 2.7.3 数据与子系统关系 (12) 2.8 开发和运行环境 (12) 2.8.1 硬件环境 (12) 2.8.2 软件环境 (13) 2.8.3 外购件分析 (13) 2.9 可靠性设计 (13) 2.10 可测试性设计 (13) 2.11 安全性设计 (14) 2.12 出错处理设计 (14) 2.13 设计依据与需求跟踪 (14) 第3篇系统运行说明 (15) 3.1 配置说明 (16) 3.2 系统应用方式 (16) 3.3 代码目录说明 (16)

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式Linux应用软件开发流程

从软件工程的角度来说,嵌入式应用软件也有一定的生命周期,如要进行需求分析、系统设计、代码编写、调试和维护等工作,软件工程的许多理论对它也是适用的。 但和其他通用软件相比,它的开发有许多独特之处: ·在需求分析时,必须考虑硬件性能的影响,具体功能必须考虑由何种硬件实现。 ·在系统设计阶段,重点考虑的是任务的划分及其接口,而不是模块的划分。模块划分则放在了任务的设计阶段。 ·在调试时采用交叉调试方式。 ·软件调试完毕固化到嵌入式系统中后,它的后期维护工作较少。 下面主要介绍分析和设计阶段的步骤与原则: 1、需求分析 对需求加以分析产生需求说明,需求说明过程给出系统功能需求,它包括:·系统所有实现的功能 ·系统的输入、输出 ·系统的外部接口需求(如用户界面) ·它的性能以及诸如文件/数据库安全等其他要求 在实时系统中,常用状态变迁图来描述系统。在设计状态图时,应对系统运行过程进行详细考虑,尽量在状态图中列出所有系统状态,包括许多用户无需知道的内部状态,对许多异常也应有相应处理。 此外,应清楚地说明人机接口,即操作员与系统间地相互作用。对于比较复杂地系统,形成一本操作手册是必要的,为用户提供使用该系统的操作步骤。为使系统说明更清楚,可以将状态变迁图与操作手册脚本结合起来。

在对需求进行分析,了解系统所要实现的功能的基础上,系统开发选用何种硬件、软件平台就可以确定了。 对于硬件平台,要考虑的是微处理器的处理速度、内存空间的大小、外部扩展设备是否满足功能要求等。如微处理器对外部事件的响应速度是否满足系统的实时性要求,它的稳定性如何,内存空间是否满足操作系统及应用软件的运行要求,对于要求网络功能的系统,是否扩展有以太网接口等。 对于软件平台而言,操作系统是否支持实时性及支持的程度、对多任务的管理能力是否支持前面选中的微处理器、网络功能是否满足系统要求以及开发环境是否完善等都是必须考虑的。 当然,不管选用何种软硬件平台,成本因素都是要考虑的,嵌入式Linux 正是在这方面具有突出的优势。 2、任务和模块划分 在进行需求分析和明确系统功能后,就可以对系统进行任务划分。任务是代码运行的一个映象,是无限循环的一段代码。从系统的角度来看,任务是嵌入式系统中竞争系统资源的最小运行单元,任务可以使用或等待CPU、I/O设备和内存空间等系统资源。 在设计一个较为复杂的多任务应用系统时,进行合理的任务划分对系统的运行效率、实时性和吞吐量影响都极大。任务分解过细会不断地在各任务之间切换,而任务之间的通信量也会很大,这样将会大大地增加系统的开销,影响系统的效率。而任务分解过粗、不够彻底又会造成原本可以并行的操作只能按顺序串行执行,从而影响系统的吞吐量。为了达到系统效率和吞吐量之间的平衡折中,在划分任务时应在数据流图的基础上,遵循下列步骤和原则:

《嵌入式软件开发》课程设计报告

《嵌入式软件开发》课程设计报告课题名称:基于ARM11开发平台小球碰撞设计与实现 专业班级:计算机科学与技术

目录 1、使用技术介绍 (1) 2、需求分析 (3) 3、概要设计 (4) 4、详细设计 (5) 5、成果展示 (11) 6、设计总结 (13) 7、附录 (16)

图1.2 1.3 五点校准法 为了方便理解,我们首先引入2个概念,坐标和逻辑坐标。物理坐标就是触摸屏上点的实际位置,我们通常以液晶上点的个数来度量。逻辑坐标就是触摸屏上这一点被触摸时A/D转换后的坐标值。 由于电阻式触摸屏的电压成线性均匀分布,那么A/D转换后的坐标也成线性。假如我们将液晶最左下角点对应的解摸屏上的点定为物理坐标原点A其物理坐标记为(XA=0,YA=0),其逻辑坐标记为(XLA,YLA)(不一定为0)。那么触摸屏上任意一点B的逻辑坐标可表达为:XLB=XLA+KXXB,YLB=YLA+KYYB。其中KX、KY分别为触摸屏X方向和Y方向的因子系数,这就像弹簧一样,拉力与弹簧伸长正比。KX、KY可能为正,也可能为负,这根据具体触摸屏安装的方向和特性。每个液晶触摸屏,我们也应该单独计算每一个触摸屏的K系数。如果A点不是坐标原点,也是任意一点可以表达成:XLB=XLA+KX(XB-XA),YLB=YLA+KY(YB-YA)。我们可以推出计算K系统的公式:KX=(XLB-XLA)/(XB-XA),KY=(YLB-YLA)/(YB-YA)。 在液晶上固定的位置显示五个点,因为是固定的位置,所以这五个点的物理坐标是预知的。这五个点不应太靠边,因为边缘点对应的触摸屏线性一般不太好。 (1)首先在ABCDE对应的位置逐步用尖状物触摸,得到五个点的逻辑坐标。 (2)分别比较A和C、B和D的横坐标,如果差值不在允许范围(你自己规定一个即可,比如5),则重复操作(1)(2)步。 (3)分别比较A和B、C和D的纵坐标,如果差值不在允许范围(你自己规定一个即可,比如5),则重复操作(1)(2)(3)步。 (4)用2组数据计算X向K系数平均值KX={(XLB-XLA)/(XB-XA)+(XLD-XLD)/(XD-XC)}/2(5)用2组数据计算Y系数平均值KY={(YLA-YLC)/(YA-YC)+(YLB-YLD)/(YB-YD)}/2(6)将C点逻辑坐标作为基坐标,根据式2-2则触摸屏上任意一点F逻辑坐标与基坐标的关系为:XLF=XLC+KX(XF-XC)

嵌入式软件概要设计模板

嵌入式软件概要设计(模板)

目录 1前言 (5) 1.1编写目的 (5) 1.2项目背景 (5) 1.3定义 (5) 1.4参考资料 (5) 2版本变更说明 (5) 3任务概述 (5) 3.1目标 (5) 3.2嵌入式软件运行环境 (5) 4总体设计 (6) 4.1系统描述 (6) 4.2设计约定 (6) 4.3总体结构 (6) 4.4处理流程 (9) 5安全关键部件的设计 (9) 5.1识别安全关键部件 (9) 5.2安全关键部件设计 (9) 6接口设计 (9) 6.1接口示意图 (10) 6.2用户接口设计 (12) 6.3外部接口设计 (12) 6.4内部接口设计 (12) 6.5通信接口设计 (12) 6.6硬件接口设计 (12) 7运行设计 (13) 7.1系统启动设计 (13) 8异常信息记录及处理设计 (13) 8.1异常情况分析 (13) 8.2异常处理对策 (13) 8.3异常信息记录 (13) 9容错设计 (13) 10维护设计 (13)

10.1调试信息的缓冲区管理 (13) 10.2调试策略 (14) 10.3调试信息级别 (14) 10.4调试API (14) 10.5软件可测性设计 (14) 10.6软硬件版本信息在线上报/在线加载 (14) 10.7数据设定与操作 (14) 10.8保密性设计 (15) 11软件包描述 (15) 11.1软件包结构 (15) 11.2发布介质............................................................................ 错误!未定义书签。 11.3软件可安装性 (15)

软件设计说明书嵌入式软件范例

一、XXXXX-XXX 热压机自动控制系统软件的设计 LCD—液晶显示器,因其具有微功耗、平板化等一系列显著特点而广泛应用于仪器仪表、计算机显示终端、各类电子显示装置等各个方面。LCD的后工序生产工艺包括COG、COF、FOG、FOB,XXX-XXX 热压机正是为FOG段工艺而开发设计的。 XXXXX-XXX热压机自动控制动系统软件(以下简称XXX系统)是由PLC、气动元件和电动元件组成,其特点是通过传感器采集外部信号,输入到PLC内部进行计算处理,以控制外部执行元件,使之完成一系统的机构动作,达到生产所需的工艺要求。 ㈠ XXX 系统的性能和结构 XXX 系统主要由PLC、GOT(触摸屏)、伺服电机、气缸电磁阀、电磁继电器、光电传感器、磁性传感器、温度处理器、温度传感器以及各种按钮组成。 1、XXX 系统的主要性能和技术参数 ●主机电源:Vac-----220VAC/50HZ ●传感器电源:Vdd-----+24V ● PLC接口:40位输入、32位输出、1个RS232通信串口 ●工作温度:-10℃~+55℃ ●存储温度:-20℃~+60℃ 2、XXX 系统的内部地址 XXX 系统的内部地址及主要功能部件: ●输入继电器— X ●输出继电器— Y ●辅助继电器— M ●定时器— T ●计数器— C ●数据寄存器— D ●变址寄存器— Z 3、XXX 系统的外部引线功能定义 XXX 系统共有82根引脚,具体定义如下: ㈡指令描述 XXX 系统主要有如下指令: ㈢人机界面(GOT) 1、参数设置

人机界面(GOT)可用于参数设置和数据的显示(如图所示) 2、手动操作 人机界面亦可制作手动调试所需的各种按键,以替代繁琐的按钮(如图) 3、生产信息 人机界面还可用于显示生产时的各种数据以及PLC内部的信息,比如外部引脚的通断 信息、生产时产生的报警信息等(如下图) ㈣ XXX 系统的接口及编程 1、硬件接口 XXX系统与电脑的接口可以有两种方式:直接控制方式和间接控制方式。直接控制方式就是将PLC的RS232接口直接与电脑的RS232接口对接(如图1-1);间接控制方式就是将PLC的RS232接口与触摸屏的RS232接口对接,然后将电脑的RS232接口与触摸屏的RS422接口对接,然后对该外设进行间接操作而实现控制(如图1-2)。 2、程式流程方框图 A、系统回原点流程图 B

嵌入GIS概要设计

嵌入式GIS系统 概要设计说明书 [V1.0(版本号)] 拟制人______________________ 审核人______________________ 批准人______________________ [二零零四年四月二十一日]

概要设计说明书 1.引言 1.1编写目的 编写这份概要设计说明书目的一是指导项目成员进行开发,以保证项目进行的延续性和稳定性,另外由于本项目属于科研项目范畴,该概要设计说明书将成为本科研课题的一项重要依据。 1.2背景 a.本科研项目名称:嵌入式GIS在中小型企业中的应用 b.本项目的种类:广州东山区科研项目 c.本项目承接单位:中山大学计算科学与计算机应用研究所 d.本项目开发者:江慧扬、覃廉、冯家浩、奚少杰、卓汉逵 1.3定义 本系统所涉及的具体名词定义如下: [嵌入式GIS]:嵌入企业原有MIS系统,实现数据的嵌入与工作流的嵌入,让企业在不更换原有MIS的情况下能单独定制GIS功能的应用,辅助企业的信息处理与决策。当中具体的嵌入程度定义如下:1、实现数据的嵌入。MIS原有数据和GIS的数据实现关联整合; 2、功能嵌入。在MIS开发平台上能实现GIS功能的无缝调用。 2.总体设计 2.1需求规定 本系统需要实现面向二次开发的嵌入式GIS开发平台,包括:1、嵌入式GIS的数据处理平台;2、用于二次开发的实现GIS开发的ActiveX控件 2.1.1系统功能 1、嵌入式GIS的数据处理平台 1)能实现对几种开放性矢量图文件格式的快速处理,将这些文件数据导入我们自定义的空间数据和属性数据的存储文件当中。 2)能实现对采集数据的快速导入:实地采集数据存放独立文件中,系统要能快速的将这些数据导入到空间数据和属性数据的存储文件当中。 3)对我们自定义的空间数据和属性数据的存储文件中的数据,系统能快速的以图形方式呈现。 4)对呈现的地理信息图形能进行编辑修改。 5)能实现基本的图形绘图功能,包括拓扑关系的创建。

嵌入式软件系统设计方案案例

待定颜色 修改颜色 疑问颜色 采集器软件系统设计方案 版本历史

目录 1.引言 (5) 1.1 目的 (5) 1.2 背景和范围 (5) 1.3 定义 (5) 1.4 参考资料 (5) 2.系统结构 (5) 2.1 系统功能 (5) 2.2硬件系统框架 (6) 2.2 软件系统框架 (7) 3.上行规约解析模块设计说明 (9) 3.1描述 (9) 3.2功能 (9) 3.3设计思路(算法、流程) (9) 3.4接口 (10) 3.5资源分配、性能 (12) 3.6测试方法 (12) 4.读写参数模块设计说明 (12) 4.1描述 (12) 4.2功能 (12) 4.3设计思路(算法、流程) (13) 4.4接口 (13) 4.5资源分配、性能 (14) 4.6测试方法 (14) 5.周期抄表任务管理 (14) 5.1描述 (14) 5.2功能 (14) 5.3设计思路(算法、流程) (14) 5.4接口 (14) 5.5资源分配、性能 (14) 5.6测试方法 (15) 6.读历史电量数据模块设计说明 (15) 6.1描述 (15) 6.2功能 (15) 6.3设计思路(算法、流程) (15) 6.4接口 (15)

6.5资源分配、性能 (15) 6.6测试方法 (15) 7.数据存储和电表信息存储管理 (15) 7.1描述 (15) 7.2功能 (16) 7.3设计思路(算法、流程) (16) 7.4接口 (20) 7.5资源分配、性能 (20) 7.6测试方法 (20) 8.数据交换模块设计说明 (21) 8.1描述 (21) 8.2功能 (21) 8.3设计思路(算法、流程) (21) 8.4接口 (21) 8.5资源分配、性能 (21) 8.6测试方法 (21) 9.广播校时任务模块设计说明 (21) 9.1描述 (21) 9.2功能 (22) 9.3设计思路(算法、流程) (22) 9.4接口 (22) 9.5资源分配、性能 (22) 9.6测试方法 (22) 10.更改RS485通讯速率设计说明 (23) 10.1描述 (23) 10.2功能 (23) 10.3设计思路(算法、流程) (23) 10.4接口 (23) 10.5资源分配、性能 (23) 10.6测试方法 (23) 11.抄表记录周期任务设计说明 (23) 11.1描述 (23) 11.2功能 (23) 11.3设计思路(算法、流程) (23) 11.4接口 (23) 11.5资源分配、性能 (24)

pcm嵌入式软件概要设计v0

P C M嵌入式软件概要设 计V1.0 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

分布式能源箱变测控装置规约转换模块项目软件(系统/概要)设计说明书 项目令号: 承担部门:微网所 编制:刘亮 E-mail/Tel: 审核: 会审: 批准: 国电南京自动化股份有限公司

软件系统/概要设计文档修改记录

摘要 本文对分布式能源箱变测控装置规约转换模块(简称规约转换模块,PCM)的嵌入式软件的总体架构设计进行描述。PCM配套的配置工具主要牵涉到数据库设计和界面设计,不包含在本文档的叙述范围内。 PCM以数据采集、转发为核心功能,嵌入式软件在架构设计上采用了数据中心模式。为保证数据转发效率,采用共享内存方式的实时数据库设计。 为减小系统模块的耦合,给系统扩展留有足够空间,系统采用多进程方式独立实现各子功能。各子功能模块通过进程访问接口(PAI)进行通信,通信方式包括信号量和共享内存两种。 为提高软件的兼容性,系统设计了硬件抽象层(HAL)模块和数据库访问接口(DAI)模块,将硬件平台和数据库的操作进行了统一封装。 为提高系统的稳定性,设计了守护进程模块。守护进程通过信号量握手来监控实时数据库进程、通信规约进程等其他进程的运行状况,可以在被监视的进程发生异常时对其及时修复。

目录 第1篇概述 (4) 范围 (4) 设计依据 (4) 术语、定义和缩略语 (4) 术语、定义 (4) 缩略语 (5) 第2篇系统总体设计 (6) 体系结构概述 (6) 系统体系结构 (6) 标准化设计 (7) 模块标准化设计 (7) 接口标准化设计 (7) 界面格式 (8) 编码约定 (9) 注释约定 (9) 系统版本规划 (9) 系统处理流程 (10) 子系统说明 (11) 实时数据库RDB (11) 历史数据库HDB (11) 通信规约模块 (12) 辅助模块 (12) 守护进程模块 (12) 网关模块 (13) 系统数据结构设计 (13) 逻辑结构设计要点 (13) 物理结构设计要点 (13) 数据与子系统关系 (13) 开发和运行环境 (13) 硬件环境 (13) 软件环境 (14) 外购件分析 (14) 可靠性设计 (14) 可测试性设计 (14) 安全性设计 (15) 出错处理设计 (15) 设计依据与需求跟踪 (15) 第3篇系统运行说明 (16) 配置说明 (16) 系统应用方式 (16) 代码目录说明.................................................................................................. 错误!未定义书签。

嵌入式系统完整开发方案学习资料

嵌入式系统完整开发 方案

本文提纲 嵌入式系统完整解决方案 一、前言:简单介绍嵌入式技术的飞速发展以及作为嵌入式领域老牌劲旅的旋极 公司在这方面所提供的完整解决方案; 二、由美国ATI公司生产的Nucleus操作系统特点及其优势; 三、根据用户所选用的CPU的不同,编译器有多种不同的选择:Paradigm开发 工具、CAD-UL开发工具,ARM公司的SDT2.5X 和ADS1.X,GreenHill 编译器; 四、嵌入式开发中,代码的调试也是重要的一步,因此必须选择好的调试工具才 能生产出好的软件,通常的调试手段有三种:ICE、ICD和MONITOR,我们向大家推荐由德国Lauterbach公司生产的Trace32-ICE/ICD; 五、用户需要RTOS厂商提供原型工具,以便可以在主机上来仿真目标软件环 境; 六、最后举例说明基于ARM/MIPS的开发方案。

嵌入式系统完整开发方案 xx旋极信息技术有限公司 在嵌入式技术飞速发展的今天,嵌入式产品已经出现在社会的各个领域,包括航空、航天、军事、仪表、工业控制及家庭消费等。全球每年要消耗掉30亿颗嵌入式微处理器,嵌入式系统带来的工业年产值已经超过了1万亿美元。而在这些嵌入式应用中,大多采用了嵌入式实时多任务操作系统(RTOS)。 早期的嵌入式应用程序都是在没有操作系统支持的裸机上用汇编语言和C语言来开发,这也正是目前我国大多数嵌入式开发的工作模式。为了能够有效利用高档单片机的处理能力,现代的嵌入式产品开发大多选用RTOS作为软件的核心。这样,不仅能够把系统软件和应用软件分开处理,还可以极大地简化系统的开发过程,提高可靠性,并缩短产品上市的时间。可以说RTOS 使嵌入式软件的编写从“小生产方式”进入了“大生产方式”。 旋极公司作为国内嵌入式技术领域的老牌劲旅,从xx93年公司创建之初就致力于嵌入式技术的引进和开发。起初,只是作为国外厂商的代理,向用户提供相应的开发工具,现在,为了适应市场的要求,改变了以前的模式,从简单的提供开发工具发展到向用户提供完整的解决方案。这其中包括:操作系统(图形、网络、浏览器等)、仿真器、编译器、原型工具等产品和我们为用户提供的全方位的技术支持服务。 一、操作系统 在这里我们要向大家推荐的操作系统是Nucleus,它是美国ATI公司的产品,是为实时嵌入式应用而设计的一个抢先式多任务操作系统。其95%的代码由ANSI C语言写成,因此结构性和可移植性非常好。Nucleus操作系统的设计采用了面向对象的方法,整个软件由多个功能明确的组件构成,因此结构清晰,便于裁减和复用。 Nucleus操作系统还拥有丰富的外围模块(如下图所示),如TCP/IP网络协议栈(包括各种应用层的协议)、多种风格的图形系统(Windows和Mac风格)、基于RAM/Flash存储器的文件系统、以及一个功能可定制的Internet浏览器。

如何正确的设计嵌入式软件架构应该这么做

如何正确的设计嵌入式软件架构应该这么做 一 错误的示范 近公司新招了一个做嵌入式软件开发的同事,该同事是从上海的某一个上市公司出来的,因为我们这边人手不够,因此把他安排了去负责一个新产品的研发,前期让他负责加速度计、NB-IOT、舵机、外置Flash的功能测试,测试完成之后,准备让他做一个该产品的概要设计。然后他花了2个星期的时间,给我们写出来一个概要设计,说实话,我看到这个概要设计,我就觉得是刚毕业的大学生写的。版本一的架构设计 2.1系统体系结构系统分为两层:硬件驱动层、应用层。2.1.1硬件驱动层硬件驱动层包含板载硬件资源正常运行所需的所有驱动程序。1)MCU初始化2)I2C数据存取3)SPI数据读取4)加速度计初始化5)蓝牙模块启动6)BC95模块启动7)485通讯模块启动2.2.2应用层1)Mcu运行模式切换2)震动及倾斜3)数据解析4)开/关锁5)数据发送6)历史数据保存 看到版本一的架构设计之后,说实话,我还是第一次见到这样来写架构设计的,居然是以序号来写的,这个让别人读起来,特别的别扭。版本二的架构设计 看到版本二的架构设计之后,虽然颇感欣慰,但是想到达到我们所要求的,还要很大的一段距离,该架构设计,主要有以下几点问题:1.对架构的理解还不是很清晰,既然是做架构设计,那就应该从整体来看,而不是仅仅只是局限于一个模块,或者功能里面。2.还是每个层次的理解也还不是很清晰,比如讲MCU的初始化,归于硬件驱动层里面。MCU 的初始化,严格意义上来说,是属于流程的一部分了,而不是驱动。比如电脑的开启启动,把这个归于硬件的驱动里面,肯定是属于牛头不对马嘴的。3.还有就是各个模块的启动,也是不能属于硬件驱动层的,也都是业务流程的一部分了,都不应该属于驱动层的一部分。 4.还有就是总线数据的读写,虽然驱动的作用也就是读写,但是数据总线的读写不能写成硬件驱动。 5.应用层的系统参数初始化,也还是属于流程。 6.数据的解析和数据的发生,都是属于通信功能里面的,不应该单独独立出来,属于单个的应用。

《嵌入式软件设计》答案

东北大学继续教育学院 嵌入式软件设计试卷(作业考核线上) B 卷学习中心:福建南平奥鹏学习中心院校学号:C03599011730067姓名王华仁 (共 5 页) 一、选择题(10小题,每题2分,共20分),请将答案填入下表。 1. 以下哪个不是嵌入式系统设计的主要目标? A. 低成本 B.低功耗 C. 实时要求高 D. 超高性能 2. 下面关于哈佛结构描述正确的是: A. 存储空间与IO空间分离 B. 程序存储空间与数据存储空间分离 C. 存储空间与IO空间合并 D. 程序存储空间与数据存储空间合并 3. 从层次结构来看,嵌入式系统包括: A. 硬件层 B. 板级支持包 C. 实时操作系统和应用软件 D. 以上都是 4. 下面哪一种工作模式不属于ARM异常模式? A. 快速中断模式 B. 管理模式 C. 系统模式 D. 数据访问中止模式 5. 处理器从存储器读数据的指令(加载指令)的助记符是: A. SWP B. SWPB C. LDR D. STR 6. 指令“ADD R2, R1, #10”的寻址方式为: A. 立即寻址 B. 寄存器间接寻址 C. 多寄存器寻址 D. 堆栈寻址

7. 单系统需要小量的高速缓存,最合适的存储器是: A. SRAM B. DRAM C. EEPROM D. Flash 8. AHB和VPB外设区域都是2MB,可各自分配最多()个外设。 A. 16 B. 32 C. 64 D. 128 9. 使用HOST-TARGET联合开发嵌入式系统,()不是必须的。 A. 目标系统 B. 宿主机 C. 银河麒麟操作系统 D. 交叉编译器 10. 操作系统结构不包括() A. 数据库 B. 引导系统 C. 内核 D. 根文件系统 二、判断题(10小题,每题1分,共10分),请将答案填入下表。 1. (√)嵌入式处理器的结构有哈佛结构和冯诺依曼结构之分。 2. (×)处于就绪状态的任务只能切换到运行状态。 3. (√)将模拟信号转换成数字信号的电路是DA转换器。 4. (√)在操作系统的设备管理中引入缓存,其主要目的是改善CPU和I/O设备间速度不匹 配的情况。 5. (√)ARM指令集具有高效、快速的特点,它是Thumb指令集的子集。 6. (×)Nand Flash比Nor Flash成本高,可靠性差。 7. (×)虚拟内存的主要用途是扩充存储容量。 8. (√)C语言程序可以嵌套加入汇编语言程序模块。 9. (√)操作系统中的存储管理室对内存中用户区进行管理。 10.(√)操作系统结构包括引导系统、内核和根文件系统

嵌入式软件开发流程

嵌入式软件的开发流程 嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。 近些年来,随着以计算机技术,通讯技术为主的信息技术的快速发展和Internet 的广泛应用,传统的控制学科正在发生变革,出现了许多新的生长点。伴随而来的一个现象是控制专业的相当多的学生在毕业后进入了计算机,通讯行业,以致有人说学控制没有用,自动化专业可以取消了。这些情况的出现使我们控制教育工作者反复思考,传统的控制应如何拓宽它的领域?控制专业应该教什么才使学生感到有用?流行的嵌入式操作系统可以分为两类:一类是从运行在个人电脑上的操作系统向下移植到嵌入式系统中,形成的嵌入式操作系统,如微软公司的Windows CE及其新版本,SUN公司的Java操作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。 另一类是实时操作系统,如WindRiver 公司的VxWorks,ISI 的pSOS,QNX系统软件公司的QNX,ATI 的Nucleus,中国科学院凯思集团的Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。Linux 是90年代以来逐渐成熟的一个开放源代码的操作系统。PC机上的Linux 版本在全球数以百万计爱好者的合力开发下,得到了非常迅速的发展。90 年代末uClinux,RTLinux 等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是研究开发工作的宝贵资源。 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。

软件设计说明书嵌入式软件范例

软件设计说明书嵌入式 软件范例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

一、XXXXX-XXX 热压机自动控制系统软件的设计 LCD—液晶显示器,因其具有微功耗、平板化等一系列显着特点而广泛应用于仪器仪表、计算机显示终端、各类电子显示装置等各个方面。LCD的后工序生产工艺包括COG、COF、FOG、FOB,XXX-XXX 热压机正是为FOG段工艺而开发设计的。 XXXXX-XXX热压机自动控制动系统软件(以下简称XXX系统)是由PLC、气动元件和电动元件组成,其特点是通过传感器采集外部信号,输入到PLC内部进行计算处理,以控制外部执行元件,使之完成一系统的机构动作,达到生产所需的工艺要求。 ㈠ XXX 系统的性能和结构 XXX 系统主要由PLC、GOT(触摸屏)、伺服电机、气缸电磁阀、电磁继电器、光电传感器、磁性传感器、温度处理器、温度传感器以及各种按钮组成。 1、XXX 系统的主要性能和技术参数 ●主机电源:Vac-----220VAC/50HZ ●传感器电源:Vdd-----+24V ● PLC接口:40位输入、32位输出、1个RS232通信串口 ●工作温度:-10℃~+55℃ ●存储温度:-20℃~+60℃ 2、XXX 系统的内部地址 XXX 系统的内部地址及主要功能部件: ●输入继电器— X ●输出继电器— Y ●辅助继电器— M ●定时器— T ●计数器— C ●数据寄存器— D ●变址寄存器— Z

3、XXX 系统的外部引线功能定义 XXX 系统共有82根引脚,具体定义如下:

㈡指令描述 XXX 系统主要有如下指令:

嵌入式软件开发的几点个人理解

嵌入式软件开发的几点个人理解 一、软件的概念 软件,是一系列按照特定顺序组织的计算机数据和指令的集合。我们日常生活中接触最多的软件大概要算应用软件了。在21世纪的今天,电脑、手机等智能设备进入千家万户,基本上每个现代化的家庭中或多或少拥有一台电脑或一部手机,我们每天都用着电脑或者手机中的应用软件享受着科技带给这个世界的便利。然而软件的概念却并不只是在这些应用软件中,一般来讲,软件被划分为编程语言、系统软件、应用软件,其中系统软件包括操作系统和支撑软件。另外,软件并仅包括可以在广义计算机上运行的电脑程序,还包括与这些电脑程序相关的文档。学术界将软件定义为程序加文档的集合体,确实非常贴切。 对于软件和硬件,这两者之间从来是相互依存,相得益彰的。硬件是实在的,有模有样的。软件是程序性的,是一系列的指令。个人认为,我们其实可以将人的身体与灵魂分别比作硬件和软件,软件的存在必须依附于硬件才能体现软件的价值;而硬件因为有了软件的存在,才具备了更加丰富的功能。 二、软件开发中的编程语言 软件的编程语言有多种、常见的编程语言有Pascal、Python、Ruby、Java、C、C++、C#、Basic、PHP等。这些编程语言各有特点,其中进行嵌入式系统开发常用的语言有C、C++、Java 等语言。 2.1、C语言 C语言是介于汇编语言和高级语言之间的语言,属于高级语言,也称为中级语言,是集汇编和高级语言优点于一身的程序设计语言。于1972年在美国贝尔实验室里问世,早期的C语言主要用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了九十年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛的应用,成为当代最优秀的程序设计语言之一。 C语言的特点: 1)是一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护。 2)C语言的表现能力和处理能力极强,不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,它还可以直接访问内存的物理地址,进行位级别的操作。

SWE-D10-02软件详细设计报告(嵌入式)

软件详细设计报告 (嵌入式) V0.9 项目号: 项目名称: 编制: 日期:

修订页

目录 1.概述 (4) 1.1.本文档的目的 (4) 1.2.单板软件概述 (4) 2.功能描述 (4) 2.1.软件功能说明 (4) 2.2.软件功能框图 (4) 3.开关、跳线、指示灯说明 (4) 3.1.开关跳线 (4) 3.2.指示灯 (4) 4.编译说明 (4) 4.1.固化文件的生成 (4) 4.2.物理软件的烧制 (5) 5.数据结构 (5) 5.1.常量定义 (5) 5.2.全局变量定义 (5) 5.3.全局结构定义 (5) 6.程序流程 (5) 6.1.模块1 (5) 6.2.模块2 (7) 7.需求跟踪 (7) 7.1.系统功能需求实现 (8) 7.2.系统性能需求实现 (8) 7.3.系统其他需求实现 (8) 8.源文件列表 (8) 9.其它 (8)

关键词:能够体现文档描述内容主要方面的词汇。 摘要: 缩略语清单: 对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。 1.概述 1.1.本文档的目的 说明本文档的编写的目的,包含的内容,适合的软件版本。如为升级文档还要说明升级的原因,主要增加了哪些功能,解决了哪些问题。 1.2.单板软件概述 简要说明单板软件所属的产品名称,承载软件的单板在整个产品中的位置、作用、和其它单板的关系。说明该单板软件所属的成品板及能够兼容的所有制成板。 2.功能描述 2.1.软件功能说明 这里是对单板软件概要设计功能描述的细化,功能说明应严格与概要设计功能描述一致,保持需求与设计的一致性。 2.2.软件功能框图 根据以上外部功能,采用图形方式详细说明单板软件采用何种功能结构完成这些功能。 3.开关、跳线、指示灯说明 3.1.开关跳线 说明所有可由程序读取其状态的拨码开关、跳线、键盘等分别代表的功能和CPU读取其状态的方式。如有可能也请列出不受程序控制的拨码开关、跳线、键盘等分别代表的含义。 3.2.指示灯 说明所有受程序控制和不受程序控制的指示灯所代表的信息,以及指示灯与CPU的连接方式,受控和不受控的原因。详细描述各指示灯显示规则。 4.编译说明 4.1.固化文件的生成

嵌入式软件开发流程

嵌入式软件开发流程

————————————————————————————————作者:————————————————————————————————日期:

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式软件开发流程

嵌入式软件开发流程
一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌 入式系统的开发主要分为系统总体开发、 嵌入式硬件开发和嵌入式软件开发 3 大部分, 其总 体流程图如图 1.1 所示。
图 1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定 的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬 件和软件都可以实现的功能, 就需要在成本和性能上做出抉择。 往往通过硬件实现会增加产 品的成品,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌 入式操作系统的选择以及开发工具的选择等。 本书在 4.1.5 节对各种不同的嵌入式操作系统 进行了比较,读者可以以此为依据进行相关的选择。比如,对开发成本和进度限制较大的产 品可以选择嵌入式 Linux,对实时性要求非常高的产品可以选择 Vxworks 等。 由于本书主要讨论嵌入式软件的应用开发,因此对硬件开发不做详细讲解,而主要讨论 嵌入式软件开发的流程。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图 4.15 中“软件设计实现”部分所示, 它同通用计算机软件开 发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式 软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多, 为了更好地帮助读者选择开发工具, 下面首先对嵌入 式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择 IBM 的 Rational Rose 等软件, 而在程序开发阶段可以采用 CodeWarrior 下面要介绍的 ADS ( 的一个工具)等,在调试阶段所用的 Multi-ICE 等。同时,不同的嵌入式操作系统往往会有 配套的开发工具,比如 Vxworks 有集成开发环境 Tornado,WindowsCE 的集成开发环境 WindowsCE Platform 等。此外,不同的处理器可能还有对应的开发工具,比如 ARM 的常用 集成开发工具 ADS、IAR 和 RealView 等。在这里,大多数软件都有比较高的使用费用,但 也可以大大加快产品的开发进度,用户可以根据需求自行选择。图 4.16 是嵌入式开发的不 同阶段的常用软件。
图 1.2 嵌入式开发不同阶段的常用软件
嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分, 其中又可以分为编译和调试两 部分,下面分别对这两部分进行讲解。 1.交叉编译 . 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上 执行的代码。在第 3 章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的 CPU 所能识别的 机器代码,由于不同的体系结构有不同的指令系统。因此,不同的 CPU 需要有相应的编译器,而交叉编译 就如同翻译一样,把相同的程序代码翻译成不同 CPU 的对应可执行二进制文件。要注意的是,编译器本身 也是程序,也要在与之对应的某一个 CPU 平台上运行。嵌入式系统交叉编译环境如图 4.17 所示。

相关主题
文本预览
相关文档 最新文档