海康威视工程师谈嵌入式软件
笔者之前曾就职于杭州海康威视,提起这家公司,想必嵌入式领域的同学都很清楚,这是一家安防监控企业,虽然近些年来一直在说自己做人工智能,但离开嵌入式,摄像头是工作不了的。
还记得四年前的秋天,我大三那年,拿着自己卑微的简历去面试了这家公司,当时太过年少,不知道何为嵌入式,时至今日,才发觉,自己当时由于认知水平有限,错过了很多学习机会。想来后悔不已,因此,将自己对于嵌入式的认知简单谈一下吧。
一、嵌入式的领域划分
嵌入式是一个综合类的职业,总体而言,要求一个本科或者硕士毕业生要对软硬件都有所了解,特别在一些小公司,要求你都得是软硬件兼通的大佬。但在一些物联网大厂,比如海康威视,大华,宇视,华为,新华三,其实都是更加专注于分工协作的。所以在这些企业,你会的多也是好事,但更要求你精通自己的领域。
一般而言,嵌入式分嵌入式软件和嵌入式硬件,但某些产品,比如摄像头,其实光学也是一个必不可缺的角色,而且光学参数也决定着摄像头的成像等功能。
嵌入式硬件其实也分多重领域,在物联网大厂,有一部分人专注于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++,和设计模式等。
海康威视工程师谈嵌入式软件相关推荐
- 嵌入式软件开发工程师谈软件架构的设计
嵌入式软件开发工程师谈软件架构的设计 注:此处嵌入式特指基于linux平台,单片机和其他rtos不在讨论范围 笔者从事嵌入式软件开发有6,7个年头,bsp,驱动,应用软件,android hall,f ...
- StarCraft的工程师谈美国的游戏开发过程
有段时间没有在网上游荡了,机缘巧合^_^看到了这篇文章转在这里. 题:StarCraft的工程师谈美国的游戏开发过程(原创) 版权所有:疯之舞 原作 提交时间:11:00:40 06月11日 6月9日 ...
- 豌豆荚工程师谈其新版应用搜索技术
豌豆荚工程师谈其新版应用搜索技术 豌豆荚工程师谈其新版应用搜索技术 豌豆荚工程师谈其新版应用搜索技术 作者 水羽哲 发布于 2012年12月6日 领域 语言 & 开发 ...
- 阿里工程师谈什么是好的代码?
衡量代码质量的唯一有效标准:WTF/min -- Robert C. Martin 阿里工程师谈什么是好的代码? Bob 大叔对于好代码的理解非常有趣,对我也有很大的启发.我们编写的代码,除了用于机器 ...
- pcb设计布线工程师谈
转自:http://forum.eet-cn.com/BLOG_ARTICLE_11751.HTM?click_from=ArticleLeft pcb设计布线工程师谈 一般pcb基本设计流程如下 ...
- 布线工程师谈PCB设计
布线工程师谈PCB设计! 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版. ...
- 前淘宝工程师谈12306
前淘宝工程师谈12306:曾嗤之以鼻 现在看几乎是奇迹 摘要: 2014年1月10日,一位ID名为"代码狗"的前淘宝工程师,后来在一家电商公司做技术副总的IT业内人士也在著名论坛& ...
- 电源布线工程师谈电源PCB设计
电源布线工程师谈电源PCB设计 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版 ...
- 支付宝核心工程师谈如何成为一名优秀的程序员?
支付宝研究员 李俊奎 作者 | 蚂蚁金服科技 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 校招进入支付宝,11年时间,从一线工程师成长为支付宝安全核心架构师,这个技术牛人就是李 ...
最新文章
- 给Linux系统/网络管理员的nmap的29个实用例子
- RetinaFace Mxnet转TensorRT
- SVM基本思想及入门学习(转载+自己解释为什么minL(w)变成minmaxL(a,w))
- 【matlab】matalb生成dll给Cpp用
- 机器学习调参-模型选择
- imnoise2.m
- 51单片机入门——DS18B20
- 产业分析:2021抖音数据报告
- dell 服务器 重装Linux系统
- 类和对象5:绑定和静态、类、抽象方法
- 鸿蒙系统2.0的编译
- Javascript-实现全局事件总线Event Bus/ Event Emitter
- java标识符命名规范之驼峰命名法
- 软考高项记忆小妙招-项目章程
- 窗函数法FIR滤波器设计
- DW1000学习之路(三)--------DW1000的中断处理问题
- 关于边缘计算和边云协同,看这一篇就够了~
- 重装系统后必装的5大软件,让你大幅度提升工作效率
- uniapp一套代码开发app和微信小程序
- python打开chrome浏览器自动登录网站并发表说说批量