嵌入式开发是什么,与纯软件什么区别?
关注、星标公众号,直达精彩内容
参考:网络资料
整理:李肖遥
嵌入式大体分为以下四个方向:
一、嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力。熟练掌握嵌入式硬件知识,熟悉硬件开发模式和设计模式,熟悉ARM32位处理器嵌入式硬件平台开发、并具备产品开发经验。精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般需要有4~8层高速PCB设计经验。
二、嵌入式驱动开发:熟练掌握Linux操作系统、系统结构、计算机组成原理、数据结构相关知识。熟悉嵌入式ARM开发,至少掌握Linux字符驱动程序开发。具有单片机、ARM嵌入式处理器的移植开发能力,理解硬件原理图,能独立完成相关硬件驱动调试,具有扎实的硬件知识,能够根据芯片手册编写软件驱动程序。
三、嵌入式系统开发:掌握Linux系统配置,精通处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容;掌握Linux文件系统制作,熟悉各种文件系统格式(YAFFS2、JAFFS2、RAMDISK等);熟悉嵌入式Linux启动流程,熟悉Linux配置文件的修改;掌握内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程;、熟悉搭建Linux软件开发环境(库文件的交叉编译及环境配置等);
四、嵌入式软件开发:精通Linux操作系统的概念和安装方法、Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识;精通C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识、数据结构的基础内容,包括链表、队列等;掌握面向对象编程的基本思想,以及C++语言的基础内容;精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库;熟悉常用的图形库的编程,如QT、GTK、miniGUI、fltk、nano-x等。
公司的日常活动还是看公司的规模,大一点的一般只是让你负责一个模块,这样你就要精通一点。若是公司比较小的话估计要你什么都做一点。还要了解点硬件的东西。
那么看了这么多,嵌入式和纯软最大的区别在于:
纯软学习的是一门语言,例如C,C++,java,甚至Python,语言说到底只是一门工具,就像学会英语法语日语一样。
但嵌入式学习的是软件+硬件,通俗的讲,它学的是做系统做产品,讲究的是除了具体的语言工具,更多的是如何将一个产品分解为具体可实施的软件和硬件,以及更小的单元。
不少人问,将来就业到底是选驱动还是选应用?只能说凭兴趣,并且驱动和应用并不是截然分开的。
▍PART 01
我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程的休眠唤醒调度等概念。想写出一个好的应用,想比较好的解决应用碰到的问题,这些知识大家应该都懂。
▍PART 02
做应用的发展路径个人认为就是业务纯熟。比如在通信行业、IPTV行业、手机行业,行业需求很了解。
▍PART 03
做驱动,其实不能称为“做驱动”,而是可以称为“做底层系统”,做好了这是通杀各行业。比如一个人工作几年,做过手机、IPTV、会议电视,但是这些产品对他毫无差别,因为他只做底层。当应用出现问题,解决不了时,他就可以从内核角度给他们出主意,提供工具。做底层的发展方向,应该是技术专家。
▍PART 04
其实,做底层还是做应用,之间并没有一个界线,有底层经验,再去做应用,会感觉很踏实。有了业务经验,再了解一下底层,很快就可以组成一个团队。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
扫描下方微信,加作者微信进技术交流群,请先自我介绍喔。推荐阅读:嵌入式编程专辑Linux 学习专辑C/C++编程专辑
Qt进阶学习专辑关注微信公众号『技术让梦想更伟大』,后台回复“m”查看更多内容。
长按前往图中包含的公众号关注
嵌入式开发是什么,与纯软件什么区别?相关推荐
- SPC58芯片的嵌入式开发准备工作——SPC5Studio与Debug软件的安装
(一)SPC5Studio的安装是相对简单的. 参考官方的指导手册即可. 第一步:从官网上下载最新版本的软件. 第二步:按指导手册安装软件(免费的) <SPC5Studio安装应用向导 > ...
- 纯软件程序员向嵌入式系统工程师转型时需注意的问题
纯软件程序员向嵌入式系统工程师转型时需注意的问题 在中国,PC(主要是Windows-Intel体系)软件开发程序员,也就是"纯软件程序员"的"黄金年龄段"较短 ...
- 嵌入式开发<网络调试工具>
嵌入式开发<网络调试工具> 前言 1,设备参数分类 2,设备参数修改 3,调试工具软件 一.软件界面 二.功能说明 1.网络设置 1)TCP Client设置 A, 协议类型: B, 远程 ...
- 专访许雪松:深入理解嵌入式开发
许雪松,毕业于西北工业大学生物医学工程专业,现任必达测控技术总经理.15岁开始接触计算机编程,18岁学习C/C++编程,迄今已十多年有余,领导并参与大大小小几十个项目的开发及维护.涉及工业自动化.嵌入 ...
- 教你怎么更好的学习嵌入式开发
很多大学生.初学者总爱问一个问题:该不该放弃嵌入式.单片机这条路? 以下是一位网友分享的嵌入式开发经历,希望可以帮到你. 阶段 1 大一到大三这个阶段我与大多数学生相同: 学习本专业知识(EE专业), ...
- 单片机开发和嵌入式开发的区别
单片机开发和嵌入式开发都是针对嵌入式系统的应用领域,但是两者有着不同的特点和应用场景.在本文中,我们将探讨单片机开发和嵌入式开发的区别,并介绍它们的应用场景和技术特点. 一.单片机开发和嵌入式开发的区 ...
- 学习纯软件开发(如Java/Python...)还是C语言、嵌入式、物联网呢?
我国科技的迅速发展带动了计算机行业的兴盛发展,越来越多的学生,在职人士以及想要提升自己的人群都想学习这一行,给自己的美好未来打好物质基础,有得人想要学习纯软件开发比如Java/Python...,有的 ...
- AES加解密效率测试(纯软件AES128/256)--以嵌入式Cortex-M0与M3 平台为例
目录 AES256/128 纯软件加解密时间效率测试--以Cortex-M0与M3 MCU为例 一.测试环境与方法: 二.测试代码介绍(以AES256为例) 三.测试结果与抓包截图 1.主频统一设置为 ...
- 从硬件工程师转到纯软件开发,回顾那些岁月
1. 序 前段时间,我写了很多关于js的文章,分享的乐趣使我决定继续写下去.在接下来的时间,我计划也开始写关于Java的内容. 其实我很早以前就想写了,Java是我毕业后学的第一门语言,准确来说,如果 ...
- 基于软件开发对嵌入式开发的思考
由于本人专业方向是计算机体系结构方向的,平时做嵌入式方面的实验以及项目较多,这个学期又学习了软件工程的课程,因此想借此机会,总结下在软件工程上面学习到的知识,并看看是否有什么能够借鉴到嵌入式方向的开发 ...
最新文章
- Python控制流:顺序结构、分支结构、循环结构+for、if ... else、while、if... elif...elif..else、if
- torch.empty()
- 【积淀】半夜突然有点想法
- 卷积神经网络(CNN)在无人驾驶中的应用
- 初识virtual memory
- 工作所用的模块回滚脚本
- Java为xml跟节点添加子节点_如何将xml节点作为第一个子节点插入Java中的另一个xml文档中?...
- 40Linux组41Linux所有者42Linux所在组43Linux修改所有组
- 改写画质、突破性能, Unity 全面升级!
- opencv 重用代码块记录
- Python基础-通过随机数实现抽奖功能 (代码分享)
- 细数实现流水灯的三种代码形式
- flash在线拍照并上传
- Unity Shader零基础入门4:纹理贴图与法线贴图
- 今天安利几个App给你
- AI 图像识别的测试
- 对话英特尔副总裁Erez Dagan:自动驾驶引擎盖下的秘密!|《新程序员》
- java把汉字转换成拼音_Java实现汉字转换为拼音
- 【VLAN高级技术】--- MUX VLAN运行原理及实例配置讲解
- win7 codecs 32/64位 v11.3.4