物联网嵌入式学习路线发展方向(表格一目了然)

2023-11-18

文章目录:

一:学习路线

二:各种分类 

1.软件硬件分类

2.发展方向 技术类型 对应岗位分类

2.1 芯片方向 

2.2 Linux方向

3.常见板子芯片内核

4.嵌入式公司


对于小白:不知道嵌入式整个体系?学什么?顺序是什么?可以找什么工作?可以往什么方向发展?前景如何?

查阅大量资料进行下面的整理,看完可能你心中就会有答案!

冷知识:嵌入式包含单片机,单片机基于ARM,不要搞混了 
    ARM:是一种处理器,采用精简指令集,是嵌入式系统的重要组成部分

    嵌入式系统:以应用为中心,以计算机技术为基础,软硬件可裁剪
                适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统

    单片机:是嵌入式系统中的一种控制器(基于ARM或其它处理器的微控制器)
            单片机已广泛称作微控制器(mcu)
            单片机是一块类似PC的芯片,只是没PC强大,但它可以嵌入到其它设备中从而对其进行操控

一:学习路线

 下面是基本的入门路线:可以在此基础上从发展方向和技术类型进行扩展 

第一步:电路知识
        7星:数字电路技术、模拟电路技术、电路
        6星:数据库、数据结构、操作系统
        5星:计算机网络、计算机组成原理
        4星:数字信号处理、数字集成电路设计
        3星:电磁场、微机原理、RFID无线通信技术
        2星:电子线路设计、计算机体系结构
        1星:高等数学、线性代数、离散数学

第二步:PCB

第三步:C/C++、QT、OpenCV、Git

第四步:Linux基础shell编程——>Linux 系统编程——>Linux 网络编程

第五步:CC2530单片机——>51单片机——>STM32单片机——>(RTOS)

        第一步:电路知识
                        7星:数字电路技术、模拟电路技术电路
                        6星:数据库数据结构操作系统
                        5星:计算机网络计算机组成原理
                        4星:数字信号处理、数字集成电路设计
                        3星:电磁场、微机原理、RFID无线通信技术
                        2星:电子线路设计、计算机体系结构
                        1星:高等数学、线性代数、离散数学

        第二步PCB设计

        第三步CC++QTOpenCVGit

        第四步Linux基础shell编程——>Linux 系统编程——>Linux 网络编程

        第五步CC2530单片机——>51单片机——>STM32单片机——>(RTOS)

以上是笔记

 下面是一些长远的看法

需深入知识方向:C/C++、Linux、数电模电、数据结构


待补充知识方向:ARM开发、RTOS系统开发、NB-loT模块开发、Iwlp网络开发
                AloT边缘计算、Python、机器学习深度学习、云平台开发

二:各种分类 

1.软件硬件分类

软件 应用 前端 后端 嵌入式 游戏

H5:React,Vue

Android(java)

IOS(swift)

PHP网站

JAVA

C++

GUI(C++)

MFC(C++)

QT(C++)

OpenCV

OpenGL

Live555

WebRtc

Linux的shell编程 

Linux网络编程

GTK+图形库

EasyX图形库

C++

Unity游戏引擎

操作系统 Linux内核(C汇编)
驱动移植 Linux驱动移植(C汇编)
硬件

嵌入式

(弱电)

开发板 单片机 Linux

PCB

3D建模

FPGA

ZYNQ

51单片机

STM32单片机

RTOS

Linux应用层(面向用户)

Linux内核驱动移植

工业

(强电)

PLC工业自动化可编程逻辑控制器

2.发展方向 技术类型 对应岗位分类

2.1 芯片方向 

                                                                                                  芯片方向
设计电路

PCB电路设计

FPGA:数字电路为主的集成芯片,可编程逻辑器件改变内部硬件电路结构

ZYNQ:软件ARM+FPGA

PCB工程师

FPGA开发工程师

数字IC设计工程师

ZYNQ开发工程师

固件开发工程师

芯片应用工程师

单片机开发(MCU)

CC2530单片机

51单片机

STM32单片机

RTOS实时操作系统:管理单片机多任务运行调度

嵌入式硬件开发工程师

MCU开发工程师

RTOS系统开发工程师

单片机工程师

嵌入式应用工程师

交互

GUI(C++)

MFC(C++):比较早的

WPF:支持矢量图形,图形缩放没有锯齿状

WinForms:是专为Windows平台设计

QT(C++) :兼容多个操作系统Windows、macOS、Linux等

LittleVGL:小型开源嵌入式 GUI 库

AWTK:跨平台的GUI系统基础工具库

Flutter:多平台用户界面(UI)工具包


OpenCV:图像视频处理

OpenGL:2D3D绘图

Live555:实时音视频传输

WebRtc:音视频通话、数据通道、广播等功能


GTK+图形库

EasyX图形库

C/C++开发工程师

QT开发工程师

嵌入式软件开发工程师

视觉工程师(音视频图像)

嵌入式应用工程师

AI结合

Tensorflow框架(c++)

Pytorch框架(python)

算法工程师

AI开发工程师

嵌入式AI开发工程师

物联网AloT开发工程

2.2 Linux方向

                                                                                                  Linux方向
Linux基础

——>Linux基础shell编程(使用Linux的桥梁)

——>Linux 系统编程(应用层与驱动层之间)

——>Linux 网络编程(应用层)

嵌入式软件开发工程师

Linux软件开发工程师

Linux网络开发工程师

Linux应用开发工程师

Linux内核开发

          操作系统

优化开发Linux内核:进程管理、内存管理、驱动管理、虚拟文件系统

                                  网络接口协议、进程间通信、内核组件

嵌入式系统开发工程师

嵌入式内核开发工程师

芯片应用工程师

Linux驱动移植开发

内核模块编译原理、字符设备驱动框架、平台设备驱动、设备树

Pinctrl子系统、I2C子系统、中断子系统、块设备驱动框架、Bootloader等

嵌入式驱动开发工程师

嵌入式移植开发工程师

BSP开发工程师

服务器 BMC管理微控制器:监控系统的电源、温度等
Linux的shell编程 :Linux环境下使用Shell语言来编写命令行程序

Linux    系统编程(Linux内核编程):文件系统、线程管理、进程管理、内存管理等

Linux    网络编程(网络应用编程):UDP编程、TCP网络编程、Socket编程、高并发服务器等

Linux高性能服务器编程:系统性能调优操作系统的配置进行优化改善网络性能、防止各种网络攻击
                       异步编程、事件驱动编程、数据结构和算法等

3.常见板子芯片内核

板子

树莓派开发板

51单片机

STM32 F1 F4

Arduino uno开发板

IOT开发板

ESP32开发板

Linux阿尔法开发板

MCU开发板

ARM开发板

DSP开发板

MSP432开发板

Microbit开发板:少儿编程

IMX6开发板

T1 CC2530开发板

Ti MAPM0开发板

JZ2440开发板

全志开发板、RK开发板、神州开发板、新唐开发板

Jetson nano开发板

..........................
处理器芯片

CPU:中央处理器

MCU(单片机):把CPU的频率与规格缩减,将内存计数器等接口集合在单一芯片上的芯片级计算机

MPU:微型处理器,合并成北桥芯片和南桥芯片,主要负责运算处理,需要加外挂(RAM Flash...)

NPU神经网络运输处理器:影像图片

DSP:通信数字信号处理领域的微处理器芯片

FPGA:现场可编程门阵列,由可编程的可配置逻辑块CLB矩阵构成的半导体器件,可改变内部硬件结构


嵌入式微控制器    :MCU——>stm32

嵌入式DSP处理器:DSP信号处理——>数字滤波、FFT、TMS320C2000/C500

嵌入式微处理器    :MPU——>AM186/88、386EX、SC-400、PowerPC、MPS、ARM

嵌入式片上系统    :SOC系统集成移动处理器

可编程片上系统    :SOPC

内核

鸿蒙内核

Fuchsia内核

Cortex内核

4.嵌入式公司

一线

海思、中兴微电子、联发科、紫光系列、兆易创新、长江存储、芯原微电子、哲库、平头哥、汇顶、

地平线机器人、黑芝麻智能、寒武纪、摩尔线程、海光、兆芯、龙芯中科、安路、比特大陆等

二线 AMD、英伟达、ARM、NXP、MPS、Intel等
三线 小米、海尔、oppo、vivo、各种芯片厂等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物联网嵌入式学习路线发展方向(表格一目了然) 的相关文章

  • CNN卷积神经网络实现手写数字识别(基于tensorflow)

    1 1卷积神经网络简介 文章目录 1 1卷积神经网络简介 1 2 神经网络 1 2 1 神经元模型 1 2 2 神经网络模型 1 3 卷积神经网络 1 3 1卷积的概念 1 3 2 卷积的计算过程 1 3 3 感受野 1 3 4 步长和参数
  • python3_面向对象

    面向对象 魔术方法 描述器Descriptors 槽位slots 面向对象 OOP Object Oriented Programing 面向对象是认识世界的一种方法论 一切皆对象 类class 抽象的概念 一类具有共同特征的事物的集合 用
  • 51单片机 学习之旅[3] 中断-定时器

    中断 就是 单片机main运行的时候 如果外部传来一个信号 那么就暂时停止现在的正在处理的 事情 转而去处理 这个信号 处理这个信号完毕以后 又返回去main去继续处理之前的 有个比较好的例子是 你正在晾衣服 你正在晾衣服 突然水烧开了 你
  • 文件IO(三.文件属性和目录)

    1 文件截短 truncate NAME truncate ftruncate truncate a file to a specified length truncate ftruncate用来把文件截短到指定的长度 SYNOPSIS i
  • 2021-03-30

    远程调试 使用特定JVM参数运行服务端代码 要让远程服务器运行的代码支持远程调试 则启动的时候必须加上特定的JVM参数 这些参数是 Xdebug Xrunjdwp transport dt socket suspend n server y
  • 全屏Activity弹出键盘不顶起布局

    最近遇到的一个问题是全屏Activity中要求弹出键盘不顶起布局 首先windowSoftInputMode的取值是有多个的 在全屏场景下adjustPan是没有用的 需要使用adjustResize首先确保键盘不顶起布局 android
  • 黑苹果 MacOS 10.15 Catalina 安装详细教程带工具资料

    图文教程悦享地址 点击打开链接 视频教程 B站地址 点击打开链接 一 准备工作 一个8G以上的U盘 有的U盘标的是8G 实际只有X 实际容量小于7 5G的会失败 MacOS镜像 TransMac 刻录工具 DiskGenius 分区工具 E
  • 机器学习DGA域名检测

    恶意域名 恶意域名是指黑客在攻击过程中或者对目标网络实施控制时 使用dga算法生成的域名 这种域名通常硬编码在恶意软件中 我们在做流量分析时不仅要通过流量的指纹特征识别威胁 也可以通过检测是否解析了恶意域名来判断网络中是否存在肉鸡 传统DG
  • IDEA编译报错:java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出

    IDEA编译Flink源码时报错 java 未报告的异常错误X 必须对其进行捕获或声明以便抛出 原因是环境变量配置的是JDK8 Flink部分代码是基于JDK11编写的 将JDK升级为JDK11 重新编译即成功
  • 推荐一款基于XNA的开源游戏引擎《Engine Nine》

    一 前沿导读 XNA是微软基于 Net部署的下一代3D 2D游戏开发框架 其实XNA严格来说类似下一代的DirectX 当然不是说XNA会取代DirectX 但是基于XNA我们对于面向XBOX360 WP等系列其他平台的移植成本非常的低 据
  • 从系统里面查看服务器端口,从系统里面查看服务器端口号

    从系统里面查看服务器端口号 内容精选 换一换 已成功登录Java性能分析 待安装分析辅助软件的服务器已开启sshd 已安装JDK并配置环境变量 打开 添加目标环境 窗口 如图1所示 参数说明如表1所示 添加目标环境添加目标环境参数说明参数说
  • shell脚本简介+编写

    1 常用Linux命令 2 Linux下脚本编写 3 windows下CMD常用命令 文章目录 一 变量 1 系统预定义变量 2 自定义变量 3 特殊变量 n n n

随机推荐

  • C++ 标准库函数 bind

    背景 可调用对象 对于一个对象或者一个表达式 如果可以对其使用调用运算符 则称为可调用对象 调用形式 一种调用形式对应了一个函数类型 指明了调用返回类型以及传递的参数类型 比如 int int int std bind 概念 可将 bind
  • 勇于尝试新鲜事物,利于项目来积累学习经验

    很多人都会根据企业的发展需求 再选择自己的开发方向 其实没必要完全根据企业的发展路线来决定的个人的职业路线 正如 黑客与画家 和 黑客帝国 所表达的 程序员应该将白天的工作作为一种职业相关性的经验积累 而将晚上的时间用于尝试新的技术和领域
  • matlab 学习算法,matlab深度学习算法合集

    实例简介 CAE CNN NN SAE等等matlab版深度学习算法合集 以及相关测试数据 拿到就能直接用 实例截图 核心代码 DeepLearnToolbox matlab DeepLearnToolbox CAE caeapplygra
  • java中空值怎么表示_JAVA中空值null与字符串null含义的区分

    java中字符串型的量 如 String s 初始化为空时 s null 打印出来为null 但是对他不能进行 isEmpty 和 length 的操作 会抛出空指针异常 给他们后边添加字符串后 s s yuanyuan 打印时前边会保留n
  • 2019年全国一二线城市程序员工资大调查

    我在4月1日到3日之间 抓取了某招聘网站的软件和互联网类招聘数据40万条 其中通过程序判断为程序员的14万条 地域方面 我选择了24个主要城市 这里的程序员包括普通程序员 架构师和算法工程师 美工等不计算在内 这点和2017年不同 如果你只
  • ftp

    1 ftp上传文件 1 1相关依赖
  • OpenMMLab_0【简介】

    1 项目动机 统一的深度学习框架 统一的算法框架和生态 自2018年开源以来已经能够实现很多算法 2 总体现状 3 总体框架概览 3 1 算法训练 部署一体化 3 2 算法框架介绍 MMDetection MMDetection3D 7 个
  • Bootstrap入门(一)

    前言 大家好 我是九歌 今天我要分享的内容是Bootstrap的入门 首先老规矩先上思维导图 提示 以下是本篇文章正文内容 下面案例可供参考 一 Bootstrap 学习一门新的技术我们终究都逃不过三个W What Why Where 1
  • Vue3.0

    teleport Teleport 提供了一种干净的方法 允许我们控制在 DOM 中哪个父节点下呈现 HTML 而不必求助于全局状态或将其拆分为两个组件
  • 《C++ Primer》学习笔记(十五):面向对象编程

    C Primer 学习笔记 十五 面向对象编程 抽象基类 访问控制与继承 构造函数与拷贝控制 文本查询程序再探 练习 面向对象编程的核心思想是数据抽象 继承和动态绑定 在C 语言中 当我们使用基类的引用 或指针 调用一个虚函数时将发生动态绑
  • python跟易语言的爬虫_用易语言写个简单的小爬虫其中的关键点

    一 请求头 ctrl L快捷键创建变量 变量名 类型 协议参数 类 POST数据类 请求头数据 文本型 协议参数 添加 v 4 52 0 请求头数据 协议参数 获取协议头数据 二 请求参数比如post 变量名 类型 请求data参数 类 P
  • 【负荷预测】基于神经网络的负荷预测和价格预测(Matlab代码实现)

    目录 1 概述 2 基于神经网络的负荷预测 Matlab实现 2 1 代码 2 2 结果 2 3 回归树模型的进一步改进 3 基于神经网络的价格预测 Matlab代码实现 4 阅读全文 Matlab代码 1 概述 这个例子演示了用MATLA
  • 《软件调试的艺术》学习笔记——GDB使用技巧摘要(3)——程序崩溃处理

    程序为什么会崩溃 内存中的程序布局 当某个错误导致程序突然和异常地停止执行时 程序崩溃 迄今为止最为常见的导致程序崩溃的原因是试图在未经允许的情况下访问一个内存位置 硬件会感知这件事 并执行对操作系统的跳转 Unix系列的平台上 操作系统一
  • VS2015下用Qt Designer创建对话框

    目录 1 Qt Designer新建文件 选择适合的模板 布局窗口 2 在右侧属性窗口修改名称为需要的名称 3 文件另存为对象名称一样的xxx ui文件 4 创建xxx cpp和xxx h文件 加入工程 也可以在qt creator中创建
  • sql-labs闯关38~45

    sql labs闯关38 45 友善爱国平等诚信民主友善爱国爱国友善平等诚信自由平等友善平等法治诚信民主民主 复习笔记1 内容 sql labs第38关 GET请求 堆叠查询注入 字符型 sql labs第39关 GET请求 堆叠查询注入
  • 30分钟从零开始搭建并部署个人知识库(超详细)

    前言 网上关于动态文档生成工具有很多如 Docsify VuePress Docute Hexo这些都是一些非常优秀的文档生成工具 本章主要介绍如何快速使用Docsify搭建一个快捷 轻量级的个人 团队文档 并且通过Github Pages
  • dracut 基本介绍

    dracut 基本介绍 dracut 维基 https dracut wiki kernel org index php Main Page http www 360doc com content 13 0428 09 12139495 2
  • 计算机网络系列五 -- 运输层详解

    1 运输层 1 1 运输层的定义 运输层是 OSI 七层参考模型的第四层 主要功能为应用层提供通信服务 它即是面向通信的最高层 也是用户功能的最底层 在计算机网络中 真正进行数据通信的是两个主机的进程 由于一个主机中有多个进程同时在通信 而
  • vc++画线段的函数_word2vec的损失函数

    虽然word2vec常被当作无监督 但是其训练过程跟有监督基本差不多 原始的word2vec暂时不考虑负采样和huffman tree 其损失函数就是多元交叉熵 多元交叉熵的公式 以传统机器学习来说 这里的Zj就是某个类别的预测概率 yj
  • 物联网嵌入式学习路线发展方向(表格一目了然)

    文章目录 一 学习路线 二 各种分类 1 软件硬件分类 2 发展方向 技术类型 对应岗位分类 2 1 芯片方向 2 2 Linux方向 3 常见板子芯片内核 4 嵌入式公司 对于小白 不知道嵌入式整个体系 学什么 顺序是什么 可以找什么工作