什么是嵌入式?从事嵌入式开发需要掌握哪些技能?


前言

兜兜转转从事嵌入式开发已经有好几年了,对于嵌入式开发这一行也有了很多感想,在这里记录和分享给大家,希望这篇文章对很多想从事嵌入式开发的朋友一些建议。之前的文章已经讲过如果从事程序员工作应该走什么方向,走什么领域,在这里就不多阐述了,这里主要讲的是我从事的领域和方向。

方向:嵌入式软件开发
领域:车联网智能领域开发
平台:SOC方向(嵌入式一般分为两个方向:MCU和SOC方向)

一、什么是嵌入式?

从官方的语言来说,嵌入式系统的意思是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统,为控制、监视或辅助设备、机器或用于工厂运作的设备。其实,对于嵌入式软件开发,可以用一个流程图来说明。

在这里插入图片描述

其中,除去APP应用层和硬件层之外,中间所有从事的开发都叫做嵌入式开发,而一般,图像层、协议层、操作系统层可以统称为嵌入式应用层。嵌入式开发又分为SOC和MCU平台,SOC一般是偏向于上层应用开发,MCU主要偏向于驱动开发,一般和底层硬件驱动接触多一点。

二、从事嵌入式开发需要掌握哪些技能?

对于嵌入式软件开发而言,首先明确自己所选的是领域,我这边以车联网领域为例,那么需要掌握哪些技能呢,我认为这几个东西都是必不可少的。 
> 1、系统和语言 。对于嵌入式软件开发,基本都是在Linux系统下进行开发,所以对于语言这一块的话首选是(LinuxC/C++)。 
> 2、系统编程。语言只是基础,系统怎么稳定,进程间怎么通信,都需要用到系统编程,在工作中,系统编程是非常重要的,对于的你的编程思想、编程规范都极为重要。
> 3、网络编程。网络编程也极为重要,如多进程高并发,多线程高并发的处理,TCP/UDP/HTTP/MQTT等协议的应用,相对于系统编程而言,网络编程也更难。
> 4、数据结构:数据需要高效存储,那么就需要数据结构。 
> 5、Shell编程:你要在Linux系统下编程,那么就需要了解这个系统的结构特性。这个Shell你就不能错过。 
> 6、代码版本管理:Git也是非常有必要的,不管在哪里,当你开发完之后,都需要上传代码,那么git就是绕不过的坎,它是非常好用的分布式管理版本。当然也有企业使用SVN来管理,掌握git之后SVN也就掌握了。
> 7、Python基础:其实对于这一个来说,我用的不多,这一个主要是用来处理文本的,如日志,Python和Shell是一个非常好的处理文本的工具。
> 8、makefile/cmake: 对于管理大型项目而言,这两个的学习都是必不可少的。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了嵌入式软件开发基本的技能,其实,对于这一行而言,这些都只是打一个基础,其中还有很多东西没有讲出来,这些东西也更为重要。宝剑锋从磨砺出,梅花香自苦寒来。学习的路上总是伴随痛苦和快乐,但在知识的海洋里,任他波涛惊浪,我亦奋勇向前。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值