第一篇:嵌入式软件工程师评估题目
1.计算下列C语言表达式的值
0x34 & 0x78值为______
= = 0x64值为______
0x8 | 0x70值为______
0x55 ^ 0x88值为______&& 2值为______
strlen(“Hello!”)值为______
sizeof(char)值为______
32位系统上, sizeof(long)值为______
0x20 < 30? 1:2 值为______
!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 processor based on ARM11 core from Freescale.It is a high-speed, low power consumption processor.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 access for RAM and NAND Flash was designed to be flexible and extendible.The Flash bad-block management,Flash access control, mutually exclusive access, 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 successfully with software workaround.A mature solution for mass production was resulted.
第二篇:嵌入式软件工程师
嵌入式软件工程师
目录 简介 2 待遇 3 职业要求 4 发展前景 5 职业发展 简介 2 待遇 3 职业要求 4 发展前景 职业发展 简介
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式软件工程师就是编写嵌入式系统的工程师。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项目经理
第三篇:嵌入式软件工程师个人简历
嵌入式软件工程师
个人信息:
姓名:董国杰
学历:本科性别:男 专业:电子信息工程现居住地:上海市浦东新区出生日期: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高级工程师证书
嵌入式工程师证书
第四篇:嵌入式软件工程师课程
课程体系
在实训项目经理的带领下,通过完成多个企业级项目(基于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年嵌入式软件软件开发经验。
第五篇:嵌入式软件工程师如何学习
嵌入式软件工程师如何学习
嵌入式工程师如何学习
嵌入式行业,技术的更新是非踌的,每一位工程师都需要在中不断的更新自己的知识,掌握技术动态或者解决自己中遇到的问题,以下是嵌入式软件工程师获取新知识的一些方式,也给即将成为嵌入式工程师的你一些好的建议:
去相关专业网站上学习:
调查数据显示,在嵌入式工程师经常关顾的网站中,CSDN和21IC所占的比例最大,分别为23%和18%,而这两个网站也分别代表了编程开发人员以及电子工程师两类人群,而嵌入式在线、电子工程专辑、电子产品世界、EDN、IT实验室所占比例均为10%-15%左右。
嵌入式工程师通过其它途径获取行业信息:
调查数据显示,“技术图书、专业论坛、业内门户网站、搜索引擎”是嵌入式工程师获取知识的主要途径(接近70%),其中各项所占比例分别为20%、16%、16%、14%,网络已经成为嵌入式工程师获取专业知识的主要途径。除了以上4大途径外,部分工程师也会通过培训、厂商网站、博客/群组、杂志/期刊/报纸、行业展会/技术研讨会以及电子邮件订阅等途径获取信息。牛耳教育提供的免费电子图书、视频教程等资料每年下载次数已达到十多万。
搜索引擎是各类工程师最好的老师:
xinpujingyulecheng89.com E0DNK
对搜索引擎的使用调查中,百度虽然占据国内搜索引擎市场绝大部分的市场份额,但超过60%以上的嵌入式工程师们却明显偏爱于使用google,造成这一结果的原因是,工程师们可以从国外的网站获取更多技术资料以及学习资料。同时我们也可以得出这样一个结论:在嵌入式这一高端领域的学习中,因为很多技术资料都是英文的,所以要及时了解技术发展、学习相关的技术,开发者具备一定的英文阅读能力是非常有必要的。
xinpujingyulecheng89.com E0DNK