文档视界 最新最全的文档下载
当前位置:文档视界 › 嵌入式软件工程师和嵌入式硬件工程师有什么区别

嵌入式软件工程师和嵌入式硬件工程师有什么区别

嵌入式软件工程师和嵌入式硬件工程师有什么区别

嵌入式软件工程师和嵌入式硬件工程师有什么区别

什么是嵌入式硬件工程师随着嵌入式技术的普及,硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如:底层驱动的开发嵌入式操作系统的裁剪,移植; GUI、文件系统等软件的移植; 基于嵌入式操作系统的底层驱动程序的设计等。

什么是嵌入式软件工程师嵌入式软件工程师与我们平常说的软件工程师不同。

我们平常说的软件工程师大部分指的是windows 和linux 操作系统下应用软件的开发人员,硬件平台是基于PC 机的。而嵌入式软件工程师则是指在wince.linux 等嵌入式操作系统下进行用户应用软件开发的人员,硬件平台则是基于嵌入式产品的(例如:手机、PDA 等)。软件开发工具也有所区别,嵌入式软件开发一般使用的是嵌入式系统专用的开发工具,例如wince 下的evc,和linux 下的qt 等。

嵌入式软件工程师和嵌入式硬件工程师有什么区别软、硬件工程师工作性质的区别

嵌入式硬件工程师的工作是为软件工程师搭建好硬件平台和必要的开发环境。嵌入式软件工程师则是根据用户的需要完善产品的软件功能。硬件工程师就像是设计师和建筑师,负责整个建筑的设计和建设。软件工程师则是负责房间的装修,锦上添花。

总的来说,硬件工程师的工作性质尤为重要,因为硬件工程师在设计产品时不但要完成产品的基本功能,还必须考虑多方面因素:功耗、干扰、后期维修、生产安装等。一旦某一个因素考虑不周全,会造成整个产品的设计失败。

除此之外,产品在设计中可以没有软件工程师,绝不能没有硬件工程师。因为在某些对实时性要求严格的嵌入式产品(例如:工业产品)或者某些低性能的嵌入式产品(例如:CPU 使用单片机的产品)中,往往是不能够使用操作系统的。这时,整个产品的设计工作则全部由硬件工程师来完成了。

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

嵌入式软件工程师工作要求 无锡市瑞丰精密机电技术有限公司 任职要求: 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,https://www.docsj.com/doc/6912077244.html,,Eclipse等开发环境。 2、熟悉51和ARM7架构及其软件开发和仿真调试。 北京北科亿力科技有限公司 职位描述: 电子或嵌入式软件工程师 一、岗位职责: 1、负责公司电子、工控、仪表等硬件产品的研发、优化及相关技术文档的编写; 2、负责嵌入式软件的设计、编程、测试及技术文档的编写; 3、负责公司新产品知识产权文档的编写和申报; 4、完成上级领导交办的其它工作任务。

嵌入式硬件工程师与软件工程师的区别

嵌入式硬件工程师与软件工程师的区 别 嵌入式硬件工程师与软件工程师都有哪些不同呢?具体工作都包括什么?就业前景如何?工资待遇如何?这些都是大家十分关心的问题,尤其是对于即将走向工作岗位的学生来说,这些问题直接影响到他们的择业及将来的发展方向。 下面从几个方面来解答这些问题。 什么是嵌入式硬件工程师? 随着嵌入式技术的普及,硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如:底层驱动的开发嵌入式操作系统的裁剪,移植;GUI、文件系统等软件的移植;基于嵌入式操作系统的底层驱动程序的设计等。 什么是嵌入式软件工程师? 嵌入式软件工程师与我们平常说的软件工程师不同。 我们平常说的软件工程师大部分指的是windows和linux操作系统下应用软件的开发人员,硬件平台是基于PC机的。而嵌入式软件工程师则是指在wince、linux等嵌入式操作系统下进行用户应用软件开发的人员,硬件平台则是基于嵌入式产品的(例如:手机、PDA等)。软件开发工具也有所区别,嵌入式软件开发一般使用的是嵌入式系统专用的开发工具,例如wince下的evc,和linux下的qt等。 嵌入式软、硬件工程师职能、工作性质的区别 嵌入式硬件工程师的主要工作包括: 方案设计 根据客户需要进行可行性分析、整体功能设计、硬件成本预算等,在完成功能的同时还必须考虑到产品的生产加工、后期维修等各方面问题。 元件的选型 选择元件时必须根据每个元件特性和电路板特性,成分考虑到性能,干扰,功耗等问题。

电路的设计 元件的位置,产品的功耗,各部分功能完整性,抗干扰等 电路板设计 要求设计出的电路板,安全可靠,美观,拆装方便。 系统集成及调试 产品样品的组装集成及硬件调试。 底层驱动程序设计 根据硬件资源进行驱动程序的设计。 操作系统的裁剪移植* 根据需要选择最优的操作系统进行裁剪和移植 GUI及文件系统等软件移植* 根据需要加入GUI及文件系统等软件。 注:*表示该工作有可能不需要。 嵌入式软件工程师的主要工作包括: 人机交互程序设计 图形用户界面(GUI)程序设计 用户应用软件设计 软件系统测试 举个简单的例子: 就拿手机的设计来说,硬件工程师需要根据要求完成以下工作: 1、根据用户的需求例如:直板还是翻盖的,尺寸多大,功能要求(MP3,GPRS,触摸屏等),成本要求等。对整个方案进行设计。 2、选择最优的元件,例如液晶屏、CPU等 3、进行电路的设计 4、集成和调试 5、底层驱动程序设计 6、移植wince、linux或者symbian等嵌入式操作系统 软件工程师需要完成以下工作

嵌入式开发工程师简历模板

【个人信息】 姓名: 身高: 性别: 学历: 籍贯: 专业:电子信息工程 联系电话: E-mail: 【求职意向】 嵌入式开发工程师或相关工作,对LINUX驱动开发极感兴趣 【工作经验】 2009.3----2010.3 中山长宝GPS卫星导航有限公司 2009.1----2009.3 中山世博游艺有限公司 【教育背景】 2010.3——2010.7 广州粤嵌通信科技股份有限公司(简称粤嵌教育) ARM+Linux培训 2005.9——2009.6广州大学松田学院电子信息工程工学学士【项目经验】 GPS车载终端,GPS个人定位器(从事一年相关工作) 基于ARM9的嵌入式智能家居系统(QT图像界面,应用程序,驱动等)基于ARM9的嵌入式视频点播系统(包括本地播放,网络播放) ARM9(S3C2440)的嵌入式系统移植(Uboot,Kernel,Rootfs,Driver) LINUX简单聊天工具 【相关技能】 英语水平: 四级 掌握C、C++编程,有良好的编程风格 了解Linux内核机制,熟悉Linux驱动开发 熟练使用单片机(如STC系列,SST系列,INTEL系列) 熟悉ARM9的硬件结构 熟悉Linux操作系统、交叉编译环境,掌握常用脚本编写 熟悉BootLoader制作,内核的剪裁,驱动及根文件系统的移植 熟悉QT编程, TCP/IP协议,掌握Linux应用编程 了解SQL基础知识 熟悉GSM.GPS的使用 【语言水平】 粤语/国语流利;英语已通过CET-4,可阅读专业相关资料

项目简介 GPS车载终端,GPS个人定位器 软件环境:KEIL 51 硬件环境:BENQ M23,M33 通信模块,51单片机,和GPS模块 项目描述:通过MCU把GPS采集的数据处理后,通过串过发送AT指令使GSM 拨通GPRS网络,再把采集的GPS数据,按照定义好的协议上存到监 控平台 ARM9 (S3C2440) LED流水灯、LCD文字及图片显示设计 软件环境:ADS1.2 硬件环境:ARM9(2440)开发板 项目描述:将设计的程序移植到ARM9上,并成功驱动LED、LCD,完成LED 流水灯、LCD文字及图片显示项目 ARM9(S3C2440)嵌入式系统移植 软件环境:Linux2.6.24,U-boot,Qtopia 硬件环境:ARM9(2440)开发板 项目描述:在2440上成功完成了U-boot移植,Linux内核的剪裁与移植,根文件系统的制作,并完成了LED、LCD等驱动的移植。 基于ARM9的VOD点播系统 软件环境:Linux2.6.12,U-boot,Qtopia 硬件环境:GEC2440开发板 项目描述:培训实战项目,完成了S3C2440嵌入式系统的整体移植,它基于QT图形界面,移植了MPlayer播放器,实现了VOD(本地和网络) 多媒体点播, ARM9(S3C2440)嵌入式智能家居系统 软件环境:Linux2.6.12,U-boot,Qtopia 硬件环境:ARM9(2440)开发板 项目描述:本系统主要实现温度检测,红外检测,蜂鸣器报警,步进机转动(模拟控制家电),GSM短信通知等驱动,QT图形界面显示和应用编程. 把温 度传感器和红外线采集的数据,传给应用程序,应用程序把数据显示 在QT界面,当应用程序检测到温度过高或有人闯进时,应用程序就调 用蜂鸣器报警驱动,并发短信通知主人,主人也可以下发短信控制步 进机转动 本人做的LINUX驱动简介 ds18b20温度传感器Linux驱动 该驱动为字符型驱动程序,能从ds18b20芯片读取温度信息. ds18b20芯片采用了独特的 1-wire bus技术,只用一根数据线即可实现与cpu芯片的连接(利用了cpu gpio本身的弱上拉电阻)。本驱动程序的重点是实现字符驱动的读函数接口。由于硬件连线简单,对ds18b20的软件操作较为繁琐,每一个操作都要要经过以下三个步骤:(1)芯片初始化(2)芯片选择(因为一线总线上可挂载多个ds18b20, 所以必须通过一定的机制指明操作的对象) (3)发送功能命令(例如,温度查询命令)和读取数据。在初始化的步骤中,cpu拉低数据线,然后释放数

如何成为linux嵌入式工程师

如何成为linux嵌入式工程师 1、Linux开发工程师(每天学习6小时,用一个月时间) 首先成长为一名Linux开发工程师,这是最基本的目标,他应该具 备如下的素质: (1)了解Linux基本概念和基本操作(历史,文化,起源)(命令行,配置,操作,开发模式) (2)会使用Linux平台下的编辑器vi(默认安装,占内存小,方便 向嵌入式移植) (3)会使用Linux平台下的编译器GCC(相应的十几个命令行参 数) (4)会使用Linux平台下的管理工具Make(与Makefile相配合,尤其用于大项目中多平台移植的情况下) (5)会使用Linux平台下的调试器GDB(可以了解底层硬件,及 汇编指令) 2、嵌入式工程师 他更关心的是将来在哪一目标机上运行,不关心操作系统,进行的 更多与编程相关的工作

(1)合格的C程序的程序员(理解基本的控制结构:循环、分支、 数组、指针) (2)基本的编程思想(编程实践中总结算法) (3)程序的编译和链接 (4)可执行文件内部(段、起始地址、如何加载执行) (5)目标机处理器体系结构 (6)知道处理器的外设即System on Chip(内部存储结构及外设 驱动) (7)汇编语言及指令(主要是用在加载过程中) 3、系统工程师 系统工程师夹在驱动工程师及应用工程师这两个层次之间,他要对系统有一个整体的概念,系统主要是指操作系统,往往理论有余而实践 不足 (1)进程管理与调度(知道进程间的切换与调度,多任务)(2)内存管理(建立MMU页表,知道从虚地址到物理地址的映射)(3)驱动管理(管理设备,编写设备驱动,加载设备驱动)

(4)文件系统(制作文件系统,文件系统的读写,甚至驱动有时也 被当成文件系统来管理) (5)网络协议知识(协议实现作为上层应用与底层驱动之间的 衔接) (6)图形系统知识(支持多窗口及管理窗口,包括窗口切换,窗口 移动和覆盖) 4、嵌入式Linux系统工程师 (1)嵌入式Linux基本概念 (2)交叉编译 (3)Linux内核开发和调试工具 (4)启动代码移植(修改Uboot,Vivi等) (5)内核交叉编译(Linux不支持芯片时要芯片级的移植,支持芯 片时要板级的移植) (6)根文件系统制作 (7)设备驱动程序开发

第三套嵌入式软件工程师考试试题B卷

第三套嵌入式软件工程师 考试试题B卷 The document was prepared on January 2, 2021

嵌入式Linux软件工程师认证考试 B卷 20个小题,每小题1分,共20分) 1、在下列ARM处理器的各种模式中,()模式有自己独立的R8-R14寄存器。 A、系统模式(System)、 B、终止模式(Abort) C、中断模式(IRQ) D、快中断模式(FIQ) 2、按照ARM过程调用标准(APCS),栈指针使用()寄存器, A、R0 B、R13 C、R14 D、R15 3、在ARM体系结构中,()寄存器作为连接寄存器,当进入子程序时或者处理器响应异常的时候,用来保存PC的返回值;()寄存器作为处理器的程序计数器指针。 A、R0,R14 B、R13,R15 C、R14,R15 D、R14,R0 4、在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法() A、直接修改CPU状态寄存器(CPSR)对应的模式 B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态 C、使用软件中断指令(SWI) D、让处理器执行未定义指令 5、下面关于MMU和Linux描述错误的是:() A、MMU是内存管理单元Memory Management Unit的缩写 B、uClinux可以运行在有MMU的处理器上 C、Linux内核功能强大,内存管理功能丰富,即使在没有MMU的处理器上,也可 以通过软件实现地址映射。 D、Linux系统正是利用MMU,才能使得各个进程有独立的寻址空间

嵌入式软件工程师应该知道的16个问题

嵌入式软件工程师应知道的0x10个基本问题(经典收藏版) C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在嵌入式系统上。如果上述任何问题的答案是"是"的话,那么我知道我得认真考虑我是否应该去做这份工作。 从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。不管怎么样,看一下这人如何回答他不会的问题也是满有趣。应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。 有了这些想法,我决定出一些真正针对嵌入式系统的考题,希望这些令人头痛的考题能给正在找工作的人一点帮助。这些问题都是我这些年实际碰到的。其中有些题很难,但它们应该都能给你一点启迪。 这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。 3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。 4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。 2 . 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B) ((A)<= (B) ? (A) : (B)) 这个测试是为下面的目的而设的: 1) 标识#define在宏中应用的基本知识。这是很重要的。因为在嵌入(inline)操作符变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。 2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。

杭州嵌入式开发工程师薪资待遇好不好_华清远见

靠谱!杭州嵌入式开发工程师薪资待遇好不好大家对于计算机技术培训一定有所了解吧,今天,小编就为大家收集和整理了有关的信息,希望能让到家有更深一步的了解! 杭州人文古迹众多,西湖及其周边有大量的自然及人文景观遗迹。其中主要代表性的独特文化有西湖文化、良渚文化、丝绸文化、茶文化,以及流传下来的许多故事传说成为杭州文化代表。这座繁华的城市,想了解计算机技术培训的,必定不在少数,当然,在网络的海量数据库中搜索肯定是不二选择。 网上这么多的相关文章,大家一定挑花眼了吧,下面看看小编为大家总结的超实用福利吧! 这几年嵌入式发展很快,嵌入式也成为很多人想从事的高薪工作。对于大多数人而言,学完嵌入式还是要面临着就业这个问题,也可能只有极少的人选择创业,想做嵌入式开发吗?不要道听途说,还是先了解一下知识情况吧,IT人士都知道这是个待遇不错的岗位。但高到什么程度?难道菜鸟也高?这些你都知道吗应届毕业生:基本只要能从事基本的开发工作,然后有人带你,月薪 是6-10K,不同公司,不同城市,月薪也就不一样,像是阿里巴巴,和北上广,自然工资会偏高,差2000左右,最后是学历,一些公司就是很四班,本科就比专科贵,硕士就比本科贵(无法承担项目开发的情况下,会看这些)。但整体月薪平均会维持在6-10K这个标准,当然也有特别情况。其次还有一些培训机构,会改变学生的建立来达到高新目的。在嵌入式行业相对少,但是andrid、ios这些应用层开发岗位比较多,大多数培训机构把应届生学历改成几年工作经验。结局是企业期望高,而他们又无法独立承担开发任务,最后导致无法通过试用期。这种求高薪的方法是不靠谱的,不建议应届生这样做有经验的嵌入式工程师:目前一般一些小公司更愿意去找能直接创造价值的有经验的工程师,月薪至少是2W起,甚至为了挖人,开的更高,否则根本留不住人。如今到处都是猎头,有能力的,只要你把简历挂在网上,隔三差五就会有猎头给你推荐工作。人往往是经受不了诱惑的,如果这样的话对企业来讲损失很大,毕竟招人到磨合要成本,耽误项目进展就更不值 当了。但一些大公司由于名气在,不怕好手不来,月薪相对固定,企业都有自己的标准,例如阿里、百度、乐视、小米、TCL、美的等等,他们也都在做智能产品。嵌入式软件工程师据了解是20-30K,15薪是最基本的行情,还有就是一些老牌的嵌入式产品的企业,月薪也相对可观,整体月薪位于20K-40K之间吧。要说嵌入式工程师工资,比较差的往往是外包公司,一些公司不愿意高薪养人,有项目直接给一些外包公司做。外包公司一般就比较便宜些,招人要求也不是太高,能干活通通都要,并且上班时间比较长,月薪水平相对行业来说严重拖后腿,但比较锻炼人,连续开发几个项目能跳就跳吧!除非有上升管理岗的可能(个人之见)。从上边小编的描述不难看出其实嵌入式行业也没有“天上掉馅饼”的,最终的薪资水平还是跟你的能力有着直接的关系,这也正是很大学生来华清远见培训的原因,对嵌入式感兴趣的你,还等什么呢? 华清远见教育集团是国内一家知名的高端IT就业品牌,从成立至今连续13年来源源不断的向IT 行业输送优秀的开发人才,每年有上万名技术人员受益于华清远见举办的长期及短期就业培训课程、技术研讨会及企业内训等。品牌的积累靠多方的力量,而教学的核心是教材,这也是我们最重要的竞争力,华清远见的所有教材均是自己编写,目前清远见凭借研发中心雄厚的实力,自主研发实训项目及平台50多套,原创图书教材90余本,成为业内的一枝独秀。我们的品牌与实力是业

嵌入式软件工程师个人简历

嵌入式软件工程师 个人信息: 姓名:董国杰性别:男 学历:本科专业:电子信息工程 现居住地:上海市浦东新区出生日期: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、根据单词查询输入框中用户用户输入的单词的变化动态的从单词库中

应聘硬件工程师或研发类工作资料集锦_硬件工程师_电子工程师_嵌入式工程师_单片机_笔试题目_面试题目

用一个宏定义FIND求一个结构体CTYPE里某个变量CNUM相对了CTYPE的编移量。 如:stuct student { int a; char b[20]; double ccc; } 则: FIND(student,a); //等于0 FIND(student,b);//等于4 二楼的可以。 #define FIND(type,member) (int)(&( ((type*)0)->member) ) struct student { int a; char b[20]; double ccc; }; int main(int argc,char* argv[]) { int i=FIND(student,a); //等于0 i=FIND(student,b);//等于4 return 0; } 调试结果是对的。 题目出得很好: 其实就是考下这个宏offsetof ,定义在文件stddef.h 中. #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) TYPE是某struct的类型0是一个假想TYPE类型struct,MEMBER是该struct中的一个成员. 由于该struct的基地址为0, MEMBER的地址就是该成员相对与struct头地址的偏移量. 再往深处,接触过Linux Kernel的会知道这个宏container_of,就嵌套了宏offsetof ,其在Linux Kernel中的应用非常广泛,它用于获得某结构中某成员的入口地址. 1.运放求放大倍数的 2.三极管基础知识(放大区,截至区,饱和区) 3.并联RC变换成串联RC 4.运放求反馈的 5.单片机和74hc595硬件连接和编程 6。数据结构-----队列,建立一个队列,写数,读数。 一简答题

嵌入式软件工程师笔试题

(一) 1什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 2 char * const p char const * p const char *p 上述三个有什么区别? 答案: char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改const char *p;//和char const *p 3 char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; out < < ( str7 == str8 ) < < endl; 结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。 4以下代码中的两个sizeof用法有问题吗? [C易] void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母 { for( size_t i=0; i

硬件、嵌入式工程师笔面试

笔面试题 1、技术类 (1)描述一下你的项目 (2)单片机I/O口需要注意的问题 驱动能力不强,高电平驱动时需要加上拉电阻; 电平匹配,上拉或分组。 51单片机的P0口常用作数据线和低8位地址线、P2常用作高8位地址线。 (3)单片机不能启动的原因 1)晶振没有振荡,测量晶振是否起振; 2)一直在复位状态,检查复位电路; 3)程序飞了,检查程序; 4)程序编制错误,检查程序; 5)单片机坏了,更换单片机芯片; 6)硬件电路错误。 (4)单片机最小系统 1)复位电路: 当引脚9出现2个机器周期以上高电平时,单片机复位,程序从头开始运行。

2)时钟电路:有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。 也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。 3)电源电路:VCC和GND引脚。 4)程序下载电路。(并不严格包含) (5)哈弗结构和冯洛伊曼结构 哈佛结构:是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点: 1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存; 2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。 改进的哈佛结构,其结构特点为: 1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理; 2、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输; 哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的A VR系列和安谋公司的ARM9、ARM10和ARM11。 冯·诺伊曼结构:也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的

嵌入式软件工程师简历

简历 姓名: 性别: 年龄: 电话: E-mail: 学历: 学校: 专业: 嵌入式软件工程师 本人性格开朗,容易与人相处,对Linux有浓厚兴趣,较强的学习能力。 1. 熟练使用C语言,能进行C++开发,对汇编有一定了解,有数据结构基础。 2. 有多种单片机AVR、FreeScale、NEC,ARM等开发编程经验。 3. 熟悉Linux常用命令,掌握GCC编译器、GDB调试工具、MakeFile及Shell 脚本。 4. 熟悉嵌入式Linux开发,内核裁剪及配置、交叉编译、根文件系统制作等。 5. 掌握Linux系统编程,如进程、多线程,文件IO,及基本Socket网络编程,Sqlite数据库编程。 6. 掌握Linux设备驱动原理,了解平台设备驱动框架,linux模块子系统的构建,设备驱动开发过程,进行过ARM片上资源外设(Key、Led、EEprom等)驱动编写。 7. 掌握Uboot的移植,了解Uboot各资源模块的驱动过程。 8. 深入研读过uCOS微内核源码,熟悉微操作系统原理,进行过ucGUI界面开发。 9. 能够阅读英文技术文档,有持续的探索精神。

2011 /9--2012 /3:ARM9无线点餐机 软件环境:C语言 硬件环境:S3C2440 开发工具:ADS1.2 项目描述:基于ucos/ucgui无线点餐机基于触屏的菜单操作,实现点菜,退订,提交,结账,重选,预览菜品等多种功能。 责任描述:主要负责ARM9软件的开发,硬件平台是GT2440开发板。 2011 /7--2011 /9:电子设计大赛 软件环境:C语言 硬件环境:AVR-MEGA16 开发工具:GCC(winavr) 项目描述:并联电源实现智能分流控制,直流24V转化为8V,两路电源的电流可随意控制。DC-DC斩波电路,电流电压高精度采样,数模转换,运放等。 责任描述:方案原理图的绘制,单片机软件程序编写。 2011 /5--2011 /7:飞思卡尔智能车大赛 软件环境:C语言 硬件环境:飞思卡尔16位单片机-HC9S12XS128 开发工具:CODEWARRIOR 项目描述:荣获二等奖,按照预定的赛道自动识别路径,自动完成发车,停车,转向,跟踪,识别最佳路线的功能,用SD卡记录赛道信息,对电机舵机进行控制,并用编码器测速构成闭环回路。最终速度可达到2.5m。涉及SD卡读写,舵机,电机控制,摄像头信号采集,图像滤波、路径识别,PID算法等。 责任描述:软件编写 2010 /5--2010 /7:中国机器人大赛 软件环境:C 硬件环境:AVR—MEGA1280 开发工具:ARDUUINO 项目描述:荣获二等奖。巡线机器人,用红外接近开关,灰度传感器等构成小车系统,按照预定的线路规划,自主巡线并完成指定任务。涉及红外接近开关,电机,舵机控制,PID算法。 责任描述:软件编写 计算机(二级)

嵌入式工程师工作要求

嵌入式软件工程师 职位名称:嵌入式软件工程师性别:男 待遇: 6000-10000人数: 5 2011-1-24 人气: 2306时间: 2:52:01工作方式:全职 职位描述及要求: 1. 基于ARM平台编写linux底层驱动程序以及应用层程序的开发; 2. 本科及以上学历,计算机、自动化或相关专业,三年以上嵌入式系统软件开发经验优先; 3. 精通嵌入式linux C/C++语言程序开发,熟悉至少一种处理器架构及其汇编; 4. 掌握嵌入式驱动程序的开发及调试,熟悉板级调试及相关仪器使用; 5. 掌握嵌入式应用层程序的开发,熟悉QT编程者优先; 6. 有硬件设计能力者优先; 7. 具备良好的文档编写能力和习惯,能够编写规范的概要和详细设计文档; 8. 对程序设计有精益求精的态度,良好的团队合作精神和沟通能力。

熟悉TCP/IP,FTP, TFTP,TELNET, Radius等协议 职位描述: 1、熟悉ARM体系架构、熟悉相应外围接口电路 2、三年以上linux驱动开发经验; 3、有bootloader、嵌入式系统移植经验; 具有嵌入式下的 USB、Audio、LCD、Camera、Flash、bootloader ,电源管理等驱动程序的开发经验; 嵌入式硬件工程师 职位名称:嵌入式硬件工程师性别:男 待遇: 6000-10000人数: 5 2009-2-22 人气: 3180时间: 21:08:09工作方式:全职 职位描述及要求: 必须两年以上工作经验。 1、熟悉51系列单片机、熟悉嵌入式系统硬件电路设计; 2、Cadence、Pads、Altium Designer(protel)三种软件中熟练掌握一种用法,能够轻松绘制4层及4层以下PCB板。 2、单片机、嵌入式系统的产品样机焊接、调试及测试。 3、有扎实的模拟电路、数字电路设计及分析能力。 4、有大量的项目开发经验者优先、3年以上工作经验者优先。

嵌入式助理工程师硬件试题

嵌入式硬件助理工程师认证考试试题题库 一、选择题 1、以下说法不正确的是(B )。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2、用图形点阵的方式显示一个16*16点阵汉字需要(B )字节。 A、8 B、32 C、16 D、64 3、下列描述不属于RISC计算机的特点的是(C)。 A.流水线每周期前进一步。 B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 4、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则 2000H存储单元的内容为( D)。 A、0x21 B、0x68 C、0x65 D、0x02 5、μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A. 先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。 6、RS232-C串口通信中,表示逻辑1的电平是(D )。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 7、ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 8、IRQ中断的入口地址是( C)。 A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 9、S3C2420X I/O口常用的控制器是(D)。 (1)端口控制寄存器(GPACON-GPHCON)。

嵌入式软件工程师经典笔试题

预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的。 3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编 译器这个常数是的长整型数。 4). 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。 记住,第一印象很重要。 2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B) ((A) <= (B) (A) : (B)) 这个测试是为下面的目的而设的: 1). 标识#define在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变 为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到 要求的性能,嵌入代码经常是必须的方法。 2). 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if- then-else更优化的代码,了解这个用法是很重要的。 3). 懂得在宏中小心地把参数用括号括起来 4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事? least = MIN(*p++, b); 3. 预处理器标识#error的目的是什么? 如果你不知道答案,请看参考文献1。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种 问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。 4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢? 这个问题用几个解决方案。我首选的方案是: while(1) {

嵌入式软件开发个人简历

嵌入式软件开发个人简历 【篇一】 姓名: 性别: 出生日期: 民族:汉 户籍:黑龙江省饶河县 现居住地:北京海淀区 邮箱: 电话: 教育/培训 2011年8月—2011年11月凌阳(北京)爱普公司嵌入式软件工程师每日在公司学习时间:朝八晚十(周一~周六) 学习内容: 求职意向: 嵌入式软件工程师(应用程序开发)(无锡+苏州) 个人技能 掌握C/C++编程语言,以及常用的数据结构和基本算法。 掌握Linux下应用程序的开发过程,具有良好的编程风格。 掌握QT图形开发技术。 掌握TCP/IP协议,掌握socket网络编程。 掌握vi、gcc、VC++6.0、QTCreator等开发工具的使用。 了解ARM体系结构,掌握三星公司2410、2440系列处理器。 初步了解嵌入式平台搭建过程

项目经验 ①黑白棋 项目描述:基于QT的GUI界面,独立完成项目的整体构架机功能模块的划分,整体界面的设计,游戏规则算法及各模块功能的实现。能够实现双人对战, 人机对战,悔棋,计时等功能。 心得体会: 1、掌握了QT/C++编程的核心思想和技巧。 2、掌握了QT基本框架,常用的部件外观及其基本功能。 3、熟悉了QT的信号与槽、事件机制。 ②歌词解析器 项目描述:本项目在C语言阶段是非常具有代表性的,通过本项目对C语言 的重点知识灵活运用,完成lrc格式歌词的文件读取、解析、存入链表等,并通 过屏幕与歌曲同步实时显示。 心得体会:通过该项目能熟练掌握C语言字符切割操作、基本数据结构,培 养良 好的编程规范。 ③MPlayer播放器 项目描述:基于三星S3C2440开发板的Mplayer播放器。利用TFT图形库实 现MplayerUI 界面的设计。实现Mplayer播放、暂停、上一首、下一首、静音、音量调节、播放列表、歌曲信息、播放进度等功能。 心得体会:该项目中涉及到多进程、多线程以及进行间通信、重定向等系统 编程知识,是对所学知识点的强化和提升。 ④基于Linux的信息交换系统(飞鸽传书) 项目描述:运用TCP、UDP网络通信协议,实现局域网内多人聊天与文件传 输等功能,具备用户上下线动态识别机制。 心得体会:基本熟悉了TCP/IP协议、Socket、TCP、UDP的网络编程。

嵌入式硬件工程师岗位工作职责范本

岗位说明书系列 嵌入式硬件工程师岗位工 作职责 (标准、完整、实用、可修改)

编号:FS-QG-68741嵌入式硬件工程师岗位工作职责Embedded hardware engineer job responsibilities 说明:为规划化、统一化进行岗位管理,使岗位管理人员有章可循,提高工作效率与明确责任制,特此编写。 简介:嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 嵌入式职位描述(模板一) 岗位职责:

1、负责智能硬件产品的底层软件开发; 2、负责智能硬件产品的生产测试软件开发; 3、负责智能硬件产品人机交互开发; 4、负责蓝牙等接口开发。 任职要求: 1、本科及以上学历; 2、具有良好的逻辑思维能力,学习能力强; 3、有良好的C语言基础,能够快速学习新的Soc的SDK,并利用其开发相关应用; 4、熟悉主流单片机系统的开发环境编程(KEIL、IAR等),调试,烧录; 5、熟悉蓝牙、wifi等常见的无线通信协议,有做过低功耗蓝牙产品经验者优先; 6、熟悉UART、SPI、I2C、USB等接口; 7、有生产测试软件开发相关经验者优先; 8、英文阅读能力良好,能快速学习新的硬件设备的SPEC 文档; 9、能够顶住比较大的工作压力,能够跟团队成员融洽相

嵌入式软件工程师C语言笔试题

软件笔试题(A) 姓名:学校: 专业:电话: (如无特殊说明,以下所有测试内容都是基于32位嵌入式系统) 1)程序的局部变量存在于中,全局变量存在于中,动态申请数 据存在于中。 2)如何用if来做零值比较 int a : if(a==0) bool a : float a : void * a : 3) void func( char str[100]) { printf(“%d”,sizeof( str ) ); } 输出结果是: 有下列定义: char str[] = “Hello World”; char *p = str; int n = 10; void *ptr = malloc( 100 ); 请写出如下表达式的值: sizeof (str ) = ; sizeof ( p ) = ; sizeof ( n ) = ; sizeof ( ptr )= ;

4) unsigned char *p1; unsigned long *p2; p1=(unsigned char *)0x87000000; p2=(unsigned long *)0x80010000; 请问p1+5 = ; p2+5 = ; 5)char str[10]; strcpy(str,"0123456789"); 产生什么结果?为什么? 6)用C语句,让程序跳转到绝对地址0xFFFF0去执行 7)已知一个数组array,用一个宏定义,求出数组的元素个数 #define ARRAY_COUNT 8)简要说明,为什么标准头文件都有类似以下的结构。 #ifndef __INC_Honeywell_Debug #define __INC_Honeywell_Debug #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif #endif /*__INC_Honeywell_Debug */

相关文档
相关文档 最新文档