你的位置: 述职报告之家 > 述职范文 > 导航 > 嵌入式软件辞职报告(收藏十八篇)

述职范文|嵌入式软件辞职报告(收藏十八篇)_嵌入式软件辞职报告

发表时间:2024-10-11

嵌入式软件辞职报告(收藏十八篇)。

♥️ 嵌入式软件辞职报告 ♥️

软件开发所占总时间的比例一直在增加。同时,来自全球贸易和竞争的压力使得产品投放市场的时间也一直在缩短。这极大地影响了设计的策略。最早的设计相当简单,仅仅由自己设计的应用代码组成。随着系统的复杂度增加,多任务的模型被软件开发者广泛采纳,很多开发者选择标准的、商用的实时操作系统产品。随着各个标准的进一步被采纳,买来的软件,或者说有“知识产权”的软件所占的比例正稳步增长。这个趋势给了软件开发者很多启示。集成标准的软件组件—和应用代码及其他—是我们所关心的。在多任务背景下调试是另一个值得关注的问题。与选择知识产权有关的商业决定尤为复杂;除了当前的要求之外,还有将来的(例如移植到别的处理器)也必须加以考虑。

♥️ 嵌入式软件辞职报告 ♥️

嵌入式培训就是嵌入式系统相关技术的培训。嵌入式系统说白了就是硬件和软件相结合,嵌入到整机里使整机实现智能化的一个系统。下面是小编整理的关于嵌入式Linux详解,希望大家认真了解!

嵌入式Linux优点

与其它嵌入式操作系统相比,Linux的源代码是开放的,不存在黑箱技术。Linux作为一种可裁剪的软件平台系统,很可能发展成为未来嵌入式设备产品的绝佳资源。Linux与生俱来的优秀网络血统更为今后的发展铺平了一条宽广平坦的大路。因此,在保持Linux内核系统更小、更稳定、更具价格竞争力等优势的同时,对系统内核进行实时性优化,更加使之能够适应对工业控制领域高实时性的要求。这也正是嵌入式Linux操作系统在嵌入式工控系统中的发展所在。同时也使Linux成为嵌入式操作系统中的新贵。

嵌入式Linux功能

标准的Linux内核通常驻留在内存中,每一个应用程序都是从磁盘运到内存上执行。当程序结束后,它所占用的内存就被释放,程序就被下载了。而在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,一是在一个简单的系统里,当系统启动后,内核和所有的应用程序都存在内存里。这是大多数传统的嵌入式系统的工作模式,同样Linux。第二种就是Linux所特有的功能,因为Linux已经有能力“加载”和“卸载”程序,因此,一个嵌入式系统就可以利用它来节省内存。一个比较典型的系统有大约8MB到16MB的闪存和8MB RAM,而闪存可以被用作文件系统。用闪存驱动程序作为从闪存到文件系统的界面就是一种选择。当然,也可以用一个闪存磁盘。用闪存来摆脱系统对一个磁盘的需求(依赖)具有Disk On Chip技术以及CompactFlash卡等方式。

嵌入式LinuxCPU

运行嵌入式Linux的'CPU可以是X86、Alpha、Sparc、MIPS、PPC等。与这些芯片搭配的主板都很小,通常只有一张PCI卡大小,有的甚至更小。嵌入式Linux所需的存储器不是软磁盘、硬盘、Zip盘、CD-ROM、DVD这些众所周知的常规存储器,它主要使用Rom、CompactFlash、M-Systems的Disk On Chip、Sony的Memory Stick、IBM的MicroDrive等体积极小(与主板上的BIOS大小相近),且存储容量不太大的存储器。它的内存可以使用普通的内存,也可以使用专用的RAM。

嵌入式Linux运行

用来连接Flash Memory和文件系统的程序都以文件形式存储在Flash文件中,需要时可以装入内存,这种动态的、根据需要加载的能力是支持其它一系列功能的重要特征。它能使初始化代码在系统引导后被释放。实际上,Linux同样还有很多内核外运行的公用程序,这些程序通常在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式一个接一个地按顺序运行。这样,相同内存空间可以被反复使用以“召入”每一个程序,就象系统引导一样。这样可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果将Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。由于它可以检查硬件环境并且为硬件装上相应的软件,从而消除了用一个程序占用许多Flash Memory来处理多种硬件的复杂性。另外,软件的升级更加模块化,可以在系统运行时在Flashh上升级应用程序和加载驱动程序,其配置信息和运行时间参数可以作为数据文件储存在Flash中。

♥️ 嵌入式软件辞职报告 ♥️

1、电子信息工程、通信工程、自动化、计算机相关专业,本科及以上学历、

2、熟悉单片机外围电路原理及常见应用,做过51或arm等单片机的程序开发;

3、能读懂程序功能模块;

4、熟练使用单片机c,c++语言或汇编语言等编程,

5、有良好、规范的编程和文档编写习惯;

6、积极上进,自学能力强。

职责描述:

1、嵌入式实时操作系统开发及维护

2、相关技术文档编写及维护

3、售前/售后技术支持

4、项目实施

任职要求:

1、3年以上嵌入式操作系统开发维护经验,有风河或类似产品开发经验优先

2、精通arm平台架构,有coretex—a系列及armv8,armv7—a实际经验优先

3、熟悉通用硬件驱动,如usb驱动,以太网卡驱动等

♥️ 嵌入式软件辞职报告 ♥️

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。

嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。

嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。

实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统,本文在进行分析和展望时,也沿用这一观点。

一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和一般的PC操作系统的最大区别)。

这些年来掀起了嵌入式系统应用热潮的原因主要有几个方面:一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。

从上面的定义,我们可以看出嵌入式系统的几个重要特征:

1.系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的`OSE分布式系统,内核只有5K,而Windows的内核?简直没有可比性。

2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

7.嵌入式系统与具体应用有机结合在一起,升级换代也是同步进行。因此,嵌入式系统产品一旦进入市场,具有较长的生命周期。

8.为了提高运行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中。

♥️ 嵌入式软件辞职报告 ♥️

刘伟

两年以上工作经验 |男| 24岁(1989年2月28日)

居住地:北京

电 话:139********(手机)

最近工作 [ 1年6个月 ]

公 司:XX电子技术有限公司

行 业:电子技术/半导体/集成电路

职 位:嵌入式软件开发最高学历

学 历:本科

专 业:软件工程

学 校:吉林工业大学

 自我评价

本人多年嵌入式开发工作经验,熟悉各种开发环境及操作系统,熟练使用各种软件开发管理工具,具有较丰富的硬件开发经验

。拥有较强的再学习能力,擅长团队合作,能够清楚地与团队成员描述问题和协同解决问题,能够独立承担课题和解决课题难点,具有一定的项目管理经验。

求职意向

到岗时间: 一周之内

工作性质: 全职

希望行业: 计算机软件

目标地点: 北京

期望月薪: 面议/月

目标职能: 嵌入式软件开发经理

 工作经验

20XX /8—至今:XX电子技术有限公司 [ 1年6个月]

所属行业:电子技术/半导体/集成电路

开发部 嵌入式软件开发

1、负责产品相应软件的开发,样机制作 、调式、测试;

2、负责仪器硬件设计,制版;

3、负责PLC 控制器编程,PLC现场调式,现场技术指导;

4、负责公司新进产品的开发。

20XX /7—20XX /7:XX机械有限公司 [ 1年]

所属行业:机械/设备/重工

开发部 嵌入式软件开发

1、负责改进原有产品的设计,提高原有产品的性能;

2、负责对技术人员进行有效的管理和培训,提高员工素质和专业技能;

3、负责进行新产品的开发,对产品开发进行评估、监督和难点突破;

4、负责系统的整体设计方案的制定、通讯协议的制定。

 教育经历

2007 /9—20XX /7吉林工业大学软件工程本科

语言能力

英语(熟练)听说(熟练),读写(熟练)

嵌入式软件开发求职简历范文

目前所在: 海珠区 年龄: 24

户口所在: 茂名 国籍: 中国

婚姻状况: 未婚 民族: 汉族

培训认证: 未参加 身高: 170 cm

诚信徽章: 未申请 体重: 56 kg

人才测评: 未测评

我的特长:

求职意向

人才类型: 应届毕业生

应聘职位: 嵌入式软件开发(Linux/单片机/DLC/DSP…):,电脑操作员/打字员:

工作年限: 2 职称:

求职类型: 兼职 可到职日期: 一个星期

月薪要求: 1500--2000 希望工作地区: 广州,佛山,深圳

工作经历

耀华集团 起止年月:20XX-06 ~ 20XX-09

公司性质: 民营企业所属行业:餐饮业

担任职位: 传菜员

工作描述: 将客人所点的菜由厨房送到客人桌上。

离职原因: 读书

桥美发展有限公司 起止年月:2008-07 ~ 2008-09

公司性质: 民营企业所属行业:酒店/旅游

担任职位: 服务员

工作描述: 为客户提供优质的服务

离职原因: 读书

志愿者经历

教育背景

毕业院校: 海南软件职业技术学院

最高学历: 大专获得学位: 大专 毕业日期: 20XX-06

专 业 一: 嵌入技术与应用 专 业 二:

起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号

2008-09 20XX-06 海南软件职业技术学院 嵌入式技术与应用 - -

语言能力

外语: 英语 一般 粤语水平: 精通

其它外语能力:

国语水平:

工作能力及其他专长

所学主要课程:

模拟电子技术、数字电路、电路分析、嵌入式操作系统、单片机结构和原理、C++程序设计、C语言程序设计、ARM体系结构、微机原理与汇编语言、ARM嵌入式系统基础教程、ARM嵌入式应用开发技术、嵌入式接口设计与LINUX驱动程序开发

熟悉51、52类型单片机(C语言)、办公软件、数据库SQL、文字录入速度40字/S

 详细个人自传

在校期间,做过各种小项目:数字温度传感器、摇摇棒、交通灯。对51、52单片机比较熟悉。曾多次在暑假时候做兼职,能吃苦。

♥️ 嵌入式软件辞职报告 ♥️

嵌入式系统开发工程师是嵌入式工程领域的专家,需要有一定的嵌入式软件开发经验和嵌入式硬件开发经验,熟悉ARM或其他微处理器架构或可编程逻辑器件的使用等,当然还要有软件项目的一般开发流程经验。

一、工作内容:

设计、开发嵌入式系统

构造嵌入式系统的框架结构、内核原理; 负责编写整体系统设计方案

分配嵌入式硬件工程师和嵌入式软件工程师工作,并对其进行技术指导

对客户进行系统技术支持

二、职业要求

嵌入式软件开发经验和嵌入式硬件开发经验

熟悉ARM或其他微处理器架构或可编程逻辑器件的使用

有软件项目的一般开发流程经验

良好的沟通和团队协作能力

三、薪资行情

一般年薪范围在5万-30万元之间不等。等级不同,嵌入式系统开发工程师的年薪相差很大,初级的嵌入式系统开发工程师一般年薪范围在5万-10万之间,中级的'嵌入式系统开发工程师的年薪在10万-20万之间,高级的嵌入式系统开发工程师的年薪在20万-30万之间;具有10年以上工作经验的高级嵌入式系统开发工程师年薪会更高;

地域不同,嵌入式系统开发工程师的年薪差距也很大,从全国的薪酬水平来看,上海地区的嵌入式系统开发工程师年薪最高,北京、深圳次之,年薪在10万-30万之间不等,其余地区则低于这个水平。

四、职业发展路径

移动通信行业是嵌入式软件最重要的应用领域之一。在数字电视、信息家电、网络电话、汽车电子、医疗电子等都是嵌入式软件的重要应用领域。

市场上需要的嵌入式人才必须具备C语言编程经验、嵌入式操作系统(主要包括嵌入式Linux、WinCE或Symbian)经验、内核裁剪经验、驱动程序开发经验。

高级嵌入式软件开发工程师相关职位要求是:有丰富的嵌入式多任务软件系统分析和设计能力,能独立完成项目系统方案,解决系统故障和问题、精通C语言应用开发,有良好的编程习惯和风格、良好的文档编写能力和习惯、熟悉项目管理流程。

良好的英文阅读能力及较强的学习能力是从事这一领域工作的基础。对嵌入式操作系统做到一专而多能(精通嵌入式Linux,掌握WinCE及Symbian)更会使求职者身价倍增。

♥️ 嵌入式软件辞职报告 ♥️

嵌入式操作系统(Embedded Operating System,EOS)是嵌入式系统的重要组成部分,它通常运行在嵌入式硬件平台之上,对整个系统的软硬件资源进行有效管理控制和协调调度的系统软件。嵌入式操作系统可以分为两大类:嵌入式实时操作系统(Embedded Real-time Operating System,ERTOS)和嵌入式分时操作系统。实时操作系统是指系统能及时响应外部事件的请求,在确定的时间内对事件进行处理,并控制所有任务协调一致运行的操作系统。实时操作系统对响应时间有着严格的要求,绝对不能错过该时限要求,否则就会引起严重的错误。而分时操作系统则按照相等的时间片(time slicing)轮流调度进程执行,在执行的时间上并没有实时操作系统要求的那么严格,错过任务执行的最后截止期限或执行时序上的偏差,并不会造成系统的崩溃,带来灾难性的后果。

通常按照对截止期限(Deadline)要求的不同,嵌入式实时操作系统又可以分为硬实时系统(Hard Real-time OS)和软实时系统(Soft Real-time OS)。硬实时系统是指对系统响应时间有着严格的要求,在任务的截止期限内必须及时响应,绝对不能错过任务处理的截止期限,否则就会引起系统崩溃或者导致灾难性后果。软实时系统是指系统任务一般能够在截止期限到达前得到处理,但是如果系统响应时间错过处理的截止期限,它并不会导致系统崩溃或出现致命的错误。

1998年,Bernat和Burns两位科学家又提出弱硬实时(Weakly Hard Real-time)的概念[9],即实时任务可以错过截止期限,但任务错过的截止期限必须可预知且被限制在一定的时间范围内。从定义上看,弱硬实时能够科学地定义软实时任务的实时特性及实时要求,是对软实时系统的细化和发展。两者相似之处都允许系统中的实时任务错过截止期限,而不同之处在于弱硬实时系统在软实时系统的基础上加了一些对截止期限的限制,规定了任务错过的截止期限数必须可预知且被限定在一定的范围之内。弱硬实时系统的优点就在于能够对软实时系统中实时任务“软”的程度进行定性,同时虽然弱硬实时系统对任务在单个周期中的特性要求是“软”的,但从任务窗口的角度来看,弱硬实时系统对任务的要求又是“硬”的,即任务错过的截止期限必须可预知且被严格限制。

目前国内外常见的嵌入式操作系统主要有以下几种:

1) Windows CE

Windows CE是美国Microsoft公司专门为各种移动和便携式消费类电子产品等嵌入式应用系统设计的一款32位高性能微内核结构的多任务多用户的操作系统。它具有一个简洁高效的基于完整优先权的可抢占式操作系统内核[10],支持强大的通信和图形实现功能,能够适应广泛的系统需求。Windows CE不需要任何特定的硬件结构,实际的硬件结构完全由用户根据需要自由设计。现在Microsoft公司又推出了针对移动通信产品应用的Windows Mobile操作系统,占据了很大的市场份额。

2) VxWorks

VxWorks是美国WindRiver公司于1983年设计开发的一种具有工业领导地位的高性能实时操作系统[21]。VxWorks采用一种微内核结构(最小体积<8KB),包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,为用户提供高效的实时多任务管理与调度的能力、微秒级的中断处理能力、系统资源之间灵活的通信机制,并且具有优先级排队和循环调度的能力。VxWorks支持多种体系结构的处理器,如X86、i960、Sun Sparc、Motorola、MC68xxx、ARM、Power PC等,和广泛的工业标准,如POSIX1003.b实时扩展。此外,VxWorks还支持多种物理介质标准和完整的TCP/IP网络协议,支持多处理器并行工作,具有快速多任务切换、抢占式任务调度、任务间通信方式多样化的特点,并且完全符合ANSIC的标准,是目前应用最为广泛、市场占有率最高的实时系统之一。

3) μC/OS-II

μC/OS-II是一款专门为计算机嵌入式应用而设计的基于静态优先级的抢占式调度的多任务实时操作系统,是一种免费且开源的操作系统。μC/OS-II系统采用MicroWindow图形系统。由于μC/OS-II不支持文件系统,不支持驱动程序和应用程序的模块加载,因此在进行系统开发时,内核和驱动程序以及应用程序都是集中编译的。经过十多年的应用和修改,已经被移植到多种处理器平台上。μC/OS-II由于内核小巧,占用空间小,执行效率高,实时性能优良和具有较强的可扩展性,广泛应用于航空航天等领域。

4) QNX

QNX是加拿大QNX Software System公司于1980年开发的一款可扩展的分布式微内核嵌入式实时操作系统。它部分遵循POSIX标准,如POSIX.1(程序接口)和POSIX.2(Shell和工具)以及POSIX.1b(实时扩展)。用户可以把应用程序与内核直接编译在一起,生成一个单一的多线程映像。QNX提供POSIX.1b标准进程调度:32个进程优先级、基于优先级的抢占式进程调度,其进程在独立的地址空间运行。此外,QNX内核非常小巧(QNX4.x大约为12Kb)而且运行速度极快,但是QNX不能很好支持GUI系统,目前市场占有量不是很大。

♥️ 嵌入式软件辞职报告 ♥️

根据嵌入式系统的开发流程,为了最经济地实现系统的功能,采用自顶向下、层层推进的方法对嵌入式系统进行测试,提出了如图4所示的基于模块化设计的嵌入式软件四级测试流程。在四级测试中,本测试阶段以前的测试完成后,当发现错误时,可排队此测试阶段以前的错误,在本测试阶段内查找错误。这并不是一个绝对准确的方法,但最大限度地节了错误定位的时间。

这部分包括硬件电路测试、操作系统及底层驱动程序的测试等。硬件电路的测试需要用专门的测试工具进行测试。这里不再多述。操作系统和底层驱动程序的测试主要包括测试操作系统的任务调度、实时性能、通信端口的数据传输率。该阶段测试完成后,系统应为一个完整的嵌入式系统平台,用户只需添加应用程序即可完成特定的任务。

把大型的嵌入式软件系统划分为若干个相对较小的任务模块,由不同的程序员分别同时对其进行编码。编码完成后,把各个模块集成起来前,必须对单个模块进行测试。由于没有其它数据模块进行数据传递的支持,该阶段测试一段是在宿主机上进行的(宿主机有丰富的资源和方便的调试环境)。此阶段主要是进行白盒测试,尽可能地测试每一个函数、每一个条件分支、每一个程序语句,提高代码测试的覆盖率。由于只有单个模块正确才有整体集成的必要性,因此,单个模块测试时测试一定要充分、完整。模块测试阶段,测试用例的构造不但要测试系统正常的运行情况,还要进行边界测试。边界测试就是进行某一数据变量的最大值和最小值的测试,同时进行越界测试,即输入不该输入的数据变量测试系统的运行情况。理想的嵌入式系统是不应该由用户的信息交互导致死机的,这也是嵌入式设计的一个基本要求。因此,不论进行何种测试,系统死机都该被作为测试错误处理。在模块测试阶段,由模块化编程的基本思想,根据模块内部的紧凑程序,也可以把大的模块划分成小的模块。在程序内部,小模块之间数据传递的入口设计接口函数,用于快速地定位错误。用此模块嵌套的思想进行软件测试,需要模块内部结构清晰,数据链路简单。

单个软件模块测试正确之后,将所有模块集成起来进行测试。本阶段主要是找出各模块之间数据传递和系统组成后的逻辑结构的错误。在宿主机上采用黑盒与白盒相结合的方法进行测试,要最大限度地模拟实际运行环境,可以屏蔽掉一些不影响系统执行的和数据传递的难以模拟的函数。集成测试是模块化设计软件的测试优点充分体现的阶段。集成测试前,应该由程序员根据模块之间的数据的输入输出编写模块接口函数,这需要负责不同软件模块的程序员共同协调完成,然后将模块接口函数集成到接收数据模块的入口处。由前面的分析可知,单链路数据传递的软件模块集成测试时容易定位错误所在的软件模块。一个软件模块的数据不一定只有另外一个模块提供,即软件模块的数据链路不一定只是单链路的,测试时可以把复杂链路结构的数据传递划分为单链路结构数据传送进行错误定位。修改输出数据的软件模块时,可能导致输入数据的软件模块引入新的错误,因此在这里引入关联矩阵确定修改某一模块后需要重要测试的模块。

假定模块化设计的嵌入式系统软件由软件模块Ai(i=1,2,…,m,n)组成,m表示矩阵的行号,n表示矩阵的列号。图5所示的矩阵即为其关联矩阵。

在关联矩阵中,Aij=1表示Aj接受了Ai输出的数据,故修改了Ai重新测试Ai的同时也需重新测试Aj。

集成测试是在拥有程序设计文档、程序结构和数据结构时,对软件模块在集成中出现的错误进行测试。集成测试时,根据模块接口函数定位错误修改代码,根据关联矩阵确定重新测试的软件模块。图6给出了模块化设计的嵌入式软件集成测试模型。

集成测试完成后,退出宿主机测试环境,把系统移植到目标机上来,完成应用到现场环境中,从用户的角度对系统进行黑盒测试,验证每一项具体的功能。由于测试者对程序内容程序执行情况一无所知,因此本测试阶段的错误定位比较困难。系统测试阶段应该进行意外测试和破坏性测试,即测试系统正常执行情况下不该发生的激发活动和人为的破坏性的测试,进一步验证系统性能。系统测试阶段不应该确定错误后立即修改代码,应根据一定的错误

发生频率,确定测试周期,在每个测试周期结束时修改代码,进行反复测试;否则,不但增加了完全测试的任务量,而且降低了测试的可信度。

测试结果的分析可以定位错误,指导程序员修改代码,同时指出测试进行的程序并进一步指明测试方向。测试结果的分析是一个由测试结果和测试预得结果进行分析、比较和定位错误的过程。测试结果的分析是一次测试的最后环节,分析时应该考虑软件的运行环境和实际运行环境的差异以及各种外界因素的影响等。

测试用例是为了测试目标程序设计的包括输入项和预得结果的一种文件,根据测试环境和测试目标程序的不同,可分为某种格式的文档或某种输入行为(如一次按键)等。测试用例的构造要尽可能覆盖所有可能的取值范围,使测试尽可能地覆盖所有程序代码,提高代码的测试覆盖率,同时又不作多余、重复和无意义的测试。在嵌入式软件测试的不同阶段,要构造不同的测试用例;在系统平台测试阶段,要构造针对系统任务调度、实时性能和底层驱动程序的测试用例;在模块测试阶段,应构造针对某一模块进行测试的测试用例;在集成测试阶段,针对系统集成时数据传递、结构斜接的问题构造相应的测试用例;在系统测试阶段,要构造针对某项功能的或多项功能结合在一起的测试用例,或使用已经在同类产品上已经验证正确的测试用例。测试用例是可复用的。此外大型的软件开发过程中,测试用例的种类繁多,应该按一定的方法进行管理。用数据库的来管理测试用例是一个很好的选择。根据测试阶段将测试用例进行划分,然后用关键字唯一确定。这样在使用、修改和保存测试用例时都很方便,直接用查询的方式就可以调出测试用例。

本数控系统采用ARM7处理器,操作系统采用μC/OS实时操作系统,是一个典型的嵌入式系统。由于数控系统较为复杂,开发过程中将任务进行了详细的划分,软件的开发采用模块化开发。模块的划分及数据流向如图7所示。

根据图7所示的软件模块和数据流向可构造关联矩阵,如图8所示。

开发过程中,几个模块由不同的程序员分别进行编码,分别由程序员进行模块测试,并按白盒测试的方法进行覆盖测试。最后集成测试前,根据关联矩阵,程序员协作编写了模块接口函数F(A1-A2)、F(A1-A4)、F(A1-A5)、F(A1-A6)、F(F2-A3)、F(A3-A4)、F(A4-A5)、F(F5-A6)、F(A6-A2),然后根据图6所示的测试模型和图8所示的关联矩阵对系统进行了集成测试。分析可知,一些关键模块,如译码模块和刀补模块的测试代码覆盖率达到90%之上。图9所示的整个系统经过系统测试之后性能稳定,图10为其加工的零件,目前该系统已经小批量生产。

文章对嵌入式软件的特点和传统的测试方法作了分析之后,提出了四级测试流程和集成测试的模型。此测试方法用于工程机械控制器和数控系统开发的测试。测试的效率和可靠性满足要求。文中的单链路数据传递的错误定位、模块接口函数、关联矩阵等方法也可以用于面向对象的和面向对象的软件系统。

♥️ 嵌入式软件辞职报告 ♥️

嵌入式系统(Embedded System,ES)是将先进的微电子技术、通讯技术和计算机技术与各个具体应用领域相结合的产物,是一个资金技术密集且高度集成创新的知识系统。嵌入式系统是以应用为中心,计算机技术为基础,软硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积和功耗等方面有严格要求的专用计算机系统。因此,它具有“嵌入性”、“专有性”和“计算机系统”三个基本要素,其中“嵌入性”是它的特征,“专有性”是它的灵魂,“计算机系统”是它的本质。

根据IEEE(Institute of Electrical and Electronics Engineers 电气电子工程师协会)从它的用途来定义,嵌入式系统是用来监视、控制或者辅助机器和设备运行的系统[2]。其实嵌入式系统就是微操作系统和功能软件的集成,在以微处理器为核心的微型计算机硬件体系中所形成的简易便捷,稳定可靠,经济实用的机电一体化产品。

♥️ 嵌入式软件辞职报告 ♥️

一、实践目的

了解处理器的发展

掌握WinCE嵌入式系统开发方法和开发流程。

掌握WinCE嵌入式C#编程方法。

掌握WinCE嵌入式网络通信技术。

掌握Bluetooth编码技术

二、实践要求

1.了解WinCE操作系统的裁剪及定制;

2.设计蓝牙广播系统(包括服务器端和客户端);

3.设计蓝牙文件传输系统(包括服务器端和客户端);

4.应用程序安装和部署。

三、实践内容

(1)了解Wince平台

了解处理器的发展,什么是嵌入系统,嵌入式系统的应用,以及窗体与控件的概念,掌握WinCE嵌入式C#编程方法,对实验平台有一定的认识,更进一步的`认识蓝牙。了解编写应用程序的流程,理解了Windows窗体,学会了使用基本控件如标签、文本、按钮、列表框和组合框,掌握窗体的常用属性和方法。

(2)蓝牙搜索、浏览与发送,蓝牙设备列表,配对设备清空,删除。

四、原理介绍

1.嵌入式系统:

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

一般由硬件设备、嵌入式操作系统、嵌入式应用软件组成。具有专用性、高效简洁性、高可靠和低能耗性、自身特殊性的特点。

♥️ 嵌入式软件辞职报告 ♥️

基本信息

姓 名:出国留学网

性 别:男/女

出生日期:??????

民 族:汉

户 籍:黑龙江省饶河县

现居住地:北京海淀区

邮 箱:

电 话:????????

 教育/培训

20XX年8月—20XX年11月 凌阳(北京)爱普公司 嵌入式软件工程师

每日在公司学习时间:朝八晚十 (周一 ~ 周六)

学习内容:① 嵌入式C编程 || ② Linux基础 || ③ Linux系统编程 || ④ 网络编程

⑤ C++ || ⑥ Qt || ⑦ 平台 || ⑧ 驱动开发 || ⑨ 读书会与演讲

2008年9月—20XX年7月 ?????????大学 自动化

 求职意向:

嵌入式软件工程师 (应用程序开发) (无锡 + 苏州)

个人技能

掌握C/C++编程语言,以及常用的数据结构和基本算法。

掌握Linux下应用程序的开发过程,具有良好的编程风格。

掌握QT图形开发技术。

掌握TCP/IP协议,掌握socket网络编程。

掌握vi、gcc、VC++6.0、QT Creator等开发工具的使用。

了解ARM体系结构,掌握三星公司2410、2440系列处理器。

初步了解 嵌入式平台搭建过程

项目经验

① 黑白棋

项目描述:基于QT的GUI界面,独立完成项目的整体构架机功能模块的划分,整体界面的设计,游戏规则算法及各模块功能的实现。能够实现双人对战,人机对战,悔棋,计时等功能。

心得体会:

1、掌握了QT/C++编程的核心思想和技巧。

2、掌握了QT基本框架,常用的部件外观及其基本功能。

3、熟悉了QT的信号与槽、事件机制。

② 歌词解析器

项目描述:本项目在C语言阶段是非常具有代表性的,通过本项目对C语言的重点知识灵活运用,完成lrc格式歌词的文件读取、解析、存入链表等,并通过屏幕与歌曲同步实时显示。

心得体会:通过该项目能熟练掌握C语言字符切割操作、基本数据结构,培养良

好的编程规范。

③ MPlayer 播放器

项目描述:基于三星S3C2440开发板的Mplayer播放器。利用TFT图形库实现Mplayer UI

界面的设计。实现Mplayer播放、暂停、上一首、下一首、静音、音量调节、播

放列表、歌曲信息、播放进度等功能。

心得体会:该项目中涉及到多进程、多线程以及进行间通信、重定向等系统编程知识,是对

所学知识点的强化和提升。

④ 基于Linux的信息交换系统(飞鸽传书)

项目描述:运用TCP、UDP网络通信协议,实现局域网内多人聊天与文件传输等功能,具备

用户上下线动态识别机制。

心得体会:基本熟悉了TCP/IP协议、Socket、TCP、UDP的网络编程.

自我评价

喜欢阅读经典,比如《C Primer Plus》 《万物简史》。

具有独立思考能力。

热爱软件开发,享受创造有意思的事物的过程。

喜欢关注计算机业界最新动态和前沿科技。

热爱生活。、

♥️ 嵌入式软件辞职报告 ♥️

嵌入式软件的开发与通用软件很大的`不同点在于,需要采用交叉开发的方式:开发工具运行在软硬件配置丰富的宿主机上,而嵌入式应用程序运行在软硬件资源相对缺乏的目标机上。对于这类软件的测试也存在着同样的问题:测试工具运行在宿主机上,测试所需要的信息在目标机上产生,并通过一定的物理/逻辑连接传输到缩主机上,由测试工具接收。因此,嵌入式软件测试的一个重要问题是建立宿主机与目标机之间的物理/逻辑连接,解决数据信息的传输问题。

♥️ 嵌入式软件辞职报告 ♥️

覆盖是一种白盒测试方法,测试人员必须拥有程序的规格说明和程序清单,以程序的内部结构为基础,来设计测试案例。其基本准则是则测试案例来尽可能多地覆盖程序的内部逻辑结构,发现其中的错误和问题。所以,覆盖测试一般应用在软件测试的早期,即单元测试阶段。

覆盖的几种方法或策略如表1所列。

覆盖策略定义语句覆盖在制定测试案例时,使程序中的每个语句都至少执行1次。其缺点是不能发现某些逻辑错误判定覆盖执行足够的测试案例,使得程序中每个判定都获得一次“真”值和“假”值,或者说使每一个分支都至少通过1次条件覆盖执行足够的测试案例,使得判定中的每个条件获得各种可能的结果判定/条件覆盖执行足够的测试案例,使得判定中的每个条件取得各种可能的值,并使得每个判定取得各种可能的结果条件组合覆盖执行足够的测试案例,使得每个判定中的条件的各种组合都至少出现1次。其特点是覆盖较充分,满足条件组合覆盖的测试案例也一定满足判定覆盖、条件覆盖和判定/条件覆盖。

从以上简要介绍可看出,这几种覆盖策略的严格程序有如下趋势:

其它一些覆盖策略还包括:修改的条件/判断覆盖(通常简称为MCDC)、路径覆盖、函数覆盖、调用覆盖、线性代码顺序和跳转覆盖、数据流覆盖、目标代码分支覆盖、循环覆盖、关系操作符覆盖等。随着软件规模的增长,实现全面的覆盖所需的测试案例的数目也越来越庞大,因此根据被测软件对象的特点选择适当的覆盖策略是非常重要的;同时,要确定合理测试目标,达到100%的覆盖往往要付出很大的代价,应该同形式化评审等方法结合,以发现更多的软件故障。

要取得较好的覆盖测试效果,需要借助一定的工具软件。这些工具软件一般具备如下的功能特点,可弥补人为测试的缺陷:

①分析软件内部结构,帮助制定覆盖策略及设计测试案例;

②与适当的编译器结合,对被测软件实施自动插装,以便在其运行过程中生成覆盖信息并收集这些信息;

③根据搜集的覆盖信息计算覆盖率,帮助测试人员找到未被覆盖的软件部位,以改进测试案例提高覆盖率。

在利用工具进行动态覆盖测试时,需要3个要素:测试用例、插装过的被测代码、搜集覆盖信息并进行分析的工具本身。代码插装由工具自动完成,通过执行测试用例,再由工具搜集覆盖信息并进行分析,就可以看到覆盖率指标了。图1展示实现覆盖测试的基本过程。

♥️ 嵌入式软件辞职报告 ♥️

最早的微处理器是4位和8位器件。由于制造技术越来越复杂,集成的单片8位微处理器开始出现,16位微处理器也开始使用。随着微电子技术的发展,16位的微处理器已得到广泛的应用。32位架构的器件逐渐占领了高端的应用市场,第一代的32位器件都是CISC架构,但目前,越来越多的RISC芯片正在提供更高的性能。嵌人式系统设计者选择微处理器的范围比以前大了,必须根据性能、需求、支持、可用性和价格来进行选择。

♥️ 嵌入式软件辞职报告 ♥️

1 实时系统

实时系统是指数据产生时,能以足够快的速度来进行处理,处理的结果能在规定的时间内来控制生产过程与处理系统,让它做出极快的响应。在实时系统中,如果指定的时间没有完成确定的任务,整个系统会全面失败,这被称为硬实时系统,反之,如果在指定的时间内没有完成确定的任务,不会出现致命的错误就被称为软实时系统。

2 分时系统

分时系统是把时间划为长短基本相同的时间片,操作系统轮流分配给各个作业使用,如果某个作业在时间片结束完成,这个作业被挂起,等下一轮循环再继续使用,分时操作系统具有以下几个特点:多路性,用户通过各自的'终端可以同时使用一个系统;及时性,对于提出的要求,系统能在较短的时间内得到响应与处理;独立性,虽然同一时间内可以多个用户使用同一个CPU,但是用户之间操作独立,彼此不干涉。

3 嵌入式系统选型

选择自己需要的嵌入式系统,可以从以下几方面进行对比选择。

3.1 进入市场时间

产品的进入时间与选择的操作系统有很大的关系,实际的产品与演示的产品不同。一些高效推出的操作系统由于研发时间不够、技术累积不够,导致成本高、核心竞争能力差。比如WinCE操作系统,它就是在windows系统上作一定程度的改变,去掉一些不需要的功能,很快推出产品,结果实用时出现很多问题。

3.2 可移植性

通常来说,嵌入式系统的移植性越好,可在在不同平台、不同系统上都能移植,那是处于最理想的状态,然而实际运用中并不能达到这种理想状态,如果过于强调移植性,那么会付出性能优化的代价。

3.3 可利用资源

嵌入式系统是以快速、低成本、高效率的推平适合用户需要的一个系统平台,而在这个平台上能使用多少功能,需要使用第三方的产品,因此这个平台上能使用多少第三方的产品是选型的一个重要条件,有些嵌入式系统为了满足高性能、高可靠性的要求,使用比较封闭的操作系统,多数只能使用自己独立

3.4 系统定制能力

用户在使用嵌入式操作系统的时候,要求能定制不同的硬件平台,比如会要求能否对系统提出底层的更动要求?能否定制出现能满足自己需要、更有自己特色的系统、能否开放原代码等等。

3.5 成本

选择嵌入式操作系统,需要考虑成本的问题,比如一个系统是完全免费的,还是需要支付许可使用费等等,在这个选择中,并不是免费的就是最好的,这要考虑到硬件设计人员的投入、公司的管理、第三方软件的开发及使用,等等方面的问题,最后对成本作一个综合考量。

3.6 语言内核支持

语言内核支持指操作系统能使用几种语言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持双字节编码,是只支持简体中文系统还是同时支持繁体系统,同时还要考虑中文输入法与处理系统,语言内核的支持与第三方软件资源的利用有非常重要的联系。

♥️ 嵌入式软件辞职报告 ♥️

正如先前讨论的一样,最初的嵌人式系统设计只要一个人就够了。在适当的时候,因专业化,产生了致力于软件开发的工程师。下一步就是建立嵌人式软件开发团队。管理软件开发在任何情况下都是一个挑战,嵌入式系统开发也不例外,只是有细微差别。使用传统的编程技术———过程语言,如C语言和汇编语言,团队里的大部分成员都需要对整个系统了解比较全面。随着团队变大,这就变得越来越不可行。价况住往是,团队里有一些特殊的'人才,他们对某些专门领域很在行。为了有效地管理团队必须使用合适的策略,将他们的专长封装起来。尽可能使一个专家的工作成果能够被非专家以安全、可靠和直观的方式加以使用.在这种情况下,面向对象编程技术找到应用点。

虽然有很多非常大的公司,但软件队伍不是简单的人员扩充他们正在变成分布式的。团队的一些成员在一个地方,而其他的可能在别处。这些地点甚至有可能位于不同的国家。这种安排在欧洲很常见,在那里,真正关心的可能是交流的语言。其他地方,时区可能是个问题(可能也是一个优势,因为分布式的团队可以全天候工作)。随着新兴的技术中心(如印度)广泛崛起,上述情况越来越普遍。在这一背景不,软件组件的可重用性需求就变得很常见了。

♥️ 嵌入式软件辞职报告 ♥️

一、 实习时间 20xx年4月12日-20xx年4月26日 二、 指导教师姓名 陈xx 三、 实习地点 长沙市牛耳服务外包实训基地 四、 实习目的与内容 对于嵌入式项目进行学习培训,掌握嵌入式的主要项目及相关技术 五、 实习收获与体会 一转眼半个月的实习生活过去了,现在我已经回到学校,回想起半个月的实习生活,自己学到了很多,懂得了很多。 真的说不出是什么感觉,伴着时间,就像是在和自己的影子赛跑,不可能从真实的两面去看清它,只是经意不经意的感受着有种东西在过去,也许更适合的只有那句话:时不待我,怎可驻足。原以为实习对于我来说会是很长,但实际却不同。想象收获的东西,真的很多,看看我的工作笔记,一篇又一篇,记别人的事情比自己的还多,也许?? 实习,并不像我想象中的那样轻松惬意,而是充满了挑战和艰辛。我给自己敲响了警钟:“不要半途而废,做事情切忌三分热度。”我信心十足的回答到:“我一定会坚持到底!” 天下英雄皆我辈,一入江湖立马催。” 从学校到社会的大环境的转变,身边接触的人也完全换了角色,老师变成老板,同学变成同事,相处之道完全不同。在这巨大的转变中,我们可能彷徨,迷茫,无法马上适应新的环境,但在同学、同事的`帮助和自己摸索的情况下,我还是完成了这次实习。但我发现,以我们的经验,不学到一定的深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺点疏漏。需在加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能,我们也许看不惯企业之间残酷的竞争,无法忍受同事之间漠不关心的眼神和言语。很多时候觉得自己没有受到领导重用,所干的只是一些无关重要的杂活,自己的提议或工作不能得到老板的肯定。 做不出成绩时,会有来自各方面的压力,老板的眼色同事的嘲讽。而在学校,有同学老师的关心和支持,每日只是上上课,很轻松。常言道:工作一两年胜过十多年的读书。两个月的实习时间虽然不长,但是我从中学到了很多知识,关于做人,做事,做学问。只有拥有自信才能够克服一切,去实现自己的理想,创造自己的人生。 实习是个人综合能力的锻炼。作为一名新时代的新青年更应该把学习作为保持工作积极性的重要途径。像我这种文凭不高的人,心里就有一种很渴望的感觉,明白了自己与社会所需的要求,因为现在毕业求职,更多的时间是社会职业选择自己面试,更多的不是自己去选择职业,这应该就是所谓的先就业再择业吧。所以自己会把心态放正,在公司的时候先全面发展,等过段再看看精于哪个方面,然后向那个方向努力发展。 “在大学里学的不是知识,而是一种叫做自学的能力”。参加工作后才能深刻体会这句话的含义。课本上学的理论知识用到的很少。在这个信息爆炸的时代,知识更新太快,靠原有的一点知识肯定是不行的。我们必须在工作中勤于动手慢慢琢磨,不断学习不断积累。遇到不懂的地方,自己先想方设法解决,实在不行可以虚心请教他人,而没有自学能力的人迟早要被企业和社会所淘汰。所以我们还要继续学习,不断提升理论素养。 在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名年轻同志更应该把学习作为保持工作积极性的重要途径。走上工作岗位后,我积极响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升能力,以广博的社会知识拓展视野。 我们还要努力实践,自觉进行角色转化。“理论是灰色的,生活之树常青”,只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。同样,一个人的价值也是通过实践活动来实现的,也只有通过实践才能锻炼人的品质,彰现人的意志。

♥️ 嵌入式软件辞职报告 ♥️

嵌入式系统常用术语锦集

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。以下是关于嵌入式系统常用术语,希望大家认真阅读!

A

ASIC(专用集成电路)

Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chip.

专用集成电路。一个在一个芯片上定制设计的硬件。

address bus (地址总线)

A set of electrical lines connected to the processor and all of the peripherals withwhich itcommunicates. The address bus is used by the processor to select aspecific memory location or register within a particular peripheral. If the address bus contains n electrical lines, the processor can uniquely address up to 2^n such locations.

一个连接处理器与所有外设的,用来通讯的电子线路集。地址总线被处理器用来选择在特定外设中的存储器地址或寄存器。如果地址总线有n条电子线路,处理器能唯一寻址高达2^n的地址空间。

application software(应用软件)

Describes software modules specific to a particular embedded project. Theapplication software is unlikely to be reusable across embedded platforms, simplybecause each embedded system has a different application.

用来描述一个特定的嵌入式项目中的某一软件模块。应用软件不象可重用的交叉嵌入式平台,只是因为每一个嵌入式系统有不同的应用软件。

assembler(汇编编译器)

A software development tool that translates human-readable assembly languageprograms into machine-language instructions that the processor can understandand execute.

一个能把人可读的汇编语言程序转换到处理器可理解和运行的机器指令的软件开发工具。

assembly language(汇编语言)

A human-readable form of a processor"s instruction set. Most processor-specific functions must be written in assembly language.

一种人可读的处理器指令集的形式。大多数处理器相关的功能必须用汇编语言编写。

B

BSP(板卡支持包)

See board support package.

见board support package。

binary semaphore(二元信号)

A type of semaphore with just two states. Also called a mutex.

一种只有两种状态的信号。也叫互斥信号。

board support package(板卡支持包)

Part of a software package that is processor or platform-dependent. Typically,sample source code for the board support package is provided by the package developer. The sample code must be modified as necessary, compiled, and linked with the remainder of the software package.

软件包的具有平台依赖性的那一部分。典型地,板卡支持包的样例源程序由包开发者提供。样例源程序必须能在需要时被修改、编译并与软件包的剩下的部分连接起来。

bond-out processor (外合处理器)

A special version of a processor that has some of the internal signals brought out to external pins. A bond-out processor is most often found within an emulator and is never intended to be used in a production system.

一种特殊版本的处理器,它有一些,内部的信号能传达到外置的针脚上。一个外合处理器绝大多数情况下只用在模拟器上,从来不会被特意用在产品系统上。

Breakpoint (断点)

A location in a program at which execution is to be stopped and control of the processor switched to the debugger. Mechanisms for creating and removing breakpoints are provided by most debugging tools.

一个在程序中的地址,在那里程序的执行被停止,并且处理器的控制转换到了除错程序。大多数除错工具提供增加与删除一个断点的机制。

C

CISC(复杂指令集计算机)

Complex Instruction Set Computer. Describes the architecture of a processor family. CISC processors generally feature variable-length instructions, multiple addressing formats, and contain only a small number of general-purpose registers. Intel"s 80x86 family is the quintessential example of CISC. Contrast with RISC.

复杂指令集计算机。对一种处理器架构的描述。CISC处理器一般产生变长的指令,多种地址格式,并且仅仅有少量的通用寄存器。Intel的80x86家族是是典型的CISC处理器。相对于RISC而言。

CPU(中央处理器)

Central Processing Unit. The part of a processor that executes instructions.

中央处理器。处理器中执行指令的那一部分。

Compiler(编译器)

A software development tool that translates high-level language programs into the machine-language instructions that a particular processor can understand and execute.

把高级编程语言程序转换到只有特定的处理器能了解和执行的机器指令的一种软件开发包。

context (上下文)

The current state of the processor"s registers and flags.

处理器当前的状态和标志。

context switch(上下文切换)

The process of switching from one task to another in a multitasking operating system. A context switch involves saving the context of the running task and restoring the previously-saved context of the other. The piece of code that does this is necessarily processor-specific.

在多任务操作系统中我一个任务切换到另一个的过程。上下文切换包括保存正在运行的任务的上下文和恢复早先保存的另一个任务的上下文。做这个工作的一段代码必须具有处理器特权。

counting semaphore(计数信号)

A type of semaphore that is used to track multiple resources of the same type. An attempt to take a counting semaphore is blocked only if all of the available resources are in use. Contrast with binary semaphore.

一种用来跟踪多个相同类型资源的信号灯。仅仅在所有可用的资源都被用完了时才阻塞。相对二元信号而言。

critical section(临界段)

A block of code that must be executed in sequence and without interruption to guarantee correct operation of the software. See also race condition.

一段必须按次序执行的代码,并且不能被中断,否则不能保证软件正确地操作。参照:竞争状况。

cross-compiler(交叉编译器)

A compiler that runs on a different platform than the one for which it produces object code. A cross-compiler runs on a host computer and produces object code for the target.

一个运行在不同的平台上的编译器,其中之一能产生目标代码。交叉编译器在主机上运行并且产生目标机的目标代码。

D

DMA(直接内存访问)

Direct Memory Access. A technique for transferring data directly between two peripherals (usually memory and an I/O device) with only minimal intervention by the processor. DMA transfers are managed by a third peripheral called a DMA controller.

直接内存访问。一种直接在两个外设(通常是内存和I/O设备)之间进行数据传输的技术,它只要处理器最少的介入。DMA传输由叫DMA控制器的第三方外设进行管理。

DRAM(动态随机访问存储器)

Dynamic Random-Access Memory. A type of RAM that maintains its contents only as long as the data stored in the device is refreshed at regular intervals. The refresh cycles are usually performed by a peripheral called a DRAM controller.

动态随机访问存储器。一种RAM,存储在其设备中的数据被定期刷新时才能保存它的内容。刷新周期一般由一个叫DRAM控制器的外设完成。

Data bus(数据总线)

A set of electrical lines connected to the processor and all of the peripherals with which it communicates. When the processor wants to read (write) the contents of a memory location or register within a particular peripheral, it sets the address bus pins appropriately and receives (transmits) the contents on the data bus.

连接处理器与所有外设进行通讯的电子线路集。当一个处理器想去写(读)某一特定外设中的存储器地址或寄存器中的内容时,处理器设置地址总线并在数据总线上接收(传输)内容。

Deadline(死线)

The time at which a particular set of computations must be completed. See also real-time system.

一个特定计算必须被完成的时间。请看实时系统。

Deadlock(死锁)

An unwanted software situation in which an entire set of tasks is blocked, waiting for an event that only a task within the same set can cause. If a deadlock occurs, the only solution is to reset the hardware. However, it is usually possible to prevent deadlocks altogether by following certain software design practices.

一种不希望出现的软件状态,在这个状态下,所有的任务因为等待一个只有在这些被阻塞任务之一才能产生的事件而被阻塞。如果死锁发生,唯一解决的方法是重启动硬件。但是,通过可靠的软件设计实践活动通常可以防止死锁的发生。

debug monitor(除错监视程序)

A piece of embedded software that has been designed specifically for use as a debugging tool. It usually resides in ROM and communicates with a debugger via a serial port or network connection. The debug monitor provides a set of primitive commands to view and modify memory locations and registers, create and remove breakpoints, and execute your program. The debugger combines these primitives to fulfill higher-level requests like program download and single-step.

嵌入式软件被特殊设计来作为除错工具的一部分。它一般被放在ROM中,通过串口或网络与除错器进行通讯。除错监视程序提供一个简单的命令集来显示和内存地址和寄存器、建立和移除断点,并且运行你的程序。除错监视器组合这些简单的命令去实现象程序下载各单步调试等高端的请求。

Debugger(除错器)

A software development tool used to test and debug embedded software. The debugger runs on a host computer and connects to the target through a serial port or network connection. Using a debugger you can download software to the target for immediate execution. You can also set breakpoints and examine the contents of specific memory locations and registers.

一个软件开发工具,被用来对嵌入式软件进行测试和除错。除错器在宿主机上运行并且通过串口或网络连接到目标机上。你能使用除错器下载软件到目标机并直接运行。你也可以设置断点并检查特定内存地址或寄存器的内容。

device driver(设备驱动程序)

A software module that hides the details of a particular peripheral and provides a high-level programming interface to it.

一个软件模块,它隐藏特定外设的细节并提供高级的外设编程接口。

device programmer(设备编程器)

A tool for programming non-volatile memories and other electrically-programmable devices. Typically, the programmable device is ed into a socket on the device programmer and the contents of a memory buffer are then transferred into it.

一种用来对不挥发内存和其他电可编程设备进行编程的工具。典型地,可编程设备插在设备编程器的接口上,接着内存缓存器中的内容被传送到它里面。