嵌入式系统初学者指南

什么是嵌入式系统?

嵌入式系统是一种独立的、基于微处理器的计算机系统。您可以将其视为大型系统的一部分的微型计算机。如今,从洗碗机到波音 747,几乎所有“电子”产品内部都有嵌入式系统。但是,嵌入式系统与笔记本电脑或手机不同。嵌入式系统与计算机的关键区别在于: 

  • 嵌入式系统是特定于应用的:计算机几乎可以做所有事情。另一方面,嵌入式系统仅执行少数特定任务。 
  • 它们经常执行实时计算:安全关键系统使用嵌入式系统,并具有严格的时间和期限限制。
  • 它们具有计算、内存、带宽和功率限制,并且通常没有用户界面。 

嵌入式软件就是运行这些嵌入式设备的软件。它与传统软件有点不同,因为您编写的代码需要满足嵌入式系统的各种约束。大多数嵌入式软件工程师都使用 C 语言进行编程,因为它在内存和时间方面的开销较低,但 C++ 甚至 Python (microPython) 等语言在嵌入式世界中越来越受欢迎。

嵌入式系统有市场吗?

随着 5G 的出现、电动汽车需求的增长以及“智能”设备的兴起,全球嵌入式系统行业的估值将从目前的865 亿美元增长到 1162 亿美元。 Meta 和 Amazon 等传统软件巨头一直在寻求利用这个不断增长的市场,并开始向嵌入式领域扩张。由于进入门槛较高,嵌入式软件领域尚未像传统软件行业那样饱和。所以,如果你愿意付出努力,这对你来说是一个很好的机会! 

我该如何开始?

  1. 从电路基础课程开始:了解基尔霍夫定律、分压器和运算放大器等知识会有很大帮助。如果您不希望遇到术语“电阻器”不知所措 ,就应该牢固掌握电路基础。
  2. 学习数字电路:逻辑门、布尔代数、状态机,甚至一些 FPGA 编程都可以构建强大的基础知识。
  3. 如果这是您第一次编程,请学习C。它可能看起来比 Python 等其他入门级编程语言更具挑战性,但一旦掌握了它的窍门,你就会意识到它有多么强大。高级程序员也可以同时学习汇编。
  4. 微控制器:现在开始您的嵌入式编程领域之旅,推荐从使用 STM32开始。 可以先学习如何点亮led,然后再用PWM输出方波,然后可以使用uart和各种设备通讯。
  5. 您可以学习 RTOS 或嵌入式 Linux。掌握操作系统内核的原理,可以比裸机干更多的事情。
  6. 最后你需要项目!一定要在项目中实践,不然所学的都是空中楼阁。

最后给大家推荐一个网址,GitHub - m3y54m/Embedded-Engineering-Roadmap: A comprehensive roadmap for aspiring Embedded Systems Engineers, featuring a curated list of learning resources.

这是一个免费的嵌入式学习路线。

里面有完整的知识体系构建路径,还有重要的学习资源包括图书和视频。开源项目资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/520714.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql dublewrite 双写缓存机制

mysql dublewrite 双写缓存机制,像不像主板双bois系统, 在MySQL的InnoDB存储引擎中,当进行数据写操作时,会先将数据写入到内存中的缓冲池(Buffer Pool),然后异步刷新到磁盘上的数据文件。为了提…

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

0 前言 如今大大小小的物联网云平台非常多,但大部分要收取费用,免费的物联网云平台功能则有很多限制使用起来非常不方便。以百度云物联网云平台为例,它的物可视不支持发布主题,等于可视化界面只能作为数据监控而不具备双向通信的…

打造个人高效图床系统:威联通NAS+兰空+PicGo全方位整合教程

1.图床选择 最近因为家里人有使用图床的需求,又担心第三方图床跑路导致数据丢失,恰好家里有个威联通NAS,还有公网IP和域名,既然如此,那就动手自建一个图床吧,毕竟开源的图床应用还是有很多的。 一上来就在…

掌握数据相关性新利器:基于R、Python的Copula变量相关性分析及AI大模型应用探索

在工程、水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克服的困难。例如,…

写JDBC遇到的问题

执行会出现以下错误信息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ? and loginPwd ? at line 1 at com.mysql.cj.jdbc.exceptions…

spark3.x新特性

Adaptive Query Execution自适应查询(SparkSQL) 由于缺乏或者不准确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想 在Spark3.x版本提供Adaptive Query Execution自适应查询技术 通过在”…

数据结构顺序表的初始化,头插,尾插,头删,尾删,指定位置删除,指定位置插入,查找,销毁(详解)

目录 前言顺序表的介绍静态顺序表动态顺序表一.顺序表的初始化二.销毁扩容顺序表打印顺序表三.头插四.尾插五.头删六.尾删七.指定位置之前(包括指定位置)的插入八.指定位置数据的删除九.查找全部的代码实现总结 前言 数据结构是什么? 数据结…

碘浊度法与红外相机联用测定食品中维生素C

🌞欢迎来到看论文的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2024年4月6日&…

1.微服务

一、微服务是什么 微服务是一种架构风格,即,一个应用应该是一组小型服务,每个服务器只负责一种服务,服务之间可以通过 HTTP 的方式进行互通。每一个功能元素最终都是一个可独立替换和独立升级的软件单元。 可以说,微…

网络编程套接字应用分享【Linux C/C++ 】【UDP应用 | TCP应用 | TCP线程池小项目】

目录 前提知识 1. 理解源ip,目的ip和Macip 2. 端口号 3. 初识TCP,UDP协议 4. 网络字节序 5. socket 编程 sockaddr类型 一,基于udp协议编程 1. socket——创建套接字 2. bind——将套接字强绑定 3. recvfrom——接受数据 4. s…

c++11的重要特性2

可变参数模板在3中。 目录 ​编辑 1、统一的列表初始化: std::initializer_list: std::initializer_list是什么类型: std::initializer_list使用场景: 让模拟实现的vector也支持{}初始化和赋值 2、声明 auto decltype nul…

「每日跟读」英语常用句型公式 第4篇

「每日跟读」英语常用句型公式 第4篇 1. I’ve decided to ____ 我决定要____了 I’ve decided to take a vacation (我决定要去度假) I’ve decided to change my lifestyle (我决定要改变我的生活方式) I’ve decided to adopt a dog (我决定要收养一条狗了) I’ve dec…

【深度学习环境配置】一文弄懂cuda,cudnn,NVIDIA Driver version,cudatoolkit的关系

【深度学习环境配置】一文弄懂cuda,cuDNN,NVIDIA Driver version,cudatoolkit的关系 NVIDIA Driver version(NVIDIA驱动程序)CUDAcuDNNcudatoolkit深度学习环境配置顺序 今天突然发现配置的环境有些问题,意…

使用阿里云试用Elasticsearch学习:2.6 深入搜索——控制相关度

处理结构化数据(比如:时间、数字、字符串、枚举)的数据库,只需检查文档(或关系数据库里的行)是否与查询匹配。 布尔的是/非匹配是全文搜索的基础,但不止如此,我们还要知道每个文档与…

java日志框架简介

文章目录 概要常用日志框架常见框架有以下:slf4j StaticLoggerBinder绑定过程(slf4j-api-1.7.32 )JCL 运行时动态查找过程:(commons-logging-1.2)使用桥接修改具体日志实现 一行日志的打印过程开源框架日志…

【图论】【分类讨论】LeetCode3017按距离统计房屋对数目

本文涉及的知识点 图论 分类讨论 本题同解 【差分数组】【图论】【分类讨论】【整除以2】3017按距离统计房屋对数目 LeetCode3017按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中,存在编号从 1 到 n 的房屋,由 n 条街道相连。对所有 …

服务效率飙升!2024最新Zoho Desk功能解析

2024年,立足于服务经济浪潮,如何为您的客户提供优质服务,高效解决客户工单,赢得客户美誉度,是当下各行企业的着力点。 在企业中,与客户发生最直接接触的就是客户服务部门。规范化客服部门业务流程&#xf…

【JavaWeb】Day36.MySQL概述——数据库设计-DDL(三)

查询 关于表结构的查询操作,工作中一般都是直接基于图形化界面操作。 1.查询当前数据库所有表 2.查看指定表结构 3.查询指定表的建表语句 注意:23版的点击导航中的转到DDL 修改 关于表结构的修改操作,一般也是直接基于图形化界面操作。 添…

LeetCode---127双周赛

题目列表 3095. 或值至少 K 的最短子数组 I 3096. 得到更多分数的最少关卡数目 3097. 或值至少为 K 的最短子数组 II 3098. 求出所有子序列的能量和 一、或值至少k的最短子数组I&II 暴力的做法大家都会,这里就不说了,下面我们来看看如何进行优化…

彩虹易支付接口配置

支付通道配置 基本概念 彩虹易支付系统有强大的支付接口扩展能力,首先需要明白以下几个概念。 支付方式: 支付方式用于定义发起支付的调用值(在前台开发文档里面显示)与支付方式名称。目前系统自带6种支付方式,它们的…