人人范文网 岗位职责

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

发布时间:2020-06-09 08:33:16 来源:岗位职责 收藏本文 下载本文 手机版

推荐第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篇:嵌入式软件工程师简历

程轩

性别:男年龄: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篇:嵌入式软件工程师个人简历

嵌入式软件工程师

个人信息:

姓名:董国杰

学历:本科性别:男 专业:电子信息工程现居住地:上海市浦东新区出生日期: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高级工程师证书

 嵌入式工程师证书

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

课程体系

在实训项目经理的带领下,通过完成多个企业级项目(基于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年嵌入式软件软件开发经验。

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

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

推荐第6篇:嵌入式研发工程师岗位职责

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

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

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

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

任职要求:

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、责任心强、工作认真,具有良好的沟通能力。

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

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.

推荐第9篇:嵌入式软件工程师如何学习

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

嵌入式工程师如何学习

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

去相关专业网站上学习:

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

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

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

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

xinpujingyulecheng89.com E0DNK

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

xinpujingyulecheng89.com E0DNK

推荐第10篇:软件工程师岗位职责

软件工程师岗位职责

1.软件的程序设计与代码编写

2.有关技术方案、文档的编写

3.软件单元的测试

1、根据项目具体要求,承担开发任务,按计划完成任务目标

2、配合系统分析人员完成软件系统及模块的需求调研与需求分析

3、配合系统分析人员完成软件系统及模块的设计

4、独立完成软件系统及模块的编码

5、协助测试人员完成软件系统及模块的测试

6、负责编制与项目相关的技术文档

7、有OA及电子政务软件开发经验或相关背景优先考虑;

1、根据项目具体要求,承担大型网站设计与开发

2、部分软件功能模块设计和软件界面美化

3、协助测试试人员完成软件系统及模块的测试

系统分析员岗位职责:

1、负责项目开发作业程序的执行,严格执行开发设计工作规范;

2、负责进行需求调研分析,制定项目需求规格说明书;

3、负责产品详细设计方案和具体设计的制定、审核;

4、负责具体开发工作,解决项目开发中的各种技术难题;

5、规划项目所需资源,估算项目时间需求,估算项目费用需求,计划项目的其他需求;

6、识别和分析项目的风险,制定应对计划和应急计划;

7、进行项目控制,如进度、费用、质量和风险等,跟踪项目里程碑;

8、发现、分析项目出现的问题,制定解决方案,推动方案执行;

9、对产品设计的进度、质量和技术负主要责任。

1、参与项目的需求调研,进行需求分析,编写需求分析书;

2、负责项目的概要设计,包括功能结构规划、功能子系统划分,实现模型设计,数据库设计;

3、核心、关键模块的算法设计,详细设计;

4、关键、核心的算法或功能编码实现;

5、修正设计、编码错误直至系统能正确、正常运行。

1.负责系统的分析设计,核心代码的研发。

2.协助项目经理管理的开发团队。

3.完成上级主管的安排的其他工作。

岗位职责

1、按系统设计完成功能模块的编写;

2、遵循工作规范,和编写要求;

3、编写模块详细设计文档,和相关技术资料;

4、按规范进行模块功能单元测试;

5、维护所开发的软件模块代码。

1.协助项目经理开展项目开发工作;

2.明确并确认公司对软件及开发内容的需求,参与项目的需求分析工作;

3.基于需求制定内容开发计划,承担项目核心模块的开发任务,确保按时完成既定的开发内容;

4.参与软件开发的整体规划及实施,解决项目中的技术问题,为公司的业务开展提供支持;

5.负责指导软件工程师执行具体的软件开发工作,完善开发方法,提高执行效率。

岗位职责:

1、负责大型WEB/WAP网站的架构设计、核心模块的开发;

2、负责项目组的工作安排和协作、人员培训、技术支持等。

1.协助项目经理开展项目开发工作;

2.根据IT部工作计划,负责项目的实施工作,支持IT部项目的正常开展;

3.明确并确认公司对软件及开发内容的需求,参与项目的需求分析工作,并向用户解释开发计划说明;

4.基于用户的需求制定内容开发计划,承担项目核心模块的开发任务,确保按时完成既定的开发内容;

5.参与软件开发的整体规划及实施,解决项目中的技术问题,为公司的业务开展提供支持;

6.负责指导软件工程师执行具体的软件开发工作,完善开发方法,提高执行效率。

岗位职责:

1.协助项目经理(主管)开展项目开发工作;

2.基于用户的需求制定开发计划,承担项目的架构设计和详细设计工作,并承担项目核心模块的开发任务,确保按时完成既定的开发内容;

3.参与软件开发的整体规划及实施,解决项目中的技术问题,为公司的业务开展提供支持;

4.负责指导软件工程师来执行具体的软件开发工作,完善开发方法,提高执行效率;

5.负责现有系统的重构、优化等工作。

岗位职责

1、负责系统及相关产品需求分析及架构设计;

2、对产品的整体系统架构负责,对产品的系统安全性设计负责,开发及相关设计文档编写;

3、负责相关请求的技术分析,负责制订相关的技术解决方案;

4、参与制定设计及实现规范,指导设计、实现及部署工作;

5、配合项目经理进行技术决策,进行技术风险评估;

6、负责对软件开发团队的技术指导。

工作职责:

1、负责公司相关项目的技术团队管理,制定相关项目的研发目标,对技术发开工作进行有效规划、管理与协调,按计划完成公司的产品开发计划;

2、负责项目/产品的系统架构设计,指导复杂模块的开发,负责解决技术难题以及个性功能的实现;

3、负责技术平台的测试与维护等工作,保障系统稳定,并根据项目或产品整体要求不断完善技术工程,对设计系统的最终性能和稳定性负责;

4、负责技术团队内部日常管理、岗位培训、团队建设及人才培养、对工作目标合理分配、人员合理分工;

5、负责平台产品的技术分析,准确捕捉技术价值,通过前沿调查和技术比对,快速理解并挖掘同类产品的技术价值,以提升开发速度与质量。

软件UI设计师

工作职责:

- 负责软件整体形象规划,软件界面的视觉设计和视觉美化。

- 负责网页设计,图片处理,html,c,Javascript编码。

1.根据网站的交互设计和UI设计进行页面开发;

2.配合美工完成网站的交互设计和UI设计工作;

3.按照项目计划,与项目组其他成员协同工作,在保证质量的前提下,按时完成开发任务;

4.精通HTML、DIV+CSS等技术并理解WEB2.0 标准,熟练手写代码;

5.精通Dreamweaver等相关网页设计制作软件的使用;

6.熟悉页面优化,了解各主流浏览器特性,使页面兼容主流 浏览器;

7.熟悉JavaScript/Ajax及Jquery,能够编写常用的JS应用。

岗位职责:

1、负责公司相关网站的页面设计、开发、制作与维护,优化页面代码;

2、独立完成网站前台的设计开发工作及网页客户端的代码编写工作;

3、活动/广告/平面等创意的策划、设计、制作,美编工作;

4、具备良好的团队沟通协作能力;

5、适应网站运营规律及不定时工作制工作需要。

工作描述:

1、需求分析与人机交互的界面设计;

2、网站产品整体用户界面方案设计;

3、配合网站推广及专栏,制作相关的网页广告及个性化页面;

4、协助开发工程师完成UI整合;

项目网站增值产品开发、网站页面设计策划、项目网站VI设计及应用设计、整体VI风格把控。

1) 公司内部网站的设计制作以及现有网站的设计、改版、维护。

2) 承接公司派发各项目、产品的美工设计,UI设计工作;

3) 围绕各网站的运营,制作相应的增值产品,例如:广告、blog库、电子杂志等;

4) 负责外部承接的网站设计工作;

5) 根据需要制作网站原型,包括切割页面、动态效果的实现、CSS样式定义、嵌套由程序人员开发的功能模块等。服务器上传等;

6) 制定各种规范,例如美工设计流程、美工文档备份规范、web制作规范等

程序员的工作职责:

要说工作职责,首先就是要写出符合标准的代码,比如格式和注释等。还要按时完成领导交给的任务,写完代码自己做测试。测试部门测出了bug要认真修改。仔细阅读需求报告和详细设计报告,多和领导同事讨论。

。详细深入的掌握所承担项目的需求分析和设计报告。尽职尽责编写出实现各项功能的完整代码。

3.负责所编程序的自测试工作,参加系统集成和安装。编写用户操作使用说明书。

软件工程师岗位职责有哪些?请看企业管理网提供的软件工程师岗位职责范文。

职业定义

软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。

工作内容

1、指导程序员的工作;、

2、参与软件工程系统的设计、开发、测试等过程;3、协助工程管理人保证项目的质量;4、负责工程中主要功能的代码实现;5、解决工程中的关键问题和技术难题;

6、协调各个程序员的工作,并能与其它软件工程师协作工作。

【职业分析】 软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。 软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。 软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。

第11篇:软件工程师岗位职责(软件)

1.完成软件系统代码的实现,编写代码注释和开发文档。2.辅助进行系统的功能定义、程序设计。3.根据设计文档或需求说明完成代码编写、调试、测试和维护。4.分析并解决软件开发过程中的问题。5.协助测试工程师制订测试计划,定位发现的问题。6.配合项目经理完成相关任务目标。

第12篇:嵌入式软件工程师培养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学好的话。这也是必须的!

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

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

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

嵌入式软件工程师笔试题(含答案).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]))

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

一.单选题

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)指令长度固定;

第15篇: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微处理器的特点。

第16篇:嵌入式软件工程师底层驱动内核工程师

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

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

嵌入式软件工程师待遇

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

怎样做个嵌入式软件工程师

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

我帮你总结下:

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

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

3.对ARM,FPGA,DSP等这些硬件比较了解。

这是最常规的条件

当然,一些基本素质,像英语能力,或是啥的,也很重要

推荐: 你可以去按照招聘要求分析,也可以按照培训机构的培训目的,方向,内容来分析得知,像海同科技就是蛮不错的

嵌入式软件工程师发展前景分析

嵌入式领域较新,目前发展非常快,很多软硬件技术出现的时间都不太长(如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、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。

第17篇:软件开发工程师(嵌入式开发)岗位职责

1.设计芯片驱动程序,编写软件概要和详细设计说明书。2.编写驱动代码,并进行单元测试和系统测试。3.配合硬件工程师调试硬件电路。4.单板软件需求分析、设计、编码与测试。

第18篇:软件实施工程师岗位职责

软件实施工程师岗位职责:

1.负责公司产品及系统的实施工作,推进项目顺利进行;

2.负责软件系统安装部署、升级维护;

3.用户现场技术支持及日常维护,包括接听客户咨询电话,向用户提供咨询、指导、解释相关业务或技术问题,收集用户反馈信息;

4.负责用户培训,编写培训文档,解答用户系统使用过程中的疑问;

5.编写相关的实施文档、使用手册、测试文档、验收文档。

6、熟悉windows等主流操作系统的安装和使用

1、客户联络、客户回访

2、客户问题反馈及跟踪

3、产品部署、升级、安装调试、数据迁移、数据备份。

4、用户文档编制(安装手册、调试手册、使用手册、帮助手册等)

5、用户培训(教程、计划、执行、跟踪结果)

6、模拟用户环境测试

7、用户使用问题收集和处理

任职要求:

1.计算机、软件工程、信息管理等相关专业本科及以上学历;

2.熟悉Oracle数据库,Weblogic等安装部署;

4.能够适应长期外地出差;

5.具备良好的沟通能力,文档编写能力。

6.具有2年相关行业的工作背景,懂项目管理或具有大型软件实施和服务工作经验者优先考虑;

7、有.net开发或同类型软件开发经验优先考虑;

8、接收优秀应届毕业生。

第19篇:Linux软件工程师岗位职责

1.负责linux平台下sip协议的移植。2.负责linux平台下gui的移植。3.负责linux平台下web浏览器的移植。4.负责linux平台下java虚拟机(j2me)的移植。

第20篇:技术支持工程师岗位职责(软件)

1.负责自主产品的售前、售后支持与客户服务。2.负责项目售前支持,包括项目方案编写、产品技术方案的编写、项目招投标等。3.负责内部日常管理维护。

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