嵌入式软件工程师证

2024-04-07

嵌入式软件工程师证(精选8篇)

篇1:嵌入式软件工程师证

个人简历

个人信息

 基本信息

姓名:

性别:男英语:良好

电话:邮箱:***@139.com

出生日期:1991-12-19现居住地:北京海淀区 籍贯:青海西宁 求职意向:

掌握技能

 软件开发

1.熟练掌握C/C++、GNU汇编,以及链表、队列、栈等数据结构和基本算法的编程应用

2.熟悉vi编程与gcc编译,shell编程,嵌入式软件平台搭建,交叉编译

3.熟悉Linux多进程(进程间通信)、多线程(同步与互斥)系统编程与应用,数据库SQLite

4.熟悉TCP、UDP网络协议、TFTP简单文件传输协议及socket编程,web编程技术

5.熟悉windows和嵌入式Linux下的QT(多平台的C++图形用户界面应用程序框架)开发

6.熟悉ARM处理器(S3C2440),裸机应用编程开发与字符设备驱动编程,掌握Linux内核模

块编程 7.熟悉bootloader原理,vivi、uboot的配置与编译,kernel裁减移植及内核调试技术、根文件系统(cramfs、yaffs)的制作 硬件开发

1.熟练掌握51单片机及相关硬件电路设计(电路原理图设计、PCB图设计),2.了解ARM体系结构,ARM的常用接口开发及硬件电路设计基础,掌握三星公司2440系列处理器以及外围器件的配置开发

3.了解SPI、IIC、UART等协议,并能进行嵌入式Linux下简单常用驱动开发

4.熟练使用通用电子测试仪器,如万用表(电烙铁)、示波器、信号发生器等

5.具备一定的电路故障分析能力和一些基本的电路设计,如 A/D电路、放大电路、音频电路 编程语言与开发环境

1.熟练使用C/C++语言进行项目开发(可编辑项目文档);

2.能熟练的在Linux环境或windows下进行编程调试;

3.熟练使用vi、gcc,VC++6.0,ADS,Source insight,SQLite,QT等开发工具;项目经验

【 项目一 】基于ARM平台下的开源多媒体mplayer播放器

·项目描述:具备播放器的基本功能,包括选择歌曲播放、暂停、快进、快退,显示歌曲列表,显示歌歌词,歌曲信息,播放时间和进度条;

2、在程序中熟练掌握了 C 语言的基本字符串处理函数与指针的运用; ·项目收获:

1、经项目更好的掌握了多进程, 多线程机制,及管道,信号等进程间通讯机制;

3、熟悉了在 S3C2440 开发板上运用图形库,进行图形制作;

4、熟练文件的打开、读取等操作,掌握了链表的插入、排序、遍历输出等操作;

【 项目二 】IPMSG(飞鸽传书)、Web Server

·项目描述:

1、IPMSG基于通用的IPMSG局域网通信协议,在传输层上分别采用TCP实

现文件传输、UDP协议发送实时消息,实现了字符界面的对话和文件传输;解析远端浏览器发来的数据报文,并回送请求页面;

2、Web Server 基于 TCP协议实现了服务器端对远程浏览器的访问支持,·项目收获:

1、进一步理解了TCP/IP四层网络模型的结构框架;

2、在编写程序的过程中,进一步掌握了多线程程序的设计技巧;

3、掌握Socket函数的编程技巧与数据结构相关知识在实际编程中的应用;

4、加深理解了B/S网络模型在网络传输的运用,及TCP协议编程技巧;

【 项目三 】基于QT的黑白棋游戏

·项目描述:项目实现了棋盘显示、分数统计、信息提示、悔棋、人机对战、人人对战等功能。·项目收获:

1、掌握了布局,Qwidget、QPushbutton等基本控件和QPaintEvent等事件的使用,加深了对 C++ 面向对象的设计方法和 QT 图形界面的理解;

2、熟练掌握了信号和槽机制,在程序中自定义信号和槽来完成具体功能

【 项目四 】nrf2401驱动

·项目描述: 模拟SPI时序,完成单字节发送、字符串发送、文件发送。

·项目收获:

1、再理解ARM处理器底层工作原理,设备驱动开发打下良好的基础,2、熟悉nrf2401数据手册,并掌握阅读芯片手册的方法和技巧

【 项目五 】智能家居

·项目描述: 通过web端、手机短信和开发板触摸屏(Qt界面)实现对家居远程和本地

控制,包括LED灯、视频监控、温湿度监控、有人入侵时报警等功能。

·项目收获:

1、在此项目中主要负责Boa移植、Html网页编程、JSAJAX编程,教育经历从而对前端网页和boa服务过程有了进一步的了解;AT指令控制GPRS模组并实现自动发送短信功能。

2、熟悉S3C2440的GPIO 驱动的编写及操作、如何通过UART发送

3、锻炼编写代码、整合项目的能力;

2012.04—2012.08

2009.10—2012.07

2009.09—2012.07

自我评价北京凌阳爱普科技有限公司LINUX 嵌入式工程师(培训)南昌航空大学江西渝州科技职业学院电子工程本科(自考)电子信息工程专科

 有极强的学习能力,动手能力、组织能力;

 有良好的创新、承压、解决问题能力,吃苦耐劳、做事耐心细致、工作积极主动; 有大局意识、诚实守信,严谨负责、有团队合作精神。

 欣赏并学习他人的优点以弥补自己的不足;

 诚心愿在嵌入式行业发展。

篇2:嵌入式软件工程师证

性别:男年龄:24岁

籍贯:江西上饶市政治面貌:团员

联系电话:18676974##QQ :2823640#8 电子邮箱:chengxuan10# @163.com

地址:江西省上饶市

求职意向

 职位:嵌入式工程师

 工作地点:深圳

教育经历2010/09 至今: 江西财经大学软件工程本 科

综合技能

 英语读写能力不错,获得cet-4英语四级证书。

 熟悉c/c++编程语言,以及常用的数据结构和基本算法。

 熟悉gcc编译、gdb调试工具、ads、keil、tftp、stc-isp、dnw。

 熟悉单片机原理,熟悉单片机接口编程。熟悉ARM体系结构,掌握外围接口编程。掌握linux下应用程序开发过程,具有良好的编程风格。熟悉基于linux的网络编程、多线程编程,熟悉tcp/ip协议。了解uboot、kernel以及文件系统的移植,能够自主搭建嵌入式开发平台。了解字符设备等框架,有一定设备驱动的编程的基础。了解QT图形开发技术。掌握office、Photoshop等软件的使用

项目经验

 项目一

项目名称:智能温控风扇

项目描述:基于单片机的智能温控风扇,当人接近的时候,风扇自动开,当人离开的时候自动关,当温度低于设定的温度时,那么风扇自动关掉,当温度

高于设定的温度时自动开。

项目二

项目名称:多功能播放器

项目描述: 基于arm的多功能播放器可以播放电子音乐、歌曲以及弹钢琴、切换背

景、画图、还能设置闹钟、和幻灯片。

关键技术:iis、iic、lcd显示屏的处理、触摸屏、gpio口的控制

项目三

项目名称:linux即时通讯系统

项目描述:基于linux的网络编程,主要实现多个客户端于服务端、多个客户端与客

户端之间的信息传递。功能有:

1、注册登录系统

2、公聊

3、私聊

关键技术:tcp/ip协议及网络编程、多线程、多进程、文件操作、链表

项目四

项目名称:报警器系统

项目描述:通过arm板上的按键可以实现按键报警,adc报警,也可以通过rtc时钟

报警,时钟一到就自动报警。

关键技术:linux开发环境的搭建,uboot、kernel以及文件系统的移植、linux字符

设备框架

项目五   

项目名称:远程监控系统

项目描述:两个arm开发板,通过有线连接到局域网,可以实现图像传输并显示到

相对应的lcd上。

关键技术:linux开发环境的搭建,uboot、kernel、以及文件系统的移植、linux视频

设备驱动、qt/e移植、udp协议

获得荣誉

 三等奖学金(连须两年)

 单项奖学金(全班只有一个)

 参加团体121绑腿大赛获得二等奖

个人评价

 乐观自信、愿意把快乐带给他人

 具有较强的沟通能力和组织、协调能力

篇3:嵌入式软件工程师证

关键词:并行工程,软件工程,软件质量保障,软件测试

对航空嵌入式软件产品进行测试是保证其质量与可靠性的重要手段。近些年,航空嵌入式软件市场不断动荡与激烈竞争的局面对航空嵌入式软件测试提出了新的挑战,商业化的第三方软件测试面临着一些新的问题,那就是如何在保证质量的前提下,加快测试项目的进度、提高开发效率,降低测试成本等等。软件成熟度(CMM)实践证明,良好的软件过程与持续的过程改进是解决诸如此类问题的一个途径,不但可以保证产品质量,还可以大大提高生产效率。因此,如何定义一个“良好的”,适合于航空嵌入式软件测试的软件过程成为问题的关键。并行工程是生产制造行业中优化生产过程的一种重要手段,文中从对并行工程的研究入手,将并行工程的思想、方法运用到航空嵌入式软件测试实践中,用于解决以上问题。

1 并行过程的相关概念

并行工程(Concurrent Engineering)是生产制造行业中的一个重要概念,是一种对产品及其相关过程(包括制造过程和支持过程)进行并行、一体化设计的系统化工作模式。并行工程的目标主要体现在5个方面:(1)提高产品的整个研发设计过程的质量[1];(2)降低产品全寿命周期费用[2];(3)缩短产品研发周期和减少设计反复;(4)提高产品的可靠性,满足客户要求;(5)提高新产品在市场上的竞争力和新产品的投放速度,赢得市场先机。

生产过程的管理[3,4]是并行工程关注的主要对象,这是因为:

首先,并行工程的主要目标之一就在于缩短产品开发周期,因此,过程本身必然成为控制和优化的对象;其次,以过程为基础进行成本核算,能够更全面的反映成本的构成,基于活动的成本核算(Activity Based Costing)就体现了这种思想;第三,以过程为基础进行质量控制,把质量控制从事后检测转变为事前预防,能够尽量减少大的设计更改,需求管理、质量功能配置(Quality Function Deployment)、全面质量管理(Total Quality Management)都是这种思想的反映;第四,以可视化的过程模型为基础的协同设计支持环境,是通讯、监控、协调和信息管理的基础;第五,追踪由最初的顾客需求到最终产品实现的决策过程,从中获得有益的经验和知识,是组织学习、增强产品开发能力的基本手段。

并行工程的最显著特征是组织机构的分布形式,它从层次式转变为平面式。这种分布形式突出了整合性,主要表现在把各方面的专家融合到一起,赋予充分的职责,发挥各自专长,使设计周期中获得必要的技术支持。各部门共享数据信息、及时沟通、相互合作、尽早分析产品整个周期中的所有因素,尽快发现并解决浪费、故障和差错问题,以免造成错误的串联及蔓延,还可避免行政政策带来的僵化和墨守成规,最终提高工作效率、大幅度地提高产品质量、降低成本、缩短产品开发周期。并行工程的另一个特征是集成化的产品设计、制造、营销的过程,力图使产品开发一开始就考虑到产品生命周期(从产品概念形成到报废)中所有因素,注重企业内部的机构集成又重视企业与外部供应商、消费者、经销商等的集成。其基本工作原则是在进行上游环节工作的同时,尽可能早地考虑下游环节的工作,集成和并行地进行产品及其有关过程的设计,特别注意产品概念设计的并行协调。而在运行之中并行工程还强调以人为本的管理,是以人为主体的设计过程。主张简化各种过程,强调管理的作用,注重整体效益,建立项目团队,发挥团队合作精神,使作为团队的推进者共同保证企业运行机制的顺利完成。

2 并行工程思想对航空嵌入式软件测试的启示

航空嵌入式测试是保证航空嵌入式软件质量与可靠性的重要手段。考察航空嵌入式软件的测试[5],可以发现其具有以下特点或问题:

(1) 工作量庞大,测试质量、进度、成本受到挑战

航空嵌入式软件测试往往意味着大量测试用例、测试程序的开发,是一项极耗时间与人、财、物力的庞大工程。以美国Collins公司某飞控显示器测试项目为例,飞控显示器开发周期为6个月,测试时间为5个月,要求整个测试要求开发测试程序1 200多个,测试用例近40 000个,测试程序一次性通过率高于95%。这样,在5个月的时间里,平均每个月要求开发测试程序200多个,测试用例8 000个,达到这样的产品质量水平与生产率要求是一项非常艰巨的任务;

(2) 在过程问题

传统的测试遵循于瀑布模型,它本身不利于质量的保障与过程改进,这是因为:第一,瀑布模型是一种串行模型,在瀑布模型中,测试已经被定义为编码实现阶段之后和验收维护阶段之前的一个独立阶段,测试不具备完整性,其实是一种代码测试;第二,测试起始时间晚,不利于及早发现需求于设计中的缺陷与错误,容易造成错误级联;第三,仅关注代码测试过程,没有对软件全过程进行考虑,不利于软件过程的改进。对于中小型软件项目由于具有易开发、使用和维护的特性,受上述过程问题影响较小。但是对于大中型项目来说,其开发周期长、复杂性很强、难以维护,受这些问题的影响比较突出。

航空嵌入式软件功能复杂,对测试环境、测试方法都有一些特殊的要求,沿用传统的过程更容易造成项目执行中的困难。

3 并行工程在航空嵌入式软件测试中的应用

综上所述可以得出结论,航空嵌入式软件测试存在的质量、进度、成本等问题可以通过持续过程改进的方法得到改善。采用并行工程的方法并行、一体化设计整个测试过程是过程改进的一种思路。

3.1 基于并行工程的航空嵌入式软件测试模型

软件测试方法和技术的发展为并行技术在航空嵌入式软件测试中的运用提供了支持:

(1) 航空嵌入式软件测试环境的发展

航空嵌入式软件具有鲜明的行业特点,即嵌入性、实时性和高可靠性,这些特点给航空嵌入式软件测试带来很大的困难,根本原因在于一般测试技术和测试工具的实施缺乏基本条件。由于测试的特定性及专用外部设备的连接,使航空嵌入式软件在相应的航空嵌入式计算机系统未开发完成前不能真正运行,动态测试技术不能应用;航空嵌入式计算机系统的有限资源使运行监测和观察变得很困难,航空嵌入式软件的输入/输出涉及计算机系统专用的端口、外部设备、以及各种不同的信号量形式,如数字量、电压量、电流量、脉冲量、开关量等,各种输入/输出量电气特性也不一样,加上实时性要求输入/输出的时序特性,使航空嵌入式软件的测试输入和结果获得都很困难。

对环境的依赖曾经是航空嵌入式软件软件测试的一个瓶颈,但近些年对全数字仿真技术和交叉编译技术的研究都已经比较成熟。如美国Rockwell Collins开发的VISTA (Virtual Integrated Software Test-bed for Avionics) 测试平台,德国Condor公司开发了全套基于ARINC429、1553B总线、AFDX的航空嵌入式软件模拟测试工具等都已经投入商用,预研课题“航空嵌入式软件模拟测试平台”也通过验收,取得了成功。这些数字测试平台,工具的使用使航空嵌入式软件测试部分摆脱了对硬件的依赖,为测试与开发的并行提供了支持;

(2) 测试方法的发展

软件测试的实践已经证明,测试介入软件开发过程的时间越早,为纠正发现的缺陷和错误所付出的代价就越小。串行执行的测试是测试程序代码,必须要等到代码开发完成以后执行,不利于尽早发现需求和设计中的问题。并行执行的测试在需求阶段就可以开始,在需求和设计阶段使用技术评审的方法,由测试领域专家从软件测试的角度对需求与设计的正确性、一致性、可测性等进行评审。在代码开发阶段并行进行测试程序的开发,同时进行测试程序的同行评审,及时改正发现的需求、代码、测试中的错误。

基于并行工程的航空嵌入式软件测试模型如图1所示。

基于并行工程的航空嵌入式软件测试模型特点:

(1) 以质量保证为核心,在开发、测试的全过程中执行严格的质量管理;

(2) 抛弃了传统的软件测试阶段划分,将测试运用在航空嵌入式软件开发的全过程,早测试、早发现、早解决;

(3) 软件测试与软件开发过程并行进行,在不同的开发阶段采用不同的测试策略;对发现的缺陷、错误及时纠正,避免错误的蔓延与级联;

(4) 整合测试领域内的资源,对测试领域专家、测试工程师及质量保证工程师赋予充分的职责,发挥各自专长。

3.2 编码阶段的程序代码与测试代码开发的并行

如前所述,采用仿真测试环境使航空嵌入式软件的测试摆脱了对硬件环境的完全依赖,可以使测试在硬件环境搭建以前就开始执行,为代码与测试的同步开发提供了支持。在航空嵌入式软件的测试的过程中,测试程序的开发是最消耗时间与人、财、物力的一个阶段,也是过程优化的重点所在。如图2所示,航空嵌入式软件的测试可以通过并行工作流程实践开发与测试的同步进行。这种并行工作流程在越洋外包项目中效果尤为明显。

4 结束语

针对传统软件测试的缺陷,结合并行工程和软件过程改进的思想,设计了一种适用的航空嵌入式软件测试过程模型,该模型集中体现了并行工程中关注产品生产全过程的特性。具体说来,该模型具有如下优点:

(1) 借鉴并行工程思想,采用软件生命周期全过程测试策略,有效保障软件产品质量,提高了测试程序生产率,降低测试成本;

(2) 通过软件全过程测试,发现软件过程缺陷,吸取经验教训,并对软件过程改进,以达到优化开发过程的目的。

参考文献

[1]潘雪增.并行工程原理及应用[M].北京:清华大学出版社,1997.

[2]陈晓川.并行工程中面向成本的设计[M].长春:吉林人民出版社,2003.

[3]谈凤奎.基于并行工程的项目管理模式研究[J].制造技术,2003(5):21-23.

[4]Gordon Schulmeyer G.Handbook of Software Quality As-surance[M].北京:机械工业出版社,2003.

篇4:嵌入式软件工程师证

关键词:嵌入式软件;开发模式与软件架构;系统安全

中图分类号:TP311 文献标识码:A 文章编号:1006-8937(2016)06-0064-01

信息社会的互联网在发展过程中面临着越来越复杂的问题,嵌入式软件在开发和架构过程中随着功能需求的加大,嵌入式软件也更加广泛地应用于各种设备上,这种广泛的应用对嵌入式软件操作和运行过程中的稳定性和安全性问题提出了更高的要求,然而受到当前技术水平的制约,在软件开发和研制的过程中还存在着较多的问题,它与其他的软件比如说桌面软件等存在着较大的差异,由于其技术还不够成熟,因此在开发和软件架构的过程仍旧是嵌入式软件需要进行解决的关键问题。

1 嵌入式软件开发开发和架构问题简述

首先,在软件的开发阶段,为了减少系统资源的过度消耗,嵌入式的软件在代码的制作过程中主要针对的是用户使用过程中的问题,其复用度比较低,这就导致了软件在实际使用过程中实现用户多项的应用要求时发生困难,这是在开发过程中必须要进行统筹的问题。

其次,嵌入式软件在具体的应用过程中通过与硬件驱动的接口进行对接操作,由于面对的对象硬件驱动等应用对象的差别比较大,在这个过程中不同的设备之间的差异需要嵌入式软件要有与之比较高的兼容性,这需要在软件的开发过程中对常见的的对接的硬件进行操作系统进行代码的编写。

在软件的使用过程中为了解决使用过程中软件本身存在的问题以及满足新的用户要求需要对软件进行升级扩展其功能,并且保证在使用过程中软件的工作效率和安全性,需要向被嵌入的操作系统进行代码的植入,这个问题降低了软件在使用过程中的效率问题,在研发过程中,这造成软件的开发周期延长和开发效率的降低。

2 开发模式和软件架构

嵌入式软件的开发模式与一般的桌面型软件的开发模式的开发过程存在着较大的差异,它首先表现在开发过程中,它首先要考虑到代码在不同接入的硬件系统的兼容性,同时需要在代码的编译过程中交叉编译,这些问题给软件的研发带来很多问题和要求,导致在软件的研发过程中,无法灵活地适应市场的变化随时发生调整。

利用多平台的研发条件以及套件式交付的方式能够最大限度上利用研发平台和实现资源的共享,有效提高产品的质量和减少研发的时间以适应市场的需求,降低研发成本,这是未来嵌入式软件研发的趋势。

在嵌入式软件的研发过程中,准备阶段包括获取开发套件和与开发环境集成,编码的阶段是一个利用终端模拟器进行反馈的系统,在这个过程中,工程师进行相关的应用程序的编写以及进行运行程序的编译,完成后进行初步的运行和调试,通过自动写入终端模拟器进行反馈,如果有缺陷则会重新进行缺陷的部分程序的重新编写。

集成调试的反馈建立在编码基础,调试正常的编码进行应用程序的归档,归档完成后进行集成的编译,并进行运行和调试,集成的编译通过编入目标系统完成试运行,并完成整个过程的试用报告,在运行过程中如果存在漏洞则会重新进入终端模拟器寻找发生漏洞的编码并进行漏洞的修复。

嵌入式软件在应用架构过程中分为三个层面:接入层、应用层和基础层。用户通常通过三种常见的方式进入软件构架实现多种功能的应用层面,电脑接入、手机接入和遥控接入进入用户的数据管理、节能优化、充值服务以及安全控制等应用层面,应用层面通过控制、采集以及通讯等手段实现对电子锁、电器、仪表等接入系统中的控制实现用户的所要求的功能。嵌入式软件系统结构图,如图1所示。

嵌入式软件的各个层面通过协调完成设备的预定功能,通过接入目标设备的接口以及各个设备之间的实现整个系统的运行。在接口层首先存在着接入的要求,这些要求是实现功能的预设。可以通过接入以及用户的功能要求进行具体的配置制定出符合特定要求的软件系统。

进行功能控制和管理的是内核层,这个层面主要进行任务的管理和分配调度,而其他的应用组件比如网络协议和数据库等可以通过存储实现复用以尽量减少软件的进行系统烧入的时间,同时用户可以根据自己的需求进行配置,这就使得软件的应用范围更加广阔。

设备的操作层中对硬件的功能进行封装,通过提供对各种操作系统的硬件功能提供统一的软件接口能够保证软件在烧入的过程中中成功移植的关键所在,这个过程实际上也是实现了硬件操作过程中代码的复用的过程。这种方式可以应用到其他的嵌入嵌入系统的开发利用中,针对不同的芯片进行对应的编码的编写并进行存放实现对不同系统中同一功能元件的代码复用。

3 嵌入式软件开发模式和架构中有关升级和升级的 效果评估

在软件的开发模式和软件架构过程中必须考虑的关键问题就是在后期用户使用过程中的软件升级问题,嵌入式的软件适用不同类型的设备,但是其自身并不存在升级的功能,因此在使用过程中出现的缺陷和漏洞系统无法进行修复,而且在使用过程中,用户会逐渐产生新的功能需求而这种需求在软件的开发和架构过程中往往是无法预期的,这就需要利用远端进行软件的升级。

目前市场上运用的方式需要在软件在开发和架构过程中就进行控制,远端接收到嵌入软件运行过程中的漏洞以及用户发送的升级要求,针对这些问题进行相关的代码的改写以及增加功能代码的写入,这个过程中主机实现了二进制的解析以及命令的下达,需要升级的软件所在的设备实现了与主机的通信并进行数据包的传送,通过数据的传送进行软件升级的准备以及进行必要的软件漏洞和缺陷地弥补等,目前主要通过多次的数据的传输来保证传输数据的完整,同时也对文件长度进行确定保证软件省局数据的准确。

4 结 语

嵌入式软件目前已经占据了较大的市场份额,但是过高的软件研发的经费阻碍了其研究发展的进程,随着市场对于嵌入式软件功能的需求的扩大以及软件质量要求的提高,这对软件的开发模式和软件架构方式的革新提出更高的要求,这要求在软件靠法过程中实现缩短产品的开发周期和成本,另外软件复用通过在计算机系统中进行控制来实现软件研发过程中的大规模应用问题,这对软件的研发成本的降低以及更好地满足用户更为复杂的功能要求具有非常重要的意义。因此,对于软件的开发模式和软件架构的问题的研究还需要进一步的投资和工程人员投入,以实现其大规模的应用。

参考文献:

[1] 吴慧婷,綦志勇.一种简单可靠的嵌入式软件升级方法[J].信息技术与 信息化,2015,(9).

篇5:嵌入式软件工程师工作要求

无锡市瑞丰精密机电技术有限公司

任职要求:

1、电子、计算机、自动化相关专业本科以上学历。

2、掌握电子行业专业英语,能够熟练阅读相关器件英文数据文档。

3、熟悉C/C++编程语言。

4、对力学、温湿度知识有一定基础。

5、欢迎应届毕业生。

薪水范围: 1500-1999

北京江河瑞通技术发展有限公司

岗位要求:

1.计算机科学与技术及相关专业,获得硕士或学士学位的优秀毕业生;

2.熟悉掌握RTOS(WINCE、Linux等)之上的嵌入式软件开发;

3.熟悉数据通信原理,熟悉VLAN,STP等相关二层协议;

4.有一定的水利或软件行业相关专业知识背景;

5.有通信、计算机网络协议开发经验者优先;

6.有强烈的责任心和团队合作精神,具有较强的沟通及协调能力。上海华虹集成电路有限责任公司

职位描述

1、负责公司软件产品的设计/实现/编码/维护/文档编制/公共模块积累等工作,为客户提供应用技术支持。

2、协助产品应用方案的推广,反馈客户信息。

技能描述

1、有一定的软件开发经验

2、熟悉C语言、汇编语言,有单片机软件设计经验;熟悉C++、C#、Java等;

3、具有良好的逻辑思维能力、创新能力和团队协作精神;良好的沟通协调能力和服务意识;

4、熟悉智能卡的相关知识的优先;

应聘人员条件

1、熟练使用KEIL,ADS,IAR,VS.Net,Eclipse等开发环境。

2、熟悉51和ARM7架构及其软件开发和仿真调试。

北京北科亿力科技有限公司

职位描述:

电子或嵌入式软件工程师

一、岗位职责:

1、负责公司电子、工控、仪表等硬件产品的研发、优化及相关技术文档的编写;

2、负责嵌入式软件的设计、编程、测试及技术文档的编写;

3、负责公司新产品知识产权文档的编写和申报;

4、完成上级领导交办的其它工作任务。

二、任职条件:

1、本科及以上学历,计算机、电子、通信等相关专业应往届毕业生;

2、身体健康,品行端正,有较强的学习能力、团队精神和良好的职业道德;

3、熟悉单片机系统结构,精通单片机外围芯片接口技术,熟悉I2C、I2S、SPI、UART等常用接口;

4、熟练掌握C、C++,有嵌入式应用经验者优先;

5、熟悉数字电路、模拟电路及各种基本电路,熟练运用

PROTEL/Altium Designer 等软件,具备独立进行硬件原理图和PCB设计以及软硬件调试的能力;

6、至少精通ARM、AVR、STM32、8051、MSP430中一种MCU的结构和编程;

7、熟悉CC1110、CC430、CC2430、CC2530、SI4432、SI1000等无线单片机者优先;

8、可独立查阅芯片资料和文档(英文)。

三、薪资待遇

1、工资+奖金(其中应届毕业生:本科3500-4000元,硕士5000-6000元,有工作经验者工资面议)

2、法定双休+带薪年假

3、养老保险+医疗保险+失业保险+工伤保险+生育保险+住房公积金

4、午餐补助+电脑补助+出差补助

中山市钜通机电技术有限公司

发布日期: 2013-03-21 工作地点: 中山 招聘人数: 2 工作年限: 应届毕业生 学历: 大专

职位职能:软件工程师嵌入式软件开发(Linux/单片机

/DLC/DSP…)

职位描述:

1、大专以上学历,计算机软件开发专业或类似专业毕业;

2、有1年以上程序开发工作经验,或者在学校有相关实践经验的应届生;

3、精通C或C++语言,有良好的编程风格;

4、熟悉数字电路以及模拟电路,能看懂硬件图纸。

5、基以ARM的嵌入式系统软件开发,S3C2440/S3C6410开发经验,掌握文件系统、进程管理、进程通信、多线程待嵌入式LINUX编程技巧;

6、熟悉LINUX操作系统下的界面编程,以及简单的接入驱动;

篇6:嵌入式软件工程师简历范例

 本人概况

姓名:粟汝发

性别:男

民族:汉

政治面目:团员

学历(学位):学士

专业:电子科学与技术

手机:*** 联系地址:济南高新区盛福花园42栋602邮编:250101 QQ:573575817Email Address: surufa@126.com

 教育背景

毕业院校:中北大学 2009.9--2013.7 电子科学与技术专业

主修课程:模拟电子技术基础、数字电子技术基础、VB程序设计教程、C语言程序设计、C语言编程与应用、接口技术与应用、VHDL硬件描述语言与数字逻辑电路设计、可编程逻辑器件及应用

另:其他培训情况

2012年10月---至2013年3月于山西思软科技有限公司参加嵌入式软件工程师培训 培训内容:Unix/Linux、Shell、C/C++、Qt、SQLite3、Unix环境高级编程、TCP/IP网络编程、ARM体系结构与编程、Linux环境驱动编程

 工作经历

****2013年4月---至今 山东正晨科技股份有限公司****

嵌入式软件工程师

● 项目文档编写和编码测试

根据公司模板规范,编写项目的设计文档,测试文档,调试记录文档等;按照公司编码规范,与硬件工程师配合按时完成领导交代的编码任务,并做好功能接口测试。在项目最后阶段做好系统功能测试,发现问题及时记录并设法解决,解决不了的问题及时上报。

● Linux服务器维护

负责公司Linux服务器的日常维护,主要维护软件:Redmine、CVS、SVN、HTTP SERVER、FTP SERVER、进销存管理软件并做好重要内容的备份工作。

● 现场调试维护

配合现场安装人员完成设备安装调试,及时发现项目现场存在的问题设法解决,并做好调试记录。负责公司已完成项目的软件常规维护,保证系统正常运行。

 项目经验:

● DDC智能楼宇控制系统

开发环境:STM32、UCOS II、FATFS、LWIP、Keil MDK、IAP

主要职责:

1.负责LWIP协议的配置,研究STM32外扩内存的使用方法。

2.负责FATFS文件系统在UCOS II上的移植。

3.负责远程升级IAP模块,实现通过网络在线升级下位机程序。

4.参与项目编码工作,负责DDC和上位机的网络通信协议部分代码编写。1

5.现场调试,配合硬件开发人员,发现存在的问题分析原因并优化修改。● 建筑能耗数据采集器

开发环境:ARM9、Linux、SQLite3、RS485串口

主要职责:

1.开发环境的搭建,移植最新版本Linux内核的移植(主要是修改BSP文件)

2.移植HTTP、PHP、SQLite3、Telnet、SNMP等开发中需要用到的软件。

3.根据公司文档规范,编写需求文档、设计文档、测试文档。

4.负责数据采集器的采集模块,通信协议为MODBUS协议、DLT/645协议。

5.负责数据采集器的存储模块,使用数据库为SQLite3。

6.负责数据采集器的通信模块,使用RS232和网络通信。

 个人简介

篇7:嵌入式软件工程师岗位职责

2、现有软件异常问题寻找并修正,异常问题资料的总结;

3、银行新规接口式样对应,新系统对应的软件开发,以及相关软件的测试、测试文档的编写;

4、负责产品嵌入式WINCE、Linux应用程序开发;

篇8:嵌入式软件工程师证

NIST (美国国家标准技术研究院) 的研究报告称[1], 软件项目中有近80%的费用是用来纠正软件缺陷的。而美国国家科学院可靠软件系统委员会的一项研究揭示[2]:有效降低软件项目风险可从两个层面着手:其一, 发展高层次的软件结构, 限制组件之间的相互作用的复杂性。这种结构被称为软件架构。其二, 软件的行为不仅仅是软件本身, 还包括相互作用的外部环境。这个环境包括硬件和物理世界。因此, 任何软件的属性都是其中的一部分, 它定义了关于环境的假设。此外, 在自动分析方面, 软件的任何需要都应该是清晰的、明确的, 可以被捕获的。

2001年OMG (Object Management Group) 提出模型驱动体系结构 (Model Driven Architecture, MDA) 用来处理软件开发模型。MDA的核心思想是从系统使用其硬件能力的细节中分离出系统的运行规范, 提供独立于硬件平台的系统描述, 选择硬件平台并将平台无关的系统规范转换为平台相关的系统规范。MDA的思想[3]非常适合嵌入式系统的建模。作为软件工程的基于模型的工程学工具在体系结构的重要性和自动分析方面是被认可的。本文讨论这种工具———UML和AADL。它们可以促进了软件体系结构建模, 并提供元素去了解它。

1 UML和AADL介绍

UML (Unified Modeling Language的缩写) 统一建模语言, 是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化和编制文档的一种标准语言。

体系结构分析与设计语言 (architectural analysis and design language, AADL) [4]是由美国自动机协会 (Society of Automotive Engineers, SAE) 于2004年10月颁布的航空标准AS5506[4]。AADL由航电领域的体系结构描述语言Meta H演化而来, 最初被称为航电体系结构描述语言 (avionics architecture description language) 。AADL是一个建模语言, 考虑到性能关键属性, 通过一个可扩展的符号, 一个工具框架和精确定义的语义, 这个语言支持对系统的结构进行早期和反复论证。AADL为在软件开发过程中采用形式化方法提供了重要的支持, 不仅适用于航电领域, 也适用于其他应用领域, 尤其是各种具有高实时性要求的分布实时嵌入式系统 (distri-buted real-time and embedded systems, DRE) [5~7]。

2 UML和AADL的基础比较

UML通过图表集描述软件结构。这些图可以帮助软件设计师解决复杂的软件结构问题。然而, 虽然单个图在描述软件架构上是有效的, 但是UML不能完全确定图与图之间的关系。在表现软件的不同方面上, 这些图被作为单个的实体, 而不是作为一个共同体而被构造。这样, 图表的一致性还是要留给设计师来解决。尽管有这个问题, 但它还是能较好的反映程序的关系、通信需要, 以及软件设计, 所以UML在作为开发阶段, 去说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法而被广泛采用。

AADL来自于传统的计算机语言, 而不是传统的图表。AADL的前身是Meta H, 是一种创建基于语言建模的组件。AADL作为一种设计语言被发展, 不仅仅定义了软件架构的文本表示法, 而且 (更重要) 也正式的详细定义了语法和语义。在表现形式上, AADL除了文字表述外, 也允许软件设计者用图表去表示系统。AADL使用的元素总结如图1所示。

因此, AADL的描述是符合语言的语法和语义的, 并且可以通过语法和语义的分析器进行验证, 这样可以确保AADL的描述是可被分析的, 是一致的。另一方面, 一个模型的构造可以被编译器检查, 以验证它们是“合法”:例如, 一个线程不能包含进程。AADL的描述还对正确性进行了评估:例如, 定义一个周期性线程不具有指定的期间。与编译器检查程序是否有恰当的结构, 一致性和正确的语义一样, AADL描述的确认也是以这样的方式进行的, 这样, 通过AADL的描述就能够产生可执行代码。

在AADL中, 任何软件描述都是可以被分析, 并且有一个明确的解释 (作为一个将被编辑的程序) 。分析是建立在结构语言之上的, 并更多的强调明确的解释。UML和AADL的基础性比较见表1:

3 UML和AADL的扩展机制比较

UML和AADL都为构建清晰的模型而扩展新结构。

UML的扩展机制有三个:构造型 (stereotypes) 、标记值 (tagged values) 和约束 (constraints) 。UML的这些扩展机制通常定义在一个配置文件中, 代表着为特定目的建模语言。其中构造型 (stereotypes) 是UML词汇的扩充, 其表现形式如图2所示。当在某些特定的问题领域中, 没有现成的基本的UML方法可以表达时, 构造型作为特殊元素被定义。它可以有特殊属性, 也可被用来作为扩展对注释元素的描述。标记值是UML元素特性的扩充, 允许使用者创建元素规格的新的信息。约束即限制, 是UML元素语义的扩展, 允许使用者对一个UML元素添加新规则或修改存在的规则。

AADL提供了一种扩展结构名为附件, 可以为不同类别的分析, 增加辅助描述元素, 不隐藏核心元素。这些附件被嵌入到核心语言的描述中, 并且能够在它构造中创建引用。附件是语言的扩展, 这意味着, 有了附件, 编译器就需要分析附件子模型的句法和语义的完整性。AADL分析工具, 例如开源AADL工具环境 (OSATE) , 就实现了附件 (插件) 作为剖析器、名字分析器、语义检查器。它们扩展了对核心语言的基本检查, 并且在级联综合编译过程提供充分的一致性验证。

有了附件后, AADL定义属性集扩展。在某种程度上, AADL扩展属性的设置类似于UML的标记值。然而, 由于所使用的语言不同, 属性的扩展使得涉及其他语言的结构、定义他们的类型或继承其他属性都变得可能。

UML和AADL的基础性比较归纳见表2:

4 UML和AADL的使用领域比较

传统的UML主要侧重于三个方面的功能结构:数据, 交互, 语义。其中数据是用类图来模拟的, 类是UML中数据建模的核心构件。交互是通过序列图和协作图来建模的, 这些图描述了一个应用程序在特定任务中的那些类的相互作用。上下文语义明确定义了的一种可以明确的描述系统的状态和转变的模型。语义元素也是嵌入有对象的状态图的易用的典型模型。

从2007年开始, UML社团一直致力于研究能够多角度分析模型系统的验证属性。对于嵌入式系统而言, 在这个方面的两个主要成就是Sys ML和MARTE的轮廓。Sys ML允许在一个数学模型和基于该模型的属性确认中捕获物理层面的交互, MARTE则有意增加了建模在验证实时性方面的性能, 例如及时性和可调度性。

Sys ML从根本上提供了两种新图:要求图和参数图。其中要求图支持对要求和可追溯性的强烈关注, 而参数图表达了软件和环境之间的关系。使用参数图, 设计人员可以模拟可被验证的数学层面的软件环境的关系, 例如, 软件是否可以控制环境或其他属性。参数图建模的重点是持续时间, 但计算是瞬间的。当理想模型转变成真正的可执行软件时, 这种重点的转变是不利的。因为非瞬时的执行危害着分析的正确性。

MARTE轮廓的主要目的是, 在不同操作系统下使用速率单调理论和代码生成, 去分析实时属性。在MARTE中, 多种构造型 (stereotypes) 被定义。这种新的构造详细说明了, 如何模拟三个方面的元素:软件资源模型、硬件资源模型和软件模型到硬件模型的分配。这种对资源的建模是基于速率单调的理论, 并包括了通用操作系统API和特殊操作系统API之间的映射, 使之能够自动的产生代码[6]。使用MARTE, 设计者可以利用多功能性、运行时间和硬件图去模拟系统。然后, 图表之间的联系就是模拟从一个图到其他图的实体分配。只不过, 图之间的一致性是留给设计者的。不同MARTE系统的平台搭建的差异性如图3所示:

AADL的核心重点是运行时体系结构建模和分析。运行时体系结构是一种软件结构, 它定义了最终执行的指令序列。这个结构的定义包括线程, 进程, 处理器和它们之间的相互作用 (数据, 事件和事件数据通信) , 这种相互作用封装了他们执行的功能模块。运行时架构用具体的特征属性来体现软件系统, 特征属性有如及时性, 容错性, 或安全性。

AADL的语义是一种通过编译器强制检查的技术, 是一种明确的执行语义, 这种语义在标准文档中被作为一种混合自动机而被详细定义[8]。混合自动机是一种数学模型, 它描述了软件和物理过程是如何相互作用的。在AADL中的这种可执行编码模型是被嵌入式开发者使用较多的一种结构, 它也被作为实时系统的理论假设, 例如它被编码成周期性的或非周期性的线程, 周期性的采样数据, 通信的状态变量, 基于事件的控制转移[9], 内存和时间隔离策略等。

AADL扩展使用范围表现在错误附件和行为附件上。错误和行为附件是目前对于语言而言的标准附件。错误附件能够被细化, 体系结构中的潜在错误被状态机描述。动作附件允许功能行为被描述, 使模型检测类型能够从形式上得到确认。另外, 附件机制的灵活性也可让设计人员基于需要添加准确的扩展。

5 小结

嵌入式实时系统中要利用UML图在通信方面的优势, 配合使用AADL建模与分析, 以及AADL在运行时体系结构中的精确性, 从而创建一个强大的组合。更重要的是, UML和AADL的结合能从Sys ML的物理建模能力和自动分析的潜力、UML的功能性建模能力、AADL的运行时建模和分析能力, 以及MARTE和AADL的错误附件四个方面减少嵌入式实时系统在核心方面的风险, 提高可预测性。

降低软件风险的方法是:改进“测试基础设施, 使其能够更早更有效地识别和减少软件缺陷”[10]。使用UML和AADL建模与分析, 可以为软件设计师在软件的结构和行为上提供重要的洞察力。

参考文献

[1]National Institute of Standards and Testing.The Economic Impacts ofInadequate Infrastructure for Software Testing (May 2002) PlanningReport[R].2002-3.

[2]Daniel Jackson, Martyn Thomas, Lynette I.Millett.Software forDependable Systems[M].National Academies Press, 2007.

[3]Feiler PH, de Niz D, Raistrick C, Lewis BA.From PIMs to PSMs[A].In:Proc.of the 12th IEEE International Conference on EngineeringComplexComputer Systems[C].Washington:IEEE Computer Society Press, 2007:365-370.

[4]P.H.Feiler, B.Lewis, and S.Vestal.The SAE Architecture Analysis andDesign Language (AADL) Standard:A basis for model-basedarchitecture-driven embedded systemsengineering[A].In Proceedings oftheRTASWorkshoponModel-drivenEmbeddedSystems[C].2003:1-10.

[5]FEILER P H, GLUCH D P, HUDAK J J.T he architecture analysis&design language (AADL) :an introduction[R].[CMU/SEI-2006-TN-011], 2006.

[6]P.J.Denning and A.McGettrick.Recentering Computer Science[J].Commununications ofthe ACM, 2005, 48 (11) :15-19.

[7]TOKAR J L Architecting dependable systems with the SAE architectureanalysis and description language (AADL) [C].Proc of Workshop onArchitecting Dependable Systems IV.Berlin, Heidelberg:Springer, 2007:1-13.

[8]TILMANJ F Buildingtool suite for AADL[EB/OL].[2008-12-03].http://www.springerlink.com/content/4bq43j8g505wk48e/fulltext.pdf.

[9]Peter H.Feiler, David P.Gluch, John J.Hudak.The ArchitectureAnalysis&Design Language (AADL) :Technical Note[R].CMU/SEI-2006-TN-011, 2006.

上一篇:综合材料表现下一篇:寒亭街道中心小学网上祭英烈活动总结