赞
踩
文章目录:
对于小白:不知道嵌入式整个体系?学什么?顺序是什么?可以找什么工作?可以往什么方向发展?前景如何?
查阅大量资料进行下面的整理,看完可能你心中就会有答案!
冷知识:嵌入式包含单片机,单片机基于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设计
第四步:Linux基础shell编程——>Linux 系统编程——>Linux 网络编程
第五步:CC2530单片机——>51单片机——>STM32单片机——>(RTOS)
以上是笔记
下面是一些长远的看法
需深入知识方向:C/C++、Linux、数电模电、数据结构 待补充知识方向:ARM开发、RTOS系统开发、NB-loT模块开发、Iwlp网络开发 AloT边缘计算、Python、机器学习深度学习、云平台开发
软件 | 应用 | 前端 | 后端 | 嵌入式 | 游戏 |
---|---|---|---|---|---|
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工业自动化可编程逻辑控制器 |
芯片方向 | |||
---|---|---|---|
设计电路 | PCB电路设计 FPGA:数字电路为主的集成芯片,可编程逻辑器件改变内部硬件电路结构 ZYNQ:软件ARM+FPGA | PCB工程师 FPGA开发工程师 数字IC设计工程师 ZYNQ开发工程师 固件开发工程师 芯片应用工程师 | |
单片机开发(MCU) | CC2530单片机 51单片机 STM32单片机 RTOS实时操作系统:管理单片机多任务运行调度 | 嵌入式硬件开发工程师 MCU开发工程师 RTOS系统开发工程师 单片机工程师 嵌入式应用工程师 | |
交互 | 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开发工程 |
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高性能服务器编程:系统性能调优操作系统的配置进行优化改善网络性能、防止各种网络攻击
- 异步编程、事件驱动编程、数据结构和算法等
板子 | 树莓派开发板 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内核 |
一线 | 海思、中兴微电子、联发科、紫光系列、兆易创新、长江存储、芯原微电子、哲库、平头哥、汇顶、 地平线机器人、黑芝麻智能、寒武纪、摩尔线程、海光、兆芯、龙芯中科、安路、比特大陆等 |
二线 | AMD、英伟达、ARM、NXP、MPS、Intel等 |
三线 | 小米、海尔、oppo、vivo、各种芯片厂等 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。