笔者之前曾就职于杭州海康威视,提起这家公司,想必嵌入式领域的同学都很清楚,这是一家安防监控企业,虽然近些年来一直在说自己做人工智能,但离开嵌入式,摄像头是工作不了的。

还记得四年前的秋天,我大三那年,拿着自己卑微的简历去面试了这家公司,当时太过年少,不知道何为嵌入式,时至今日,才发觉,自己当时由于认知水平有限,错过了很多学习机会。想来后悔不已,因此,将自己对于嵌入式的认知简单谈一下吧。

一、嵌入式的领域划分

嵌入式是一个综合类的职业,总体而言,要求一个本科或者硕士毕业生要对软硬件都有所了解,特别在一些小公司,要求你都得是软硬件兼通的大佬。但在一些物联网大厂,比如海康威视,大华,宇视,华为,新华三,其实都是更加专注于分工协作的。所以在这些企业,你会的多也是好事,但更要求你精通自己的领域。

一般而言,嵌入式分嵌入式软件和嵌入式硬件,但某些产品,比如摄像头,其实光学也是一个必不可缺的角色,而且光学参数也决定着摄像头的成像等功能。

嵌入式硬件其实也分多重领域,在物联网大厂,有一部分人专注于pcb画板,叫做pcb工程师,有一部分人专注于硬件电磁兼容,叫做emc工程师,还有一部分人专注于硬件设计,虽然只需要画出原理图即可,但也要能看懂布线,不然出了问题可能就要被领导谈话了。而且嵌入式硬件是一个代价高昂的角色,要求嵌入式硬件工程师本身理解需求,一旦画错,改一次硬件pcb,需要好几周。

嵌入式软件同样也会细分,一般根据芯片大类,有开发mcu单片机的,还有基于soc开发Linux的,还有其他如rtos等系统的。以主流的Linux为例,在大厂,一般会分为bsp,也就是板级驱动层开发,数字信号处理,也就是图像信号等开发,上层应用层开发。Linux博大精深,想掌握精通不是一件容易的事情。

二、嵌入式软件学什么

嵌入式软件本身是一项对综合能力要求比较高的技术。一般而言,可以按照如下级别进行学习。

1.入门级
这个阶段主要学习C语言基础和Linux基础之类的,网络编程等等,推荐以下书籍:
C语言三剑客:《C和指针》、《C专家编程》、《C缺陷与陷阱》


C Primer Plus第6版中文版 c语言从入门到精通零基础自学C语言编程入门教程书籍计算机程序设计数据结构经典教材C++

Linux从入门到精通(第2版)

2.进阶级别
UNIX环境高级编程,UNIX网络编程

3.精通级别
代码大全第二版

三、一点建议

学习嵌入式最好的方法还是保持兴趣,保持学习的心态,因此,一定要多阅读,多学习,笔者闲暇时候经常了解一些内核书籍和驱动书籍,这本身就有助于与其他资源组沟通业务,同时,也可以自学c++,和设计模式等。

海康威视工程师谈嵌入式软件相关推荐

  1. 嵌入式软件开发工程师谈软件架构的设计

    嵌入式软件开发工程师谈软件架构的设计 注:此处嵌入式特指基于linux平台,单片机和其他rtos不在讨论范围 笔者从事嵌入式软件开发有6,7个年头,bsp,驱动,应用软件,android hall,f ...

  2. StarCraft的工程师谈美国的游戏开发过程

    有段时间没有在网上游荡了,机缘巧合^_^看到了这篇文章转在这里. 题:StarCraft的工程师谈美国的游戏开发过程(原创) 版权所有:疯之舞 原作 提交时间:11:00:40 06月11日 6月9日 ...

  3. 豌豆荚工程师谈其新版应用搜索技术

    豌豆荚工程师谈其新版应用搜索技术 豌豆荚工程师谈其新版应用搜索技术 豌豆荚工程师谈其新版应用搜索技术 作者 水羽哲 发布于 2012年12月6日 领域         语言 & 开发     ...

  4. 阿里工程师谈什么是好的代码?

    衡量代码质量的唯一有效标准:WTF/min -- Robert C. Martin 阿里工程师谈什么是好的代码? Bob 大叔对于好代码的理解非常有趣,对我也有很大的启发.我们编写的代码,除了用于机器 ...

  5. pcb设计布线工程师谈

    转自:http://forum.eet-cn.com/BLOG_ARTICLE_11751.HTM?click_from=ArticleLeft pcb设计布线工程师谈   一般pcb基本设计流程如下 ...

  6. 布线工程师谈PCB设计

    布线工程师谈PCB设计! 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版.   ...

  7. 前淘宝工程师谈12306

    前淘宝工程师谈12306:曾嗤之以鼻 现在看几乎是奇迹 摘要: 2014年1月10日,一位ID名为"代码狗"的前淘宝工程师,后来在一家电商公司做技术副总的IT业内人士也在著名论坛& ...

  8. 电源布线工程师谈电源PCB设计

    电源布线工程师谈电源PCB设计 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版 ...

  9. 支付宝核心工程师谈如何成为一名优秀的程序员?

    支付宝研究员 李俊奎 作者 | 蚂蚁金服科技 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 校招进入支付宝,11年时间,从一线工程师成长为支付宝安全核心架构师,这个技术牛人就是李 ...

最新文章

  1. 给Linux系统/网络管理员的nmap的29个实用例子
  2. RetinaFace Mxnet转TensorRT
  3. SVM基本思想及入门学习(转载+自己解释为什么minL(w)变成minmaxL(a,w))
  4. 【matlab】matalb生成dll给Cpp用
  5. 机器学习调参-模型选择
  6. imnoise2.m
  7. 51单片机入门——DS18B20
  8. 产业分析:2021抖音数据报告
  9. dell 服务器 重装Linux系统
  10. 类和对象5:绑定和静态、类、抽象方法
  11. 鸿蒙系统2.0的编译
  12. Javascript-实现全局事件总线Event Bus/ Event Emitter
  13. java标识符命名规范之驼峰命名法
  14. 软考高项记忆小妙招-项目章程
  15. 窗函数法FIR滤波器设计
  16. DW1000学习之路(三)--------DW1000的中断处理问题
  17. 关于边缘计算和边云协同,看这一篇就够了~
  18. 重装系统后必装的5大软件,让你大幅度提升工作效率
  19. uniapp一套代码开发app和微信小程序
  20. python打开chrome浏览器自动登录网站并发表说说批量

热门文章

  1. 2020年十大黑科技:新冠疫苗当仁不让,脑机接口引领风潮
  2. linux命令查询网站
  3. 手机掉水里的终极解决方案!
  4. linux u盘更新程序,嵌入式linux下插u盘自动更新的设计
  5. 前端日历,vue日历,一周的日历
  6. 即刻APP收藏按钮的实现
  7. 实验楼原型系统设计-1
  8. php如何做表格,新手怎么制作表格
  9. Best Service Accordions 2 Kontakt 综合手风琴音色库
  10. 听起来很人工智能的Fintech到底智能在哪了?