嵌入式软件工程师专业知识

1.嵌入式软件工程师必备技能有哪些

1.编程语言能力

作为一名专业的软件工程师,应该能够熟练掌握JAVA语言,并且能够深入理解OOP、OOA、OOD等编程思想。精通一门编程语言能为以后的软件开发打下坚实的基础。

2.编码能力

这里说的编码可不是照着书本敲代码,而是能够独立的运用代码,编写一个程序出来。有很多软件工程师,他们都是随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,缺乏最基本的职责素养。

小编认为,对于软件工程师或程序员来说,代码就像自己的孩子一样,一定要付出感情,这样才能编写出好的程序。

3.学习能力

IT技术可谓是更新换代最快的了,从市面上的电脑和手机就可以看出来。所以,只依靠自己之前学到的知识,很快就会被这个时代所淘汰,软件工程师应具备的技能里很重要的一点就是学习能力。因为只有具备了学习能力,才能在离开学校之后仍然能够独立地学习最新的技术,同时能够自主的发现现在有什么新技术,市场上流行的技术元素与市场需求的变化。

4.设计能力

一个优秀的软件工程师不仅仅具备扎实的专业知识与技能,而且还要具备一定的设计能力。因为只有这样,才能使一个软件或者应用更加完美,更加容易受到人们的欢迎,从而获得更广阔的市场。

5.团队协作能力

软件开发并不是孤军奋战,很多时候一个软件需要几个人一起开发,这个时候就需要大家齐心协力,共同努力了。这时候,作为软件工程师就需要具备一定的团队协作能力了,来保证每个人都负责相应的方向,不能只为了突出自己而不顾整个团队。

2.嵌入式软件工程师需要哪些素质和知识

说起嵌入式,它是一个充满挑战的行业,是软硬件结合的完美产物,所以要想学好嵌入式,需要软硬件都有所了解掌握,但你可以偏重某一方面,以此作为求职方向目标。

你也不要被它庞大的学习体系吓到了,你必须选择一个切入点,如果是学软件的,首先第一个关键就是你的C语言的底子,这是你的根基,一定要打结实了,

不然上面的东西学的再好也是空中楼阁;然后是操作系统,比如Linux,重点在它的Shell命令及编程,进程和线程的机制,文件IO等Linux下的C高级编程。

在Linux下C编程还要熟悉Makefile,这会使你的开发事半功倍。之后就是和硬件相关的知识,比如电路原理图,设备驱动,学软件的同学大可不必怕

3.嵌入式软件工程师 学习的主要科目是什么

一、考试说明

1、考试要求:

(1)掌握科学基础知识;

(2)掌握嵌入式系统的硬件、软件知识;

(3)掌握嵌入式系统分析的方法;

(4)掌握嵌入式系统设计与开发的方法及步骤;

(5)掌握嵌入式系统实施的方法

(6)掌握嵌入式系统运行维护知识;

(7)了解信息化基础知识、信息技术引用的基础知识;

(8)了解信息技术标准、安全,以及有关法律的基本知识;

(9)了解嵌入式技术发展趋势;

(10)正确阅读和理解计算机及嵌入式领域的英文资料。

2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。

4.想成为嵌入式软件工程师要学哪些知识(求详解)

1、C/C++编程语言

2、算法思想和数据结构

3、UNIX/Linux操作系统上的软件开发环境及常用工具(GNU开发套件),熟悉各种Linux的调试工具和方法,如GDB、G++ 、coredump

4、常见嵌入式处理器,有ARM7、ARM9、ARM11等嵌入式处理器编程,包括Ethernet、UART、USB、DMA、I2C、SPI等等

5、网络开发及相关网络协议,如TCP/IP,SERIA,SNMP,TCP、UDP、HTTP、FTP等网络协议

6、linux系统的Socket网络编程

7、linux系统的多线程编程

8、linux系统的常用脚本语言(Shell、PHP)

9、Linux模块的底层驱动编程

10、应用层得RTP工作原理

11、Linux内核的修改、配置、编译等。

5.什么是嵌入式软件工程师,主要是从事哪方面的,需要具备哪方面的知

嵌入式是一门软硬结合的技术,搞嵌入式软件的也是需要一些硬件基础的,而且由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续深入学习过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。

对硬件熟悉,如微处理器,微控制器的结构 ,常用外围器件 如存储器、常用的转换器、如AD DA等等 太多了,最好能自己设置一个东西,从开始设计到器件选择做电路都能试试。

6.做一名嵌入式软件工程师应必备那些技能

嵌入式系统设计师考试大纲 一、考试说明 1、考试要求: (1)掌握科学基础知识; (2)掌握嵌入式系统的硬件、软件知识; (3)掌握嵌入式系统分析的方法; (4)掌握嵌入式系统设计与开发的方法及步骤; (5)掌握嵌入式系统实施的方法 (6)掌握嵌入式系统运行维护知识; (7)了解信息化基础知识、信息技术引用的基础知识; (8)了解信息技术标准、安全,以及有关法律的基本知识; (9)了解嵌入式技术发展趋势; (10)正确阅读和理解计算机及嵌入式领域的英文资料。

2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。 二、考试范围 考试科目1:嵌入式系统基础知识 1.计算机科学基础 1.1数制及转换 o 二进制、八进制、十进制和十六进制等常用数制及其相互转换 1.2数据的表示 o 数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出) o 字符、汉字、声音、图像的编码方式 o 校验方法和校验码(奇偶验码、海明校验码、循环校验码) 1.3算术和逻辑运算 o 计算机中的二进制数运算方法 o 逻辑代数的基本运算和逻辑表达式的化简 1.4计算机系统结构和重要部件的基本工作原理 o CPU和存储器的组成、性能、基本工作原理 o 常用I/O设备、通信设备的性能,以及基本工作原理 o I/O接口的功能、类型和特点 o 虚拟存储存储基本工作原理,多级存储体系 1.5安全性、可靠性与系统性能评测基础知识 o 诊断与容错 o 系统可靠性分析评价 o 计算机系统性能评测方法 2.嵌入式系统硬件知识 2.1数字电路和逻辑电路基础 2.1.1组合电路和时序电路 2.1.2总线电路与电平转换电路 2.1.3可编程逻辑器件 2.2嵌入式微处理器基础 2.2.1嵌入式微处理器体系结构 o 冯.诺伊曼结构与哈佛结构 o CISC与RISC o 流水线技术 o 信息存储的字节顺序(大端存储法和小端存储法) 2.2.2嵌入式系统处理器的结构和类型 o 常用8位处理器的体系结构和类型 o 常用16位处理器的体系结构特点 o 常用32位处理器的体系结构特点 o 常用DSP处理器的体系结构特点 o 多核处理器的体系结构特点 2.2.3异常 o 同步异常(陷阱、故障、终止) o 异步异常(中断) o 可屏蔽中断、不可屏蔽中断 o 中断优先级、中断嵌套 2.3 嵌入式系统的存储体系 2.3.1存储器系统 o 存储器系统的层次结构 o 高速缓存(Cache) o 内存管理单元(MMU) 2.3.2 ROM的种类与选型 o 常见ROM的种类 o PROM、EPROM、E2PROM型ROM的典型特征和不同点 2.3.3 Flash Memory的种类与选型 o Flash Memory的种类 o NOR和NAND型Flash Memory的典型特征和不同点 2.3.4 RAM的种类与选型 o 常见RAM的种类 o SRAM、DRAM、DDRAM、NVRAM的典型特征和不同点 2.3.5 外存 o 常见外存的种类 o 磁盘、光盘、CF、SD等的典型特征和不同点 2.4 嵌入式系统I/O接口 2.4.1 定时器和计数器基本原理与结构 2.4.2 GPIO、PWM接口基本原理与结构 2.4.3 A/D、D/A接口基本原理与结构 2.4.4键盘、显示、触摸屏接口基本与结构 2.4.5嵌入式系统音频接口 2.5嵌入系统通信及网络接口 o PCI、USB、串口、红外、并口、SPI、IIC、PCMCIA的基本原理与结构 o 以太网、CAN、WLAN、蓝牙、1394的基本原理与结构 2.6嵌入式系统电源分类及电源原理 2.7电子电路设计 2.7.1电子电路设计基础知识 o 电子电路设计原理 o 电子电路设计方法及步骤 o 电子电路设计中的可靠知识 2.7.2 PCB设计基础知识 o PCB设计原理 o PCB设计方法及步骤 o 多层PCB设计的注意事项及布线原则 o PCB设计中的可靠性知识 2.7.3电子电路测试基础知识 o 电子电路测试原理与方法 o 硬件抗干扰测试 3. 嵌入式系统软件知识 3.1嵌入式软件基础知识 3.1.1嵌入式软件的分类(系统软件、支撑软件、应用软件) 3.1.2无操作系统支持的嵌入式软件体系结构(轮询、中断、前后台) 3.1.3有操作系统支持的嵌入式软件体系结构 3.1.4板极支持包基础知识(系统初始化、设备驱动程序) 3.1.5嵌入式中间件(GUI、数据库) 3.2 嵌入式操作系统基础知识 3.2.1嵌入式操作系统体系结构 o 单体结构、分层结构和微内核结构 3.2.2任务管理 o 多道程序技术 o 进程、线程、任务的概念 o 任务的实现(任务的层次结构、任务控制块、任务的状态及状态转换、任务队列) o 任务调度(调度算法的性能指标、可抢占调度、不可抢占调度、先来先服务、短作业优先算法、时间片轮转算法、优先级算法) o 实时系统及任务调度(RMS、EDF算法) o 任务间通信(共享内存、消息、管道、信号) o 同步与互斥(竞争条件、临界区、互斥、信号量、死锁) 3.2.3存储管理 o Flat存储管理方式 o 分区存储管理(固定分区、可变分区) o 地址重定位(逻辑地址、物理地址、地址映射) o 页式存储管理 o 虚拟存储技术(程序局部性原理、虚拟页式存储管理、页面置换算法、工作集模型) 。

7.嵌入式软件工程师主要做什么工作

主要课程:C语言程序设计、数据结构、嵌入式操作系统(WinCE/Linux/ Symbian)、单片机原理与开发、嵌入式GUI、移动/手机应用软件开发、DSP嵌入式系统开发、嵌入式软件系统测试

培养目标:精通嵌入式程序设计语言和相关软件开发工具,掌握嵌入式软件的基本理论和开发流程,达到各类嵌入式软件、移动应用开发企业对软件工程师的基本要求。 。

职业取向:可在各类电子信息技术企业、嵌入式软件及相关外包公司、参与和组织嵌入式软件开发、测试工作

主管院系:计算机系

专业层次:专科学制:两年嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用) 好不好找工作就看你学的程度咯~~~

%title插图%num