人人范文网 岗位职责

嵌入式软件岗位职责(精选多篇)

发布时间:2020-11-29 08:36:17 来源:岗位职责 收藏本文 下载本文 手机版

推荐第1篇:嵌入式软件工程师

嵌入式软件工程师

目录

1 简介 2 待遇 3 职业要求 4 发展前景 5 职业发展

1 简介 2 待遇 3 职业要求 4 发展前景

5 职业发展

1 简介

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

嵌入式软件工程师就是编写嵌入式系统的工程师。 2 待遇

IBM、微软、华为、Yahoo、联想、搜狐、亚信、花旗...2010\'应届毕业生就业安置计划火热启动:先实训后上岗,转正年薪50000元。 3 职业要求

应具备哪些能力

最直接的方法,就是去根据各公司,招聘网站的嵌入式软件工程师的应聘要求来分析

我帮你总结下:

1.最重要的是C语言编程,以及C++,这个与你读程,应用,开发项目,做系统移植息息相关;

2.操作系统: LINUX,WINCE等,至少学习过一种,(目前主流的还是Linux)并且还需要对些基础知识有蛮多的了解;

3.对ARM,FPGA,DSP等这些硬件比较了解。(目前主流的是ARM,像三星,华为,小米等大型的生产厂商最底层的硬件用的都是ARM)

这是最常规的条件

当然,最主流的一般就是LIUNX.同时具备一些基本素质,像英语能力,有相关的项目经验,也很重要

推荐: 你可以去按照招聘要求分析,也可以按照培训机构的培训目的,方向,内容来分析得知,像海同科技就是蛮不错的.算得上是业内的领军企业.4 发展前景

嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。

权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。 做软件实际上有高下之分,开发语言从机器语言、汇编到C、C++,再到红透半边天的Java、C#等,该学哪种呢?为什么有些开发者工资低,而有些开发者千金难求?为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?

还是门槛,比如月薪15k的Linux嵌入式开发职位,门槛就有 Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等,粗略数数就有8道关口,他需要非常熟悉整个的计算机体系,能做出实际的产品,而Java的开发者却仅仅是会使用名叫Java的语言工具,始终高高飘在众多层次之上,开发项目非常快,甚至可以不知道OSI模型,很可能自始至终都是软件蓝领。

嵌入式开发本身也有高下之分,至少包含嵌入式应用程序工程师和底层的驱动内核工程师两种。前者同样是使用现成工具进行简单劳动,比如使用J2ME开发小游戏或者进行一些界面开发,而后者是根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码。很显然后者是一个公司真正的技术核心。而技术核心的工资很可能是其他开发者的数倍。

嵌入式开发突出强制和项目,学习不仅仅是学习几项技术,而是构建你的知识体系。比如学习嵌入式开发,就要从基础Linux,C语言,数据结构开始,到ARM,汇编,Linux内核、驱动等,更重要的是更多的项目练习,设计至少5个项目,多达10000行强制核心代码的编写可以让你真正获得知识。为进入外企或者出国做准备。

未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。1999年世界电子产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。 5 职业发展

从个人整体发展来说,如果想创业,做自已的产品,嵌入式软件开发可以开发出专利产品。

另一个发展路径是:积累丰富开发经验的嵌入式软件开发工程师可以向嵌入式系统开发工程师发展,从而晋升为产品研发经理或IT项目经理。对测试理论和方法有一定了解的嵌入式软件开发工程师还可以转作嵌入式系统测试工程师,最终也可发展为IT项目经理

推荐第2篇:嵌入式Linux底层驱动软件工程师岗位职责

1.负责按照总体设计完成模块详细设计说明书。2.完成模块代码编写、内部测试工作。3.协助硬件设计人员及应用软件设计人员进行系统开发与调试。4.根据技术支持需求进行软件代码维护。5.编写相关技术文档,并对有关人员进行培训。

推荐第3篇:嵌入式软件面试基础

今天老大让我针对一个面试者出些嵌入式方面的面试题,主要是想对他的技术深度进一步了解。我就出了下面这些问题,每个问题背后都是考察一个嵌入式程序员应该具备的相关技能。当然这些只是我的个人理解,不一定正确。在此与大家分享,只是希朋友们能够得到一点点启发:如何抓住每一个契机展现你的与众不同?同样的技术问题,很多人可能都能够回答得对,但有些人只是知其然而不知所以然。其实面试官每一个问题背后通常都隐藏着一个考察点。如果我们能够透过问题看到背后的实质,在回答出答案的时候还能够借机发挥,我相信90和100分的差别就出来了。哪个面试官不喜欢招一个喜欢思考、能透过现象看本质的员工呢~

下面我们来看看嵌入式C面试题背后到底藏何玄机~。以下仅是个人的一些想法,

欢迎大家讨论,拍砖的轻点~~

////////////////////////////

1、int a=2,b=11,c=a+b++/a++; 则c值为多少?

【考点】编码规范。

表面上考察你对运算符优先级的掌握程度,但实际上优先级这些玩意很难死记硬背得住?大家的疑惑不就是运算符的结合顺序么?那么如何去避免呢?

c=a+((b++)/(a++))不就行了么,其实问题背后考察的是你的编码规范,如何写清晰易懂的代码,如何在一个团队中让自己的代码狠容易毫无偏差的让新人看懂~

2、Static用在全局变量定义和函数内部局部变量定义有何区别?

【考点】编码规范及模块化设计。

Static变量的两个属性涉及存储位置及可见域。在大型的程序设计中static全局变量可以有效的避免名字空间的重复及无意的变量引用,这样可以有效的提高程序设计的安全性,同时也利用模块化作业

3、在程序设计中哪些地方需要使用define?如何用define来定义一年内有多少小时的常量?

【考点】可移植性。

嵌入式程序设计的特点就是软硬件平台可变性,有效利用define常量可以提高程序的可移植性,这样改动方便,不易出错

4、Define宏语句和inline函数有什么区别?

【考点】时空效率及宏的副作用。

嵌入式系统平台通常存储资源有限,但同时又对实时性有一定的要求,二者如何权衡需要考虑。Define宏语句相对于函数调用能提高运行时间性能,但消耗了空间,并且不标准的宏语句定义在不标准的编码中更容易出现副作用,因此inline函数则是define语句的完美替代品。小资金干大事正是嵌入式的终极目标!

5、哪些地方可以用到const?const变量和函数输入参数用const修饰有哪些作用?

【考点】程序设计可靠性。

Const只读变量可以有效克服define常量的一些弊端,如无类型安全检查。Const形参可以有效避免程序内部更改无意的更改。人非圣贤孰能无误,所以我们要将这些可能的失误统统交给智能的编译器,这样就可以将错误扼杀在摇篮中

6、Int,short,char在32位平台下各占几个字节?一个结构体含有int、short、char变量各一个,结构体占据的总内存空间多少?

【考点】跨平台移植。

嵌入式并非x86,其硬件平台具备很大的差异性,同为int在不同的架构体系下可能占据的字节数是不一样的。不同的平台也有不同的编译器,其在变量对齐方面可能有不同的特性。因此在结构体定义时如何设计成员变量的顺序以有效减少占据的内存空间,以及如何填充特定字段保证访问对齐问题,都是嵌入式系统结构体设计时应该考虑的跨平台可移植性问题

7、如何将unsigned int明确定义为一个32位类型?define和typedef有何区别?

【考点】跨平台移植。

define和typedef都可以实现变量类型重定义,但是typedef类型的指针变量可以有效去除变量定义的二义性。在嵌入式的工程项目中,通常为了保证数据类型的统一且便于跨平台移植时修改数据类型方便,通常都会单独定义一个数据类型的头文件,把所有用到的数据类型typedef成所熟悉的形式

8、有没有用过volatile?有哪些典型的适用场合?

【考点】编译优化的副作用。

通常为了提高程序运行的效率,编译器会自动进行一些优化,如将变量放在寄存器中,以减少存储器访问次数,在数据长期未变时不重新读取内存等等。但是优化有时会带来问题,如硬件寄存器、多任务共享变量、中断和主程序共享变量,优化有可能带来数据访问不一致性的问题,因此对于这些个别变量,我们需要用volatile声明告诉编译器取消优化

9、参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?

【考点】编译优化、调用性能、接口设计。

每种体系结构及对应的编译器对参数传递都有自己的规定。参数传递并非总是通过堆栈进行的,参数入栈出栈是需要耗费时间的,编译器总是尽量优化利用寄存器来传递参数,因为寄存器的访问效率要高,但当参数过多时,将放弃优化从而用栈传递参数。因此为了提高调用性能,应尽量减少参数个数,太多时可以将所有参数重新定义为一个结构体,利用结构体指针来传递参数。在函数接口设计时应考虑硬件平台和编译器的特性,以灵活定义参数形式

10、中断服务程序设计应注意的问题?中断触发方式的选择?中断处理太长怎么办?中断处理程序如何与主应用程序交互?

【考点】中断服务程序设计。

嵌入式程序最大的特点是经常需要和硬件打交道,中断是接收外界输入的典型方式,通常都决定了系统运行流程,因此如何高效不丢失的处理中断是每个嵌入式程序员应考虑的问题

11、TCP/IP和OSI七层模型是如何划分的?各层的功能,这么设计有什么好处?

【考点】层次化软件设计保证可移植性。

分层模型最大的好处就是某一层变化了,只要其提供上层的接口未变,那么上层就无需做任何改动。因此只需要更改本层的实现即可。嵌入式平台因为软硬件多变性,为了最大限度的利用先前的成果,软件设计一定要遵循这种层次化模型,这样才能保证其可移植性

12、TCP和UDP的区别?各种网络互连设备都用在哪一层?如何建立链接?如何进行拥塞控制?

【考点】协议设计可靠性及缓冲区设计管理。

TCP和UDP的最大区别在于可靠性,TCP通过三次握手协议及超时机制安全可靠的建立或者释放连接。协议设计最大的问题就是如何保证效率合可靠性,TCP的设计为我们提供了一个参考。而滑动窗口机制可以有效的进行拥塞控制,但窗口大小的设计则关系到内存利用率及缓冲效率可靠性等问题。在嵌入式的驱动程序设计中,经常会开辟缓冲区来进行流量控制及防止数据覆盖,缓冲区的大小设计则需要更加具体的应用情况设计才能保证可靠性合灵活性

推荐第4篇:嵌入式软件工程师简历

程轩

性别:男年龄: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绑腿大赛获得二等奖

个人评价

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

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

 适应力和团队合作意识强。对工作认真负责,能承受工作压力 热爱挑战,不畏困难,曾组团骑单车从南昌到九江。单人骑车从厦门到深圳。

推荐第5篇:嵌入式软件工程师个人简历

嵌入式软件工程师

个人信息:

姓名:董国杰

学历:本科性别:男 专业:电子信息工程现居住地:上海市浦东新区出生日期:1991.1.1

手机:电子邮件:

自我评价:

性格乐观严谨,行为处事态度认真,力求完美,喜欢钻研,尤爱软件开发等科研性知识学习。喜欢团队合作,善于观察身边人事,发现各人特点,利于团队交流。不喜欢个性张扬,追求更多不断提升自己,锻炼自己的机会。 求职意向:

Linux系统开发、C语言、C++、数据结构、驱动、ARM、Linux系统移植 技术方面:

 熟练使用C、C++语言编程及程序调试工具,充分理解面对过程与面对对象

的编程思想。

 熟悉TCP/IP、UDP网络协议等Linux操作系统知识,有Linux下OICQ局域

网聊天项目编程经验。

 掌握使用QT进行界面化编程的基本方法。

 了解Linux内核裁减和移植的基本知识。

 基本了解驱动程序基础知识,能够编写基础的驱动程序。

 了解基本硬件知识。

学习经验:

熟练掌握C语言、C++语言编程,对Linux操作系统下的程序编写基本熟练,能够使用gdb、gcc进行程序调试,了解arm等底层以及硬件相关的基础知识,能够完成基本的驱动程序编写以及掌握基本的内核裁剪、移植等相关知识。 运用所学知识独立完成相关项目如下:

1.火车订票系统

平台和开发环境:

linux系统+Gcc+Gdb

项目功能:

使用终端命令界面,作为系统的输入输出界面。系统运行时把信息保存在内存中,系统退出后保存至文件。实现对列车车次、车站以及用户信息、和订票、预订票信息增加、删除、修改、查看等功能。设计管理员权限以实现对车次、车站的增删修改和对用户信息的管理。

模块化设计:

分为车站、车次、乘客、管理员等模块实现各自功能,使程序清晰易读。

2.基于linux的局域网OICQ聊天系统

平台和开发环境:

Linux系统+Gcc+Gdb

功能描述:

基于linux系统实现多客户端局域网的通讯功能。系统包含客户端和服务端。

服务端功能:

1、接受用户注册、并实时保存信息至数据库中。

2、对登录用户进行认证。

3、动态维护在线用户列表。

4、及时为每个在线客户端更新在在线好友列表。

5、非在线用户的消息数据缓冲。

客户端功能:

1、客户端注册登录功能

2、客户端使用心跳机制维持与服务端的连接,并随时更新客户端基本信息。

3、客户端与其他的客户端之间的消息数据的封包和收发。

4、保存聊天信息及通信时间。

使用技术:

完成配置文件读写规则,服务端和客户端日志记录,使用TCP协议完成客户端与服务端的通讯,使用I/O复用机制完成服务端一对多链接,完成应用数据协议的封包解包、使用心跳机制维护客户端与服务端得链接,使用TCP协议实现客户端的通信。

3.英汉词典(c++项目,QT界面)

平台和开发环境:

windows系统,QT

项目描述:

在QT界面下,基于C++面对对象的封装、继承、多态特性实现英语单词查询,添加生词本,增加、删除、修改生词功能。

功能实现:

1、根据单词查询输入框中用户用户输入的单词的变化动态的从单词库中

读取相关内容动态显示在输出文本框内。

2、将要查询的单词加入生词本并弹出相关提示信息。

3、查看生词本显示所有已经添加到生词本的生词。

4、实现生词本的增、删、改、查功能。

5、实时更新保存生词本。

4.linux系统移植

平台和开发环境:

Linux系统、arm9三星mini2440、arm+linux+gcc交叉编译环境

项目描述:

完成基础的Linux内核的裁剪,环境配置,编辑,和烧写。

教育背景:

2009年9月—2013年7月郑州航空工业管理学院电子信息工程专业

所学专业课程:

C语言,通信原理,Matlab,电路基础,模拟电路,数字电路,单片机原理及应用,EDA,信号与系统,数字信号处理,微机原理及接口技术等课程,基本掌握软硬件基础知识

证书及技能:

 大学英语四级证书

 电子线路CAD高级工程师证书

 嵌入式工程师证书

推荐第6篇:嵌入式软件工程师课程

课程体系

在实训项目经理的带领下,通过完成多个企业级项目(基于ARM的串行数据无线传输系统、基于ARM的无线数据采集系统、基于ARM的GPRS应用系统)的分析、设计和开发,掌握开发企业级软件项目过程所需的设计规范、开发流程、质量控制及项目管理。 阶课程主题与段

实训内容

第Unix开发环一境、开发规范阶培训 段 Unix系统原

理、Unix开发环境、Unix常用命令 Oracle数据库 Oracle 10数据库原理、SQL语句、数据库表及索引 PL/SQL语法,存储过程,存储函数,触发器等 C++核心 数据类型,控制语句,自定义数据类型,模块化程序设计,指针 类与对象(封装性)类的扩展,继承,虚函数,多态 数据结构和算法、标准库 链表、栈、队列、二叉树、算法 IO、异常、模版(STL) OOAD 面向对象分析

实训目标

熟练Unix下的C/C++开发环境,掌握常用的命令

熟练掌握Oracle 10G下的SQL开发,精通PL/SQL等

熟练掌握C基础语法,函数的编写和调用 掌握面向对象编程的三个特性,并熟练应用OO思想

掌握各种数据结构的实现,并了解常用的算法

掌握多种设计模式

实训项目

Unix下的定时任务

基于Oracle,完成计费系统的数据整合,包括表的创建,数据的录入以及整合等

完成银行项目的类结构设计,深入理解面向对象编程

双赂链表数据结构实现

完成银行项目的UML设计,并能使用

和设计的方法 了解软件研发的整个过程,能够熟练使用UML设计模式进行优化

UML图 设计模式 项目实训 银行项目

第Shell编程 二Shell编程语阶法

段 Unix环境编

程和开发工具 用户信息,文件操作,目录操作,时间处理

make,makefile,gdb

进程、多线程 创建进程 子进程 信号 消息队列车 共享内存 信号量 线程的创建、线程的状态 多线程编程 线程间的通信 线程同步 线程池编程 网络编程和数据库编程 网络基础 TCP/IP协议 基于TCP和UDP的网络编程 Pro★C数据编程 项目实训 计费系统采集和整合模块 第ARM系统体

进行分析和设计

完成银行前台业务,包括基本的存取款和转账等

掌握Shell编程技术

掌握和环境编程相关的函数,并能熟练使用编程工具

掌握进程和多线程编程

掌握网络编程,并能编写支持多客户端的服务器软件

熟练掌握Oracle MySQL等数据库的连接和数据访问

掌握计费系统后台业务流程,综合使用所学知识点,完成计费数据采集和整合

银行项目提升和整合

编写Shell脚本完成FTP功能

计费系统数据采集

计费系统C/S分布式架构的设计,掌握线程池的应用

计费系统集中式数据模块,该模块完成数据集中化并录入到ORACLE中

Billing系统提升和整合

三系结构 阶ARM处理器段 体系结构

ARM编程环境

指令系统以及寻址方式 调试 ARM系统编程

过程调用的标准

汇编程序以用C程序之间相互

调用的技术 异常中断技术 ARM体系中C语言程序设计的基本知识 FLASH操作 嵌入式Linux构建 嵌入式Linux开发环境构建 BootLoader引导程序 Linux内核代码移植 交叉编译、内核调试 嵌入式Linux内核开发 内核源代码架构 内存管理 进程管理、中断管理 内核同步 信号、调度、进程间通讯等 文件系统

对嵌入式系统了解,掌握ARM的编程模型

掌握汇编程序与C程序之间的互相调用,精通ARM体系中C程序的基本知识 掌握FLASH操作

掌握BootLoader引导程序 熟悉交叉编译和内核调试

掌握进程编程、进程间的通讯 精通内存管理 熟悉文件系统

驱动程序开发环境

驱动程序语法基础

BootLoader引导程序

驱动程序理论准备

嵌入式Linux驱动程序开发 Linux设备驱动程序概述 字符设备驱动程序开发 串口、SPL、LLC A/D转换、定时器 Linux驱动程序开发高级 A/D驱动程序编写 矩阵键盘驱动程序编写 块设备驱动程序开发 网卡驱动程序开发 USB设备驱动程序开发 项目实训 基于ARM开发板的Linux设备驱动程序研发 第企业实训 四基于ARM的阶串行数据无线段 传输系统,主

要有以下三个方面的运用:点对点控制;点对多点控制;中继传输

掌握字符设备驱动程序开发 熟悉串口、SPL

驱动程序总体分析和设计

熟练掌握矩阵键盘驱动程序和网络设备驱动程序开发

网络设备驱动程序提升

综合运用所学知识,特别是ARM,编写驱动程序

驱动程序研发

参与完成实际项目,积累软件开发经验,经历完整的软件开发过程:需求、软件分析设计、编码、调试,交付。

串行数据无线传输系统

长沙牛耳教育地址:长沙市五一广场文运街省电教馆二楼(口腔医院左侧)| 牛耳教育求学热线:

0731-82221222转816 | 牛耳教育网站地图

培养方案

基于安博集团大量的数据调研,该课程专注于培养基于嵌入式Linux平台,以嵌入式系统的软件开发为主,培养学生在嵌入式领域进行软件开发、软/硬件测试、系统维护等方面的综合技能,旨在为社会提供嵌入式软件开发、产品测试、技术支持等方面具备优秀的职业素养的实用型、技能型人才。精通ARM嵌入式系统的驱动程序开发、操作系统移植、熟悉基于ARM的串行数据无线传输系统、基于ARM的无线数据采集系统等面向不同行业的专用嵌入式应用系统的开发。通过该实训课程,实训学员能够积累1-2年的软件开发经验。

课程简介

嵌入式软件工程师培训课程,由安博教育集团联合多家知名厂商,并由安博教育实施专家团队和精英教师团队发起,共同开发完成。

通过该课程的学习,学员熟练掌握Linux平台下的嵌入式软件开发技术,并通过项目实战积累工作经验,进而获得高薪、有广阔发展空间的工作机会

就业方向

能够胜任软件公司中的嵌入式工程师、C/C++软件工程师、数据库工程师等相关职位。

安博牛耳嵌入式软件工程师培训课程,由安博牛耳教育集团联合多家知名嵌入式厂商,共同开发完成。通过嵌入式软件工程师课程的学习,学员熟练掌握Linux平台下的嵌入式软件开发技术,并通过嵌入式项目实战积累工作经验,进而获得高薪、有广阔发展空间的嵌入式软件工程师工作机会

嵌入式软件工程师课程专注于培养基于嵌入式Linux平台,以嵌入式系统的软件开发为主,培养学生在嵌入式领域进行软件开发、软/硬件测试等技能,旨在为社会提供嵌入式软件开发、嵌入式产品测试、嵌入式技术支持等方面具备优秀的职业素养的实用型、技能型人才。精通ARM嵌入式系统的驱动程序开发、嵌入式操作系统移植、熟悉基于ARM的串行数据无线传输系统等面向不同行业的专用嵌入式应用系统的开发。通过嵌入式软件工程师实训课程,实训学员能够积累1-2年嵌入式软件软件开发经验。

推荐第7篇:嵌入式软件系统方向

嵌入式软件系统方向

1.培养目标:

本方向以培养学生能够独立进行嵌入式软件设计开发能力为目标,通过模块化的学习,使其具备扎实的技术基础、良好的技术素质和优秀的技术应用能力。本专业要求能够掌握嵌入式体系结构、汇编指令集、开发环境及嵌入式操作系统,对嵌入式的技术体系有深入的理解和掌握,并具有较强的项目开发、技术创新、项目管理能力以及团队协作精神,能够独立胜任嵌入式软件设计与开发工作。

2. 培养技能:

1) 培养学生掌握嵌入式体系结构、汇编指令集、开发环境及嵌入式操作系统、对嵌入式的技术体系有深入的理解与掌握。

2)使学生掌握嵌入式开发环境及各种调试方法,掌握ARM体系结构;

3)培养学生熟练掌握嵌入式C开发项目的应用基础知识、对嵌入式交叉开发有初步的认识;

4)培养学生掌握操作系统中的内核结构,掌握LINUX的基本操作及应用;

5)通过实训项目,使学生对企业项目的开发及管理模式有深入的理解及体验,具有更强的项目开发及团队合作能力;

6)让学生通过职业素养的熏陶及培训,获得良好的职业素养、规范的职业工作习惯以及较强的工作能力;

3.主要方向课程(软件工程专业的必修环节外):

 LINUX系统及其编程

 嵌入式软件设计

 嵌入式系统原理

 嵌入式方向企业定制课程

4.就业趋势:

随着消费家电的智能化,嵌入式更显重要,像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。因此嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,权威部门统计,我国目前嵌入式软件人才缺口每年为40万人左右,未来随着“三网融合”不断提速,手机、数字电视、信息家电、网络电话、汽车电子、医疗电子等都将是嵌入式软件的重要应用领域,嵌入式开发人才将会越发抢手,将是未来几年最热门和最受欢迎的职业之一。

就业岗位类型:1) 嵌入式软件工程师;2) 嵌入式系统设计工程师;3) 嵌入式系统测试工程师;4) 嵌入式产品技术支持工程师等

可胜任具体如下岗位:嵌入式网络工程师、嵌入式系统软件开发工程师、嵌入式LINUX应用开发工程师、嵌入式LINUX驱动开发工程师、WinCE应用开发工程师、WinCE驱动开发工程师、J2ME应用开发工程师、技术支持工程师、市场类嵌入式行业咨询师、嵌入式产品销售人员、嵌入式项目拓展经理、嵌入式产品管理经理、嵌入式项目开发经理

推荐第8篇:软件岗位职责

高级java工程师

任职要求:

1、计算机相关专业大专以上学历,三年以上的java或android开发经验;

2、具有一定的编程能力,会使用Eclipse开发工具;

3、熟悉openGL优先;

4、熟悉android开发优先,会android sdk使用,编译调试;熟悉android组件;

4、热爱软件开发工作,工作细致认真,有耐心;

5、具备较强的逻辑分析及学习能力,有良好的团队合作意识,有强烈的责任心和积极主动的工作态度,较强的沟通能力

驱动工程师

任职要求:

1)有从事过linux,android系统开发经验者优先;

2)熟练掌握一种CPU的体系结构,具有较强的分析和理解源代码的能力,熟悉ARM优先;

3)具备硬件开发能力者优先,能够分析和优化驱动的性能,针对特定硬件扬长避短;

4)能够独立完成驱动的功能开发任务,精通至少两种驱动,包括3G,LCD,Audio,Video,Memory,USB,Power manager等;

5)精通3G/网络/通信开发者优先;

6)能够读写英文技术资料;

7)具备良好的沟通能力和团队合作意识,熟悉项目管理流程,能承受一定的工作压力;

测试工程师

任职要求:

计算机、通讯、电子等相关专业大专以上学历,1年以上软件测试或Android系统软件测试经验;

熟悉软件测试流程与测试方法;较强的文档撰写能力;

性格稳重,态度端正,工作严谨细致,责任心强;

善于分析思考,有较强的自学能力,有较好的团队合作意识。

高级(自动化)测试工程师

任职要求:

计算机相关专业本科以上学历,三年以上的软件开发或测试经验;

具有一定编程能力,至少熟悉一门语言,C或者java优先;

了解手机、平板电脑应用行业,熟悉Android, symbian、BlackBerry、WindowsMobile、iOS、MTK等任一平台,Android优先;

熟悉软件测试流程与测试方法,较强的技术文档撰写能力;

具有自动测试工具和性能测试工具的应用研究经验,Android平台相关经验优先; 热爱软件测试工作,工作细致认真,有耐心;

具备较强的逻辑分析及学习能力,有良好的团队合作意识,有强烈的责任心和积极主动的工作态度,较强的沟通能力和表达能力。

有协议测试经验、有接口测试经验、有性能测试经验优先。

推荐第9篇:嵌入式软件工程师工作要求

嵌入式软件工程师工作要求

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

任职要求:

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、STM

32、80

51、MSP430中一种MCU的结构和编程;

7、熟悉CC1

110、CC430、CC2430、CC2530、SI4

432、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操作系统下的界面编程,以及简单的接入驱动;

7、责任心强、工作认真,具有良好的沟通能力。

推荐第10篇:嵌入式软件工程师评估题目

1.计算下列C语言表达式的值

0x34 & 0x78值为______

100 = = 0x64值为______

0x8 | 0x70值为______

0x55 ^ 0x88值为______

1 && 2值为______

strlen(“Hello!”) 值为______

sizeof(char)值为______

32位系统上, sizeof(long)值为______

0x20

!99值为______

2.用C语言预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 3.ARM指令是多少位的?

4.关键字volatile在C语言中有什么意义?

5.关键字const在C语言中有什么意义?

6.关键字static在C语言中有什么意义?

7.写一段C语言代码,动态申请128K内存,并将前面100个字节初始化为00xFF.

8.写一段C语言代码,用递归的方式实现阶乘函数

阶乘的定义: n的阶乘 = 1 * 2 * 3 *„ „ * (n-1) * n

9.写出下面C语言代码段的输出

#include \"stdio.h\"

#include \"stdlib.h\"

void main(void)

{

int a, b, c = 3;

int *p;

p = &a;

*p =1;

b = a+1;

printf(\"a=%d, b=%d, c=%d\", a, b,c);

}

10.翻译下面英文为中文

i.MX31L is a high performance embedded RISC proceor based on ARM11 core from Freescale.It is a high-speed, low power consumption proceor.Windows CE is a generic OS for embedded system by Microsoft, which is a small footprint, modulized, customizable and reliable OS.

In this paper, an embedded system using i.MX31L as hardware platform, Windows CE as operating system, NAND Flash as storage medium is described.The memory acce for RAM and NAND Flash was designed to be flexible and extendible.The Flash bad-block management,

Flash acce control, mutually exclusive acce, storage of OS image, OS loading, NAND Flash driver, FAT file system were implemented.A two-level OS loader, a USB upgrade tool and a selftest for manufacturing check were implemented.The performance of file system was extensively evaluated, and being further optimized.Moreover, the defect of NAND Flash controller of i.MX31L was discovered during implementation stage.The defect was solved succefully with software workaround.A mature solution for ma production was resulted.

第11篇:嵌入式软件工程师如何学习

嵌入式软件工程师如何学习

嵌入式工程师如何学习

嵌入式行业,技术的更新是非踌的,每一位工程师都需要在中不断的更新自己的知识,掌握技术动态或者解决自己中遇到的问题,以下是嵌入式软件工程师获取新知识的一些方式,也给即将成为嵌入式工程师的你一些好的建议:

去相关专业网站上学习:

调查数据显示,在嵌入式工程师经常关顾的网站中,CSDN和21IC所占的比例最大,分别为23%和18%,而这两个网站也分别代表了编程开发人员以及电子工程师两类人群,而嵌入式在线、电子工程专辑、电子产品世界、EDN、IT实验室所占比例均为10%-15%左右。

嵌入式工程师通过其它途径获取行业信息:

调查数据显示,“技术图书、专业论坛、业内门户网站、搜索引擎”是嵌入式工程师获取知识的主要途径(接近70%),其中各项所占比例分别为20%、16%、16%、14%,网络已经成为嵌入式工程师获取专业知识的主要途径。除了以上4大途径外,部分工程师也会通过培训、厂商网站、博客/群组、杂志/期刊/报纸、行业展会/技术研讨会以及电子邮件订阅等途径获取信息。牛耳教育提供的免费电子图书、视频教程等资料每年下载次数已达到十多万。

搜索引擎是各类工程师最好的老师:

xinpujingyulecheng89.com E0DNK

对搜索引擎的使用调查中,百度虽然占据国内搜索引擎市场绝大部分的市场份额,但超过60%以上的嵌入式工程师们却明显偏爱于使用google,造成这一结果的原因是,工程师们可以从国外的网站获取更多技术资料以及学习资料。同时我们也可以得出这样一个结论:在嵌入式这一高端领域的学习中,因为很多技术资料都是英文的,所以要及时了解技术发展、学习相关的技术,开发者具备一定的英文阅读能力是非常有必要的。

xinpujingyulecheng89.com E0DNK

第12篇:嵌入式研发工程师岗位职责

1.领导本部门实施产品开发、研制工作,制订开发计划。2.执行方案,并进行产品鉴定,生产转化,技术规范制定工作。3.积极关注行业发展动态,积累研发素材。4.总结产品研发经验,持续改进产品性能。5.主持产品技术转化和制造技术交底工作。6.为产品的投标提供技术支持。7.为代理商与合作伙伴的产品提供技术支持。8.根据用户或公司其他部门的要求进行设计修改和设计改进。

第13篇:周立功嵌入式软件面经

时间:2012年3月13日星期二,失恋第六十六天,难怪今天这么顺利,六六大顺,好日子 地点:广州市天河区车陂路黄洲工业区7栋2楼广州周立功单片机发展有限公司 面试职位:嵌入式软件工程师

去到公司,9:32分,迟到两分钟,顿时手机响起,对方是个声音甜美的MM,问我到了没有„„ 很快笔试开始,时间一个半小时,途中去了两趟洗手间,少了20分钟,都是早上鸡蛋惹的祸。试卷做下来,感觉超好,不过后来才知道65分,不知道哪里错了这么多。怀疑有没有改错啊。列举一些题吧:

 Int a = 5,则表达式++(a++)的结果是多少?

A、5 B、6 C、7 D、表达式不正确

我选了B,回来试了试,正确答案应该是D,基本功还是不行啊

 快速排序算法在最坏情况下的时间复杂度是:(我不会)

A、O(nlog(n))B、O(log(n))C、O(n*n) D、O(n*n*n)

 const int *a,这个语句和下面哪个语句相同(看了很多次这道题,但是不理解)

A、int* const a B、const int* const a

 下面程序的输出结果 C、int const *a D、int const * const a

char company_name[20];

strcpy(strcpy(company_name,”zlg mcu”),”zlg software”);

printf(company_name);

A、zlg mcu B、zlg software C、printf那行编译错误 D、strcpy那行编译错误  如此定义:int a[] = {1,2,3,4,5,6,7}, *p = a, *q = &a[5];则下列表达式中的值不等于5的是

A、*q--B、*--qC、--*qD、q-p

擦,刚才用VC试了试,全部都不等于5,这叫我如何是好

关于if语句中圆括号内的表达式,正确的说法是(对这种题,我没任何看法)

A、只能用逻辑表达式 B、只能用关系表达式 C、只能用关系表达式或逻辑表达式

D、可以任意表达式

 main( void )

{ char a,b,c,*d; a = \'\\\'; b = \'\\xbc\';

c = \'\\0xab\';

d = \"\\0127\";

printf(\"%c%c%c%c\",a,b,c,*d);

}

下列说法正确的是:(我又不确定,选了D,估计错了)

A、程序中只有a = \'\\\';语句不正确

B、b = \'\\xbc\';语句不正确 D、a = \'\\\';和c = \'\\0xab\';不正确C、d = \"\\0127\";语句不正确

 有以下定义

char c1 = \'b\', c2 = \'e\'; printf(\"%d, %c\\n\", c2-c1,c2-\'a\'+\"A\");输出结果为多少(我选了B,估计又错误了,注意A

是双引号括住的,不是单引号,我现在猜答案是D)

A、2,MB、3,EC、2,eD、输出结果不确定

 下列哪种数据结构不可以使用下标的模式查找数据元素(不懂数据结构啊,求解答)

A、二维数组 B、双向链表C、不确定孩子结点的树D、哈希表

 要实现一个循环队列,不能采用的数据结构是(又是数据结构)

A、数组 B、单链表C、双向链表D、哈希表

 有a、b、c、d四个结点,其权值分别为

8、

5、

4、2,把这四个结点组成哈弗曼树,约

定树的左分支用0表示,右分支用1表示,则结点c在这棵树的编码不可能为

A、011

B、101C、110D、111

选择题就列举这些了,填空题比较简单。上午就这样完了。一个MM叫我自己去吃饭,怎么不包我一顿午餐啊。

等到2点钟,突然叫我去机试,吓我一跳,还要机试?很惨,时间为3个小时,其实我已经超了半个钟,给我个VS2008,不会用,大概用15分钟熟悉一下开发环境,奶奶的,用笔记本还没有鼠标,浪费我那么多操作时间,电脑又卡,下面是机试题目

1、在一个已排序的整型数组中,编写一个函数,用户输入一个整数,求这个数组中含有多

少个与这个数相等的整数。

这道题还好,用二分查找法找到该数据后,再左右对比

2、设计一个函数,统计24位颜色位图中使用的颜色种数。24位颜色位图表示一幅二维平

面图像,图像由若干的像素点组成,每个像素点有一个颜色值,这种位图的数据是一片连续的内存缓冲,缓冲中每3个字节代表位图中一个像素的颜色值,所有像素颜色数据紧密排列。现给定一个24位颜色位图数据,计算出该位图中使用到的颜色种数。 要求:1.随机生成一幅位图的数据,位图宽度可自由调整

2.实现该统计函数,尽可能高效的计算出位图中使用的颜色种数

3.函数原型:int Count24BitmapColorNum(void *pBits, int nWidth, int nHeight);

答:刚拿到这道题,完全没有头绪,这太高级了,懵了,还用windows的画图画了一幅24位的位图,然后在程序里面用操作文件的方法去读,数据超级多,问了一下那GG,说直接给数据就行了,不用画图。然后又开始想办法,想着想着,用3维数组保存位图数据吧,fuck!!平时二维数组都少用啊!在函数里面,用单链表实现颜色数据的存储,每判断一种颜色值,都遍历该链表,与链表里的颜色值对比,如果该链表没有这个颜色值,则把这个颜色值加到链表的末端。最后求链表的长度就可以求出颜色值的种数了。(我当时就是想为了实现功能,不考虑效率,如果要高效,那又要数据结构的知识了)

3、实现windows记事本的自动换行功能。要求可以按照指定宽度进行排版,读入txt文件,

并将结果输出到另一个txt文件。

答:这题目完全无法理解,我就乱搞一通,直接从文件读入,输出到另一个文件中去,有点坑

4、设计一个算法,从两个有序数组中找两个元素,使两元素之和等于某个值。任意输入两

个有序整数数组,例如,{1,2,4,9}、{2,4,4,6,7,8},给定一个整数a,从数组中找出两个元素(两个元素可以属于同一个数组也可以不同),使a等于两个元素之和,例如,给定a=9,则a=2+7满足条件,打印所有情况

答:这道题不难,但要我高效,那很难,我数据结构没用透啊,后来只是实现了功能,算法这东西就别说了

5、设计一个分层链表,并实现一个遍历“分层链表”的函数。“分层链表”是由一个母链

表和若干子链表构成,母链表的元素是子链表,子链表的元素是int整数,一个子链表代表一层,母子链表都是单向链表,例子如下:

LIST{list(ele1->ele2->ele3)list(ele4->ele5->ele6)list(ele7->ele8->ele9)}

要求:1.实现该“分层链 表”数据结构

2.向一个空“分层链表”对象填充若干数据

3.实现一个遍历“分层链表”的函数,输入一个“分层链表”的对象,就可以顺

序显示每个int元素,比如遍历上面的“分层链表”可以得到

ele1->ele2->ele3->ele4->ele5->ele6

答:学C语言的同学们,“分层链表”听过木有,out啦,嘻嘻,我也没听过,给我时间,做出来是没问题的,不过做到这题都五点半了,那GG催着要下班呢

因为昨天去了三星,今天来到这里笔试,一点也不紧张,周立功的面试是没有大牌的,全是一线技术员上阵守关,一天下来都没有HR面的哦,最遗憾的是,来到周立功,没见着周立功,问了前台MM,说今天早上他来过,错过了,仰慕了2年啊

第14篇:嵌入式软件增值税退税怎样计算

嵌入式软件增值税退税怎样计算

2011-11-01 10:41 来源:读者上传 我要纠错 | 打印 | 大 | 中 | 小

近日,《财政部、国家税务总局关于软件产品增值税政策的通知》(财税[2011]100号,以下简称《通知》),明确:从2011年1月1日起,增值税一般纳税人销售嵌入式软件产品也与单独销售软件产品一样,就其增值税实际税负超过3%部分享受即征即退优惠政策。所谓 “嵌入式软件产品”是指嵌入在计算机硬件、机器设备中并随其一并销售,构成计算机硬件、机器设备组成部分的软件产品。因此,在计算即征即退的增值税税额时应分三步进行。

第一步:确认嵌入式软件产品的销售额。

按照《通知》第四条规定,在判断和计算即征即退的增值税税额时必须剔除计算机硬件和机器设备的销售额,纳税人应依次选择按以下方法计算机硬件和机器设备销售额的方法:1.按纳税人最近同期同类货物的平均销售价格计算确定;2.按其他纳税人最近同期同类货物的平均销售价格计算确定;3.按计算机硬件、机器设备组成计税价格计算确定。组成计税价格的计算公式为:组成计税价格=计算机硬件、机器设备成本×(1+10%)。

不过,如果纳税人选择按照组成计税价格计算确定计算机硬件和机器设备的销售额,除分别核算软件产品与非软件货物或者应税劳务的销售额和进项税额外,还应当分别核算嵌入式软件产品与计算机硬件、机器设备部分的成本,未分别核算或者核算不清的,不得享受即征即退优惠政策。

第二步:确认嵌入式软件产品的进项税额。

《通知》第六条规定,增值税一般纳税人在销售软件产品的同时销售其他货物或者应税劳务的,对于无法划分的进项税额,应按照实际成本或销售收入比例确定软件产品应分摊的进项税额;对《通知》规定专用于软件产品开发生产设备及工具的进项税额可不得进行分摊,直接用于抵扣软件产品的销项税额,如:用于软件设计的计算机设备、读写打印器具设备、工具软件、软件平台和测试设备等发生的进项税额。

第三步:计算嵌入式软件产品的实际税负,确认实现的即征即退的增值税数额。

例如:某计算机生产企业2011年1月~9月随计算机硬件、机器设备销售嵌入式软件产品取得综合性不含税收入300万元,发生进项税总额24万元,该企业选择计税价格法计算确定计算机硬件和机器设备的销售额,按销售收入比例确定软件产品应分摊的进项税额,假如账面记载计算机硬件和机器设备的成本为200万元,则嵌入式软件产品的销售额为:300-200×(1+10%)=80(万元),嵌入式软件产品应分摊的进项税额为24÷300×80=6.4(万元),应纳增值税税额为80×17%-6.4=7.2(万元),软件产品实际增值税税负为7.2÷80×100%=9%,即征即退的增值税税额为7.2-80×3%=4.8(万元)。

不过,纳税人在享受嵌入式软件产品增值税即征即退优惠政策时还有以下几点值得注意。

享受增值税即征即退优惠政策的嵌入式软件产品必须同时取得省级软件产业主管部门认可的软件检测机构出具的检测证明材料和软件产业主管部门颁发的《软件产品登记证书》或著作权行政管理部门颁发的《计算机软件著作权登记证书》。

符合条件的嵌入式软件产品必须经主管税务机关审核批准方可享受即征即退优惠政策。

增值税一般纳税人应将按照实际成本或者按照销售收入比例确定嵌入式软件产品应分摊进项税额的方法报主管税务机关备案,并自备案之日起一年内不得变更。

财政部 国家税务总局关于嵌入式软件增值税政策的通知

财税[2008]92号

各省、自治区、直辖市、计划单列市财政厅(局)、国家税务总局,新疆生产建设兵团财务局:

为更好落实软件增值税优惠政策,促进软件产业发展,根据各地反映的情况,经研究,就嵌入式软件增值税政策明确如下:

一、增值税一般纳税人随同计算机网络、计算机硬件和机器设备等一并销售其自行开发生产的嵌入式软件,如果能够按照《财政部 国家税务总局关于贯彻落实〈中共中央、国务院关于加强技术创新,发展高科技,实现产业化的决定〉有关税收问题的通知》(财税字[1999]273号)第一条第三款的规定,分别核算嵌入式软件与计算机硬件、机器设备等的销售额,可以享受软件产品增值税优惠政策。凡不能分别核算销售额的,仍按照《财政部 国家税务总局关于增值税若干政策的通知》(财税[2005]165号)第十一条第一款规定,不予退税。

二、纳税人按照下列公式核算嵌入式软件的销售额

嵌入式软件销售额=嵌入式软件与计算机硬件、机器设备销售额合计-[计算机硬件、机器设备成本×(1+成本利润率)]

上述公式中的成本是指,销售自产(或外购)的计算机硬件与机器设备的实际生产(或采购)成本。成本利润率是指,纳税人一并销售的计算机硬件与机器设备的成本利润率,实际成本利润率高于10%的,按实际成本利润率确定,低于10%的,按10%确定。

三、税务机关应按下列公式计算嵌入式软件的即征即退税额,并办理退税

即征即退税额=嵌入式软件销售额×17%-嵌入式软件销售额×3%

四、税务机关应定期对纳税人的生产(或采购)成本等进行重点检查,审核纳税人是否如实核算成本及利润。对于软件销售额偏高、成本或利润计算明显不合理的,应及时纠正,涉嫌偷骗税的,应移交税务稽查部门处理。

五、本通知自《财政部 国家税务总局关于增值税若干政策的通知》(财税[2005]165号)发布之日起执行。《财政部 国家税务总局关于嵌入式软件增值税政策问题的通知》(财税[2006]174号)停止执行。本通知发布之前,纳税人销售软件产品符合本通知规定条件的,各地按本通知规定办理退税。

财政部 国家税务总局

二00八年七月十八日

第15篇:嵌入式软件的税收优惠之路

嵌入式软件的税收优惠之路

中国嵌入式系统产业联盟秘书长柏斯维在日前举行的联盟成立大会上表示,中国成为世界制造中心的趋势越来越明显,制造业的发展将带动嵌入式软件出现爆发性的增长,预计2011年中国的嵌入式软件产业规模将达到3340亿元,占软件产业的收入比重将达到27%.

几年来叫苦连连的嵌入式软件行业,为何突然信心大增?业内人士认为,财政部、国家税务总局前不久发布的《关于嵌入式软件增值税政策的通知》(以下简称《通知》),再次向嵌入式软件行业打开了优惠大门,为嵌入式软件行业的快速发展提供了契机。

政策调整一波三折,嵌入式软件终获优惠

北京市国税局流转税处有关人士介绍,嵌入式软件是指嵌入到主要设备中的微处理器系统上的软件,通常执行特定的功能。其应用范围包括通信设备、家电、汽车、智能仪表、现代医疗设备、数控制造设备、机器人、国防设备、航空航天等诸多重要产业。嵌入式软件的开发和应用,大大带动了我国软件产业和相关产业的发展,成为我国软件产业新的增长点。

据了解,嵌入式软件增值税政策已经进行了多次调整。1999年11月,财政部、国家税务总局发布《关于贯彻落实〈中共中央国务院关于加强技术创新,发展高科技,实现产业化的决定〉有关税收问题的通知》(财税字[1999]273号),规定从1999年10月1日开始,一般纳税人销售其自行开发生产的计算机软件产品,可按法定17%的税率征收后,对实际税负超过6%的部分实行即征即退;对随同计算机网络、计算机硬件、机器设备等一并销售的软件产品,应当分别核算销售额。如果未分别核算或核算不清,按照计算机网络或计算机硬件以及机器设备等的适用税率征收增值税,不予退税。这是最早关于嵌入式软件增值税政策的规定。从那时起,嵌入式软件同其他软件产品一样,获得了增值税税负超过6%的部分即征即退的优惠。

2000年,财政部、国家税务总局又发布了《关于鼓励软件产业和集成电路产业发展有关税收政策问题的通知》(财税[2000]25号)。该通知规定,自2000年6月24日起至2010年底前,对增值税一般纳税人销售其自行开发生产的软件产品,按17%的法定税率征收增值税后,对其增值税实际税负超过3%的部分实行即征即退政策。嵌入式软件同其他软件产品一样,同样获得了增值税实际税负超过3%的部分即征即退政策的优惠。

上述优惠政策执行到2005年,突然发生了转折。2005年11月,财政部、国家税务总局发布了《关于增值税若干政策的通知》(财税[2005]165号),规定嵌入式软件不属于财税[2000]25号文件规定的享受增值税优惠政策的软件产品。一纸通知使嵌入式软件失去了退税优惠,嵌入式软件增值税税率由3%升至17%,这引起了嵌入式软件开发商的恐慌。业内人士纷纷通过各种渠道发表意见,希望恢复嵌入式软件的增值税优惠政策。

经过各方面的努力,政策又有所变化。2006年12月,财政部、国家税务总局发布了《关于嵌入式软件增值税政策问题的通知》(财税[2006]174号),规定增值税一般纳税人销售其自行开发生产的用于计算机硬件、机器设备等嵌入的软件产品,仍可按照财税[2000]25号有关规定,凡是分别核算其成本的,按照其占总成本的比例,享受有关增值税即征即退政策。未分别核算或核算不清的,不予退税。

北京市国税局流转税处有关人士介绍,从财税[2006]174号规定看,嵌入式软件的增值税退税政策在以前的政策上有所放宽。但是实际上由于随同计算机网络、计算机硬件和机器设备等一并销售的嵌入式软件大多难以分别核算成本,或核算不清,退税政策难以落实。因此,财税[2006]174号发布以后,在一些地区没有得到执行,造成一些嵌入式软件没有获得退税优惠。

2008年7月,财政部、国家税务总局再次对政策进行了完善并发布了《通知》。《通知》明确,增值税一般纳税人随同计算机网络、计算机硬件和机器设备等一并销售其自行开发生产的嵌入式软件,如果能够分别核算嵌入式软件与计算机硬件、机器设备等的销售额,可以享受软件产品增值税优惠政策。凡不能分别核算销售额的,仍按照《财政部国家税务总局关于增值税若干政策的通知》(财税[2005]165号)的规定,不予退税。《通知》从2005年11月28日起执行。企业在《通知》发布前销售的软件产品,如果符合《通知》规定的条件,可以到税务机关办理嵌入式软件增值税退税手续。

从“核算成本”到“核算销售额”,企业退税更方便

北京市国税局流转税处有关人士认为,《通知》和财税[2006]174号文件相比,表面看起来只是“分别核算销售额”与“分别核算成本”的区别,实际上却有着很大的不同。对于随同计算机网络、计算机硬件和机器设备等一并销售的嵌入式软件,由于现实中“分别核算成本”很难,因此造成一些企业实际上无法享受到增值税退税优惠。《通知》把“分别核算成本”改为“分别核算销售额”,事情就变得简单可操作了。

根据《通知》的规定,计算嵌入式软件销售额的公式是: 嵌入式软件销售额=嵌入式软件与计算机硬件、机器设备销售额合计-[计算机硬件、机器设备成本×(1+成本利润率)].

在上述公式中,计算机硬件、机器设备成本是指其实际生产或采购成本,是确定的。成本利润率是指纳税人一并销售的计算机硬件与机器设备的成本利润率,实际成本利润率高于10%的,按实际成本利润率确定;低于10%的,按10%确定。嵌入式软件与计算机硬件、机器设备销售额也是可确定的,这样就可以通过可确定的成本和销售额,来计算嵌入式软件的销售额。

北京市国税局流转税处有关人士表示,上述计算公式解决了嵌入式软件成本难以核算的问题。根据这个公式,那些自己既生产硬件,又自行开发嵌入式软件,拥有软件的知识产权,并把嵌入式软件嵌入到硬件中一并销售的企业,可以很方便地计算出嵌入式软件的销售额,享受退税优惠。他提醒说,纳税人在申请退税时需要如实核算成本及利润。如果软件销售额偏高、成本或利润计算明显不合理的,将受到税务机关的重点检查和处理。

德勤华永会计师事务所北京分所税务部合伙人朱桉说:“《通知》把‘核算成本’改为‘核算销售额’,不仅有利于嵌入式软件增值税退税政策的贯彻落实,还使软件开发企业获得了更大的优惠。因为在‘核算成本’的方式下,嵌入式软件本身的成本很低,而计算机网络、计算机硬件和机器设备等的成本很高,嵌入式软件按其成本占总成本的比例退税,退税额不大。改为‘核算销售额’后,通过计算机硬件、机器设备成本和成本利润率倒算出的嵌入式软件的销售额,可以充分体现嵌入式软件高附加值的特点,让企业获得更多的退税,对企业是很有利的。” “《通知》把国家大力扶持软件产业发展的政策贯彻落实到位,有利于软件产业的做强做大。”朱桉强调。

设备制造企业“软硬”通吃,嵌入式软件发展受限

对于此次政策调整,福建省软件行业协会副秘书长余立威表示,有关部门虽然只对政策的一个变量进行了改动,但这一改动对整合嵌入式软件产业链有着深远的影响。在他看来,以前通过核算嵌入式软件成本来退税,设备制造企业大多不愿意外购软件,而热衷于自己开发以方便虚抬成本套取更多的退税款。这不仅影响了国家税收,也影响了产业协作的紧密度。

据了解,嵌入式软件的应用极为广阔:工业领域节能减排任务迫切,需要以信息化带动工业化;工业机器人、机电一体化设备无不需要大量的嵌入式软件;数字家电升级换代加快,迫切要求嵌入式浏览器、无线通信软件升级同步提速。“但是,一个明显的反常现象是,目前独立的第三方软件商非常缺乏,大部分嵌入式软件由设备提供商开发完成,产业竞争高度分散,协作力度还不够大。”余立威说。他认为,在快速发展的同时,我国嵌入式软件产业隐忧犹存。

“接单十分困难。”福州市开睿动力通信科技有限公司的负责人陈女士向记者描述了该公司承接福建电信号码百事通项目的艰辛。她说,作为第三方软件供应商,他们的软件产品要靠硬件“吃饭”,经常不得不接受极为苛刻的条件。相比而言,最让软件商感到无奈的是设备提供商自行研发嵌入式软件。由于第三方嵌入式软件多按套数收取权利金,从而增加了设备提供商购买软件的成本,这使得不少设备提供商热衷于自己研发嵌入式软件。

福建鑫诺通讯技术有限公司总裁助理吴坚强告诉记者,更多的时候,设备提供商为了维护企业利润,不愿向外购买设备的软件部分,也不愿将软件开发业务外包给第三方软件商,这使得双方的合作范围相对狭小,软件商叫苦不迭。他说:“目前,我国电子设备的功能相对较单一,产品大多处于中低端水平,原因就在于软件研发水平相对较低的设备提供商自己开发相应软件,而技术力量雄厚的第三方嵌入式软件商只能在应用软件的细分领域施展拳脚,对于操作系统、数据库和开发工具等平台通用软件则难有介入的机会。”

余立威表示,这种自给自足式的开发模式,对嵌入式软件产业的发展极为不利。软件产业应用周期不断缩短,而这种“软硬”通吃的开发模式耗时相对较长,也不利于应付快速的技术更迭,将难以适应市场竞争。他认为,在不久的将来,国内独立的嵌入式软件商将在嵌入式软件行业扮演重要角色,该行业的产业链也将逐步走向协同发展。

委托式软件开发将成热点,软件业前景可观

无疑,新政策的着眼点在于落实增值税优惠政策,同时引导第三方嵌入式软件商做大做强。余立威表示,就目前而言,我国急需培养一批占据产业上游的大型龙头企业,从而带动整个嵌入式软件产业的发展。

“目前,大部分硬件设备制造企业都分出一部分精力做软件,这样自然无法做到专和精,而印度以及欧美国家的嵌入式软件大部分都是委托第三方软件商加工,这样经过市场分工,双方总成本降至最低,从而实现利润最大化。”余立威表示。反观国内,第三方软件商在细分应用领域斗得不亦乐乎,整个产业看似规模挺大,实际上产业链很短很浅。

吴坚强认为,《通知》明确了嵌入式软件的增值税退税方式后,企业退税更加容易。“这将鼓励设备提供商通过委托开发、买断知识产权的方式与软件开发商达成更紧密的合作,以满足用户对设备多层次、多元化的需求”。因此,平台通用软件技术将是未来发展的重点,新政策将吸引越来越多的软件服务商投身其中。

“一旦新政策得以贯彻执行,嵌入式软件行业将迎来发展契机,第三方软件提供商也将获得难得的发展机遇。”吴坚强说。在他看来,龙头企业的出现只是时间问题。据福建省信息产业厅统计,今年上半年,福建省有3家企业入围国家规划布局内重点软件企业,7项软件产品被评为省级名牌;重点骨干企业保持较快增长,销售额超亿元的有11家,龙头企业福建网龙、福大自动化、福建富士通等均增长50%以上。

北京市国税局流转税处有关人士介绍,1999年~2007年年底,北京市累计有10808个软件产品进行了登记,304个软件产品进行了续延登记。2001年~2007年,北京市累计办理软件产品增值税退税118.7亿元。他认为,随着嵌入式软件增值税优惠政策的落实,软件产品增值税退税额将显著增加。

第16篇:嵌入式软件工程师培养7步骤

嵌入式软件工程师培养工程,七大阶段全面系统的掌握嵌入式技术

·第一阶段:编程语言强化,包含C语言,Linux C,C++课程;

·第二阶段:嵌入式C语言应用-裸机开发,包含ARM课程;

·第三阶段:项目环境搭建,包含Linux系统移植技术课程;

·第四阶段:嵌入式界面编程进阶,包含面向对象GUI高级编程技术课程;

·第五阶段:嵌入式C语言应用-系统驱动开发,包含Linux驱动开发技术课程;

·第六阶段:项目开发,项目模块实现,真实项目案例开发;

·第七阶段:职业素质提升 包含面试技巧\商务礼仪等课程;

嵌入式学习步骤2010-09-13 21:58学习嵌入式分软硬件两个部分。两个部分都要学习下,因为嵌入式软硬件结合的太紧密了。

1)软件 arm汇编要看得懂。虽然现在的arm 中C居多,但是最底层的有些汇编代码,这是底层的精髓。比如bootloader中的初始化代码,以及一些中断处理的上半部分。介绍arm汇编的书:《arm体系结构与编程》。当然了,C是嵌入式最基本的语言,必须学好的。网上有很多嵌入式C的学习资料,你可以多看几本书。如(C和指针),(C陷阱与缺陷),(C专家编程.)等书籍。学习嵌入式也必须学习下应用编程的,所以C++也学习下。一般认为C和C++是一条线的。必须都会。

2)学习嵌入式,硬件相当重要的。所以arm体系结构要了解下,以及arm的基本外围,如网卡,串口,usb口,视频接口和音频接口芯片等等都要了解下。学习这些需要一个实验箱,然后跑一下随试验箱的实验。然后了解每个接口对应的一款外围芯片。

3)有时间的话,自己学习下不带操作系统的编程,就是把arm当单片机用,因为arm的外设控制器比较多,可以尝试一下编程。这也是学习arm汇编很好的途径。

4)学一款简单的操作系统。一般的实验箱或开发板都带有ucos操作系统的程序。通过学习ucos了解下什么叫操作系统。因为对于操作系统来说,ucos是最简单的了。可以同学学习ucos来了解下多任务,中断嵌套等操作系统的基本知识。要是时间不够的话,可以简单了解下就可以了。

5)学习linux。首先子在自己的电脑上装一个桌面版的linux。Fedora C或Ubuntu都可以(这一步其实可以在第一步就开始)。然后了解下嵌入式linux下的应用编程,linux的基本命令,linux文件系统,linux内核,linux驱动编程等。一般的步骤是先了解应用编程,然后才去学习驱动编程的。并且了解下linux的内核方面的知识。

6)学习linux下的驱动编程。学习linux 最好要知道怎么去编写驱动。而学习linux的驱动,应该从bootloader开始。从最底层的开始学习。然后慢慢学习linux下的驱动编写,以及Makefile的编写。

7)最后,有时间的话,精读下linux内核代码。哈哈!这是linux的精髓啊。要是有时间的话,要是想把linux学好的话。这也是必须的!

写的有点乱。但是这是我感觉比较全的流程了。只要这些都走过去。应该算是入门了吧。

其实我也仅仅是入门。^_^

第17篇:嵌入式软件动态测试工具Tey

嵌入式软件动态测试工具Tey Tey是一个专门针对嵌入式软件的C/C++代码进行单元、集成测试的工具,它可以自动化地执行测试、评估测试结果并生成测试报告。Tey的目标就是:通过自动化整个测试周期,在所有测试阶段完美支持针对C语言的单元测试,当然,Tey也同样关注测试组织和测试管理。

Tey软件源自戴姆勒-奔驰公司的软件技术实验室。从1997年,Tey就在戴姆勒-奔驰公司得到广泛的使用,之后独立成为专业的软件测试工具公司Razorcat,由德国Hitex负责全球销售及技术支持服务。北汇信息作为Hitex/Razorcat公司的中国合作伙伴,将为中国汽车客户提供Tey软件及优秀的软件测试服务。

Tey的应用

在以V模型为例的开发模式中,Tey主要处理右半部分验证和确认中单元/模块测试,集成/组件测试以

及系统测试的内容。在V模型的开发模式中,单元测试是第一个测试活动。它阻止了每一类错误,比如算法错误,在V模式的右边向上蔓延,这样可以尽可能早得发现Bug,防止直到后面的测试过程或者直到最终用户那里才被发现,单元测试有经济效益,越早发现bug越好 。

另外,Tey也可以满足各类标准(ISO2626

2、IEC 6150

8、EN 50128/501

29、DO-178B、汽车SPiCE或FDA的软件验证通用原则)对测试的需求,比如ISO26262中各个测试等级中对模块测试的要求可以使用Tey来满足,当然Tey本身也通过了TUeV的认证,被证明是安全可靠的,可以在安全相关性的软件研发过程中被使用。

Tey的特性

自动生成测试环境:

Tey可以自动生成测试环境驱动,选择自动或者手动打桩以及自动生成测试用例模板,帮助客户提高测试用例设计效率。

多种测试用例确定方式:

除了从Excel中导入测试用例,手动地设计测试用例外,Tey里集成了CTE软件,根据分类树的方法通过Tey自动化地关联测试用例。

支持动态测试的各阶段:

Tey可以支持从单元测试到系统测试的动态测试过程各个阶段,通过单元测试检查最小单位为函数的功能,通过集成测试来测试各个子功能组合起来的模块能否达到预期要求的父功能以及相互间的接口,通过系统测试实现与目标板集成的测试环境来测试系统功能;

另外Tey可以自动发现被测对象的改变,分析被测对象的接口,重用测试用例和测试数据,从而为重复的回归测试节约大量的工作和时间,在接口不变的情况下Tey可以完全自动化地执行不需要用户介入的回归测试; 全自动地测试执行及评估;

Tey检查源文件并且通过分析程序代码来确定函数以及他们的接口,这些信息将被保存在特定的数据

库中供随时检索,接口信息和测试数据的分离实现了结构和数据之间的明确划分,一方面,接口的测试使首先显示变化成为可能,另一方面,如果发生变化,通常也只有要测试的函数接口的几个元素要发生变化,在Tey中接口发生变化时的处理相当简单;

测试报告生成:

管理测试数据并将测试结果文档,Tey提供输入参数/执行测试和评估结果和报告文档,Tey可以生成多种格式的报告,包括XML,HTML,TXT,Word,Excel以及Windows帮助文档的格式。

显示测试覆盖度:

Tey提供C1覆盖,即分支覆盖branch coverage或者判定覆盖decision coverage ;条件覆盖,即多条件覆盖MCC(Multiple Condition Coverage)和修正条件判定覆盖MC/DC(Modified Condition/Decision Coverage),Tey是通过测试应用程序来获取测试覆盖信息的;

支持各种测试环境:

Tey现在可以支持超过130种微控制器、交叉编译器和调试器的组合; 这确保了Tey能够处理交叉编译器生成的非标准C(ANSI-C)微控制器特定的代码; 一旦Tey和不同的调试器完成集成,就可以自动执行测试了。

支持ASAP2:

在Tey中设计测试用例之前选择与ASAP2标准的集成功能,确定需要导入的ASAP2文件,使用ASAP2转换规则自动地将测试用例中设计的测试数据物理值转换为在目标板中执行测试对象的整数值,从而简化测试用例设计的理解和实现,并且可以在Tey中显示其他ASAP2信息,例如单位,最大/最小值等。 Tey用户列表及典型案例:

被广泛应用于汽车、国防、铁路、医疗和工业应用领域当中,众多著名的汽车整车厂、零部件供 Tey应商都在使用Tey。

 汽车行业:Behr-Hella, Bertrandt, Beru, BMW, Bose, Brose, Continental Temic, Daimler, Delphi, Delphi Grundig, Getrag, Helbako, Hella, John Deere, Kiekert, Kostal, Lear, Magna, Marquardt, Pierburg, Preh, SAB Wabco, Siemens VDO, Takata, Tata Elxsi, Tesla, TietoEnator, TRW, Wabco, Valeo, ZF, … 安全关键性领域:Bosch Rexroth, Demag Cranes, Endre&Hauser, Festo, Hanning&Kahl, Liebherr, SEW, Siemens A&D, Testo, Wago, …

医疗行业:Allergan, Biotronik, Dräger, getemed, Leica Biosystems, Otto Bock, Sensimed, Stago, St.Jude Medical, Ypsomed, … 白色家电、国防等领域

德国戴姆勒公司大量使用Tey,其中应用最多的部门是EP/MEI,他们在使用Freescale MPC微控制器,主要为六缸和八缸汽油机开发控制软件,也包括迈巴赫使用的12缸发动机的控制软件,也都是用Tey进行测试的。在一个典型的测试项目中包含90个C语言功能函数,所有的函数都使用Tey测试。一个功能函数通常有平均20个接口元素(比如输入或输出变量)。为了全面地测试一个功能,总共需要大约500个测试步骤,划分成20到30个测试用例。

戴姆勒公司EP/MEI部门的Ralf Focken感叹说,“不使用Tey的单元测试,是我们无法想象的。”

德国宝马公司正在使用Tey测试由Matlab/Simulink模型自动生成的代码,以及集成的手写代码。这个项目是为宝马的混合动力汽车锂电池的智能电池管理系统,安全等级为ISO26262 ASIL C级。这个项目由40个C语言的功能函数组成。所有的功能函数,包括硬件接口函数,都是使用Tey测试的。对于有些测试对象,需要多达20000个测试用例,Tey都可以轻松处理这样大量的测试数据。

宝马公司的Andreas Schmude说“Tey对于测试我们自动生成的代码,起了至关重要的作用。”

第18篇:嵌入式软件工程师笔试题(含答案)

嵌入式软件工程师笔试题(含答案).txt26选择自信,就是选择豁达坦然,就是选择在名利面前岿然不动,就是选择在势力面前昂首挺胸,撑开自信的帆破流向前,展示搏击的风采。选择题

1:设float a=2, b=4, c=3;,以下C语言表达式与代数式 (a+b)+c计算结果不一致的是

A.(a+b)*c/2

B.(1/2)*(a+b)*c

C.(a+b)*c*1/2

D.c/2*(a+b)

参考答案:B,因为a,b,c三个变量都是浮点数,所以在B答案中其结果是0,因为在计算1/2是就是0,如果改成1/2.0就正确了。

2:为了向二进制文件尾部增加数据,打开文件的方式应采用

A.″ab″

B.″rb+″

C.″wb″

D.″wb+″

参考答案:D

3:下述程序执行后的输出结果是

#include

main()

{

int x=\'f\';

printf(\"%c\\n\",\'a\'+(x-\'a\'+1));

}

A.g

B.h

C.i

D.j

参考答案:A

4:C语言中,下列运算符优先级最高的是

A.!

B.%

C.>>

D.= =

参考答案:A

5:数组定义为“ int a [ 4 ] ; ”,表达式 ( ) 是错误的。

A.*a

B.a [ 0 ]

C.a

D.a++

参考答案:D

6:执行语句“ k=7>>1; ”后,变量 k 的当前值是

A.15

B.31

C.3

D.1

参考答案:C

7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型

A.void

B.char

C.float

D.int

参考答案:D

8:若main()函数带参数,参数个数最多是

A.0

B.1

C.2

D.3

参考答案:C 只知道有定义形式main(int argc,char* argv[]))

9:若有宏定义:#define MOD(x,y) x%y

则执行以下语句后的输出结果是

int a=13,b=94;

printf(″%d\\n″,MOD(b,a+4));

A.5

B.7

C.9

D.11

参考答案:B

10:下列各个错误中,哪一个不属于编译错误

A.改变 x 原值 3 为 5 ,写作“ x==5 ;”

B.花括号不配对

C.复合语句中的最后一条语句后未加分号

D.变量有引用、无定义

参考答案:A

11:下列程序段运行后, x 的值是( )

a=1;b=2;x=0;

if(!( -- a))x -- ;

if(!b)x=7;else ++x;

A.0

B.3

C.6

D.7

参考答案:A

12:设

#define N 3

#define Y(n) ((N+1)*n)

则表达式2*(N+Y(5+1))的值是

A.42

B.48

C.54

D.出错

参考答案:B Y(5+1) 传递过去的应该是6,而不是简单的把5+1给替换掉

13:若定义了char ch[]={″abc\\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是

A.def

B.d

C.e

D.0

参考答案:C

14:下列转义字符中错误的是

A.′\\000′

B.′\\14′

C.′\\x111′

D.′\\2′

参考答案:C error C2022: \'273\' : too big for character

15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为

A.算术运算、赋值运算、关系运算

B.算术运算、关系运算、赋值运算

C.关系运算、赋值运算、算术运算

D.关系运算、算术运算、赋值运算

参考答案:B

16:设#define N 3

#define Y(n) ((N+1)*n)

则表达式2*(N+Y(5+1))的值是

A.42

B.48

C.54

D.出错

参考答案:B

17:表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个

A.非零整数

B.浮点数

C.0

D.字符

参考答案: A

18:设struct

{ short a;

char b;

float c;

}cs;

则sizeof(cs)的值是

A.4

B.5

C.6

D.7

参考答案: D 字节对齐的话应该是8

19:若变量已正确定义,表达式( j=3 , j++ )的值是

A.3

B.4

C.5

D.0

参考答案:A

20:C 语言中运算对象必须是整型的运算符是

A.%

B./

C.!

D.**

参考答案:A

简答题

21:打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...

例子:当N =5,打印出下面的图形:

X X X X X

X Y Y Y X

X Y 0 Y X

X Y Y Y X

X X X X X

22:谈谈COM的线程模型。然后讨论进程内/外组件的差别。

23:多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?

参考答案:

虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.

而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.

24:#include

void main()

{ int c;

while ((c=getchar())!= ′\\ n ′ )

switch(c - ′ 2 ′ )

{ case 0:

case 1:putchar(c+4);break;

case 2:putchar(c+4);break;

case 3:putchar(c+3);break;

default:putchar(c+2);break;

}

printf( ″\\ n ″ );

}

运行时输入: 2473 ,输出结果:

参考答案:6897 VC++6.0测试过

25:用两个栈实现一个队列的功能?

参考答案:

设2个栈为A,B, 一开始均为空.入队:

将新元素push入栈A;出队:

(1)判断栈B是否为空;

(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;

(3)将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是O(1), 26:写一语句实现x是否为2的若干次幂的判断。

参考答案:!(X)&(X-1)

27:解二次方程:a*x*x+b*x+c

int Quadratic( double a,double b,double c,double& x1,double& x2); 返回值:解的个数

28:如何判别一个数是unsigned。

参考答案;

#define iignal(x) ((x>=0 && ~x>=0) ? 1:0) //为1是无符号 为0有符号 29:执行下述程序的输出结果是ABCDEFCDEFEF。

#include

char b[]=\"ABCDEF\";

main()

{

char *bp;

for (bp=b;*bp;bp+=2)

printf(\"%s\",bp);

printf(\"\\n\");

}

30:已知一个数组table,用一个宏定义,求出数据的元素个数。

参考答案:#define NTBL

#define NTBL (sizeof(table)/sizeof(table[0]))

第19篇:嵌入式软件工程师复习题答案(初级)

一.单选题

1.B

2.D

3.B

4.C

5.B

6.A

7.D

8.A

9.C

10.A

11.C

12.D

13.B

14.B

15.A

16.B

17.C

18.D

19.B

20.C

二.填空题

1.面向应用、量体裁衣、够用为度

2.控制、辅助系统运行的硬件单元

3.ARM/StrongARM、MIPS、PowerPC、X8

6、68K/Coldfire

4.寄存器通用寄存器状态寄存器

5.状态寄存器和程序计数器

6.堆栈指针R14

7.指令长度为32位指令长度为16位

8.PC

9.当前程序状态寄存器备份的程序状态寄存器

10.R0~R3寄存器和堆栈

三.名词解析

1.一个成为其他产品构成成分的、为特殊目的而个性化设计的计算机软、硬件的组合。

2.又称单片机,它是将整个计算机系统集成到一块芯片中,由于微控制器的片上外设资源

一般比较丰富,适合于控制,因此称微控制器。

3.ARM处理器是英国ARM(Advanced RISC Machines)公司设计的全球领先的16/32位RISC

微处理器,ARM公司通过转让RISC微处理器,外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。

4.当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。

5.所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。

四.问答题

1.答:嵌入式系统同通用型计算机系统相比具有以下特点:1)嵌入式系统是面向特定应

用的。2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具

2.

3.

4.

5.体应用相结合后的产物。3)嵌入式系统的硬件和软件都必须高效率地设计。4)嵌入式系统具有较长的生命周期。5)嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。6)嵌入式系统本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发。 答:1)共同点:计算机科学的三代基石:计算机体系结构、操作系统原理和编译原理。2)异同点:表现在处理器与存储器的选择、输入/输出的配置、操作系统的使用、以及软件开发的方法与过程等方面。 答:1)联系:重量级的单片机可视为嵌入式系统,而轻量级的嵌入式系统与单片机则没有很大的差别;也就是说,单片机是嵌入式系统的前身,嵌入式系统是增强版的单片机。2)区别:在处理能力、存储空间、操作系统、开发及调试方法等方面均有区别。 答:嵌入式系统开发的工程步骤及开发流程如下:1)系统需求;2)风险评估;3)制订系统规格;4)系统规划;5)系统设计;6)系统实现;7)系统测试;8)售后服务;9)项目总结。 答:采用RISC架构的ARM微处理器一般具有如下特点:1)体积小、低功耗、低成本、

高性能;2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3)大量使用寄存器,指令执行速度更快;4)大多数数据操作都在寄存器中完成;

5)寻址方式灵活简单,执行效率高;6)指令长度固定;

第20篇:NTC嵌入式软件工程师复习题(初级)

嵌入式软件工程师复习题

一.单选题:

1.计算机内存一般分为静态数据区、代码区、栈区和堆区,若某一指令的操作数之一采用立即数寻址方式,则该操作数位于()。

A.静态数据区B.代码区C.栈区D.堆区

2.计算机在进行浮点数的相加(减)运算之前先进行对阶数操作,若x的阶码大于y的阶码,则应将()

A.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术左移。

B.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术右移。

C.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术左移。

D.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移。

3.在CPU中,()可用于传送和暂存用户数据,为ALU执行算术逻辑运算提供工作区。

A.程序计数器B.累加寄存器C.程序状态寄器D.地址累加器

4.关于在I/O设备和主机间交互数据的叙述,()是错误的

A.在中断方式下,CPU需要执行程序来实现数据传送任务。

B.中断方式和DMA方式下,CPU与I/O设备都可同步工作。

C.中断方式和DMA方式中,快速I/O设备更适合采用中断方式传递数据。

D.若同时接到DMA请求和中断请求,CPU优先响应DMA请求。

5.关于校验方法,()是正确的。

A.采用奇偶检验可检测数据传输过程中出现一位数据错误的位置并加以纠正。

B.采用海明校验可检测数据传输过程中出现一位数据错误的位置并加以纠正。

C.采用海明校验,校验码长度和位置可随机设定。

D.采用CRC校验,需要将校验码分散插入数据位的指定位置中。

6.Cache用于存放主存数据的部分拷贝,主存单元地址与Cashe单元地址之间的转换工作由()完成。

A.硬件B.软件C.用户D.程序员

7.在Windows Sever 2003下若选择安全登陆,则首先需要按()组合键。

A.Shift+Alt+EscB.Ctrl+Alt+TabC.Ctrl+ShiftD.Ctrl+Alt+Del

8.为了防止电子邮件中的恶意代码,应该用()方式阅读电子邮件。

A.文本B.网页C.程序D.回话

9.TCP/IP在多个层引入了安全机制,其中TLS协议位于()。

A.数据链路层B.网络层C.传输层D.应用层

10.我国专利申请的原则之一是“()”。

A.申请在先B.申请在先与使用在先相结

C.使用在先D.申请在先、使用在先或者二者结合

11.李某在《电脑与编程》杂志上看到张某发表的一组程序,颇为欣赏,就复印了一百份作为程序设计辅导材料发给了学生。李某又将这组程序逐段加以评析,写成评论文章后投到《电脑编程技巧》杂志上发表。李某的行为()。

A.侵犯了张某的著作权,因为其未经许可,擅自复印张某的程序。

B.侵犯了张某的著作权,因为在评论文章中全文引用了发表的程序。

C.不侵犯张某的著作权,其行为属于合理使用。

D.侵犯了张某的著作权,因为其擅自复印,又在其发表的文章中全文引用了张某的程序。

12.某数码相机内置128MB的存储空间,拍摄分辨率设定为1600×1200象素,颜色深度为24位,若不采用压缩存储技术,使用内部存储器最多可以存储()张照片。

A.12B.25C.13D.23

13.在面向对象系统中,用()关系表示一个较大的“整体”类包含一个或多个较小的“部分”类。

A.泛化B.聚合C.概化D.合成

14.RUP(Rational Unified Proce)分为4个阶段,每个阶段结束时都有重要的里程碑,其中生命周期架构是在()结束时的里程碑。

A.初启阶段B.精化阶段C.构建阶段D.移交阶段

15.编译程序对高级语言源程序进行翻译时,需要在该程序的地址空间中为变量指定地址,这种地址称为()。

A.逻辑地址B.物理地址C.接口地址D.线性地址

16.程序设计语言一般都提供多种循环语句,例如实现先判断循环条件再执行循环体的while语句和先执行循环体再判断循环条件的do-while语句。关于这两种循环语句,在不改变循环体的条件下,()是正确的。

A.while语句的功能可由do-while语句实现。

B.do-while语句的功能可由while语句实现。

C.若已知循环体的次数,则只能使用while语句。

D.循环条件相同时,do-while语句的执行效率更高。

17.直接转移指令的功能是将指令中的地址代码送入()中。

A.累加器B.地址寄存器C.程序计数器D.存储器

18.某文件管理系统为了记录磁盘的使用情况,在磁盘上建立了位示图(bitmap)。若系统中字长为 16 位,磁盘上的物理块依次编号为:0、

1、

2、„,那么8192号物理块的使用情况在位示图中的第()个字中描述。

A.256B.257C.512D.513

19.某微机系统采用8259中断控制器,若IR1的中断向量代码为29H,则IR3的中断向量

码是()。

A.2BHB.31HC.39HD.3BH

20.同步通信比异步通信具有较高的传输频率,这是因为()。

A.同步通信不需要应答信号。

B.同步通信方式的总线长度较短。

C.同步通信采用一个公共时钟进行同步。

D.同步通信中各个部件存取时间较短。

二.填空题:

1.嵌入式系统在硬件设计、操作系统的选择、以及软件的设计上都要遵循“()”的原

则。

2.嵌入式处理器是嵌入式系统的核心部件,是()。

3.试列举三种以上主流的通用处理器:()。

4.ARM处理器共有37个(),其中包括31个()和6个()。

5.ARM处理器有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与

之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个()。

6.寄存器R13在ARM指令中常用作()。()也称作子程序连接寄存器或连接寄存器LR,

当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。

7.ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集()和Thumb指令

集()。

8.寄存器R15用作程序计数器()。该寄存器在ARM状态下,位[1:0]为0,位[31:2]用

于保存PC;在Thumb状态下,位[0]为0,位[31:1]用于保存PC。

9.寄存器R16用作CPSR(),CPSR可在任何运行模式下被访问。每一种运行模式下又都

有一个专用的物理状态寄存器,称为SPSR()。

10.函数的参数传递方法有两种:()。

三.名词解析:

1.嵌入式系统

2.微控制器(Micro Controller Unit)

3.ARM处理器

4.异常

5.寻址方式

四.问答题:

1.嵌入式系统同通用型计算机系统相比具有哪些特点?

2.请比较嵌入式系统与PC机的异同。

3.试比较嵌入式系统与单片机的联系与区别。

4.简述嵌入式系统的工程步骤及开发流程。

5.简述采用RISC架构的ARM微处理器的特点。

嵌入式软件岗位职责
《嵌入式软件岗位职责.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档