嵌入式软件开发是个啥职业?
在硬件行业中,有一类工作岗位是更偏向软件的,或者说是软硬结合非常紧密的工作,那就是嵌入式开发工程师。
说起嵌入式,可能很多没有接触过电子类的人没有听说这些东西。

其实简单来说,嵌入式开发就是写程序去控制硬件电路,然后实现电子产品的智能控制功能。
比如说通过给主板控制板写入灯光亮灭的设定,而这个关亮的控制程序就属于嵌入式开发,它是需要结合软件来控制设定的。
嵌入式系统由硬件和软件组成,是能够独立进行运作的器件。其中软件部分一般是操作系统,运行环境等等,硬件内容则会比较多,包含信号处理器,存储器,通信模块等多方面的内容。
认识嵌入式几个需要核心知道的东西
1,C语言
C语言是嵌入式和单片机中主流的程序语言,所以学习C语言是嵌入式的重中之重。

通过C语言中的程序设定,让硬件电路系统按照预期的状态工作。
当然,汇编语言也是常常会被用到嵌入式系统中,不过因为汇编更接近底层,所以代码也会更繁琐,维护起来更麻烦,主流还是C语言。
2,电路基础
不管怎么样,嵌入式都是离不开硬件电路这一块的,没有硬件,就不能通过软件去控制它,所以对于基本的电路基础知识也是需要了解的,比如基本的元器件功能如电阻,电感,三极管,运算放大器,以及电流,电压,额定功率,A/D转换等等。
学习电路最好的途径其实就两个,一个是单片机开发板,二就是参与实际的项目。
通过开发板,设置不同的指令来控制电路的通断,参数,从而对整个单片机开发电路有更直观的认识,并且因为更多的是工作在嵌入式软件方面,不需要具备非常专业的硬件设计能力,只需要看懂电路中关键的输入输出就行了。
至于项目方面,可以在实际应用过程中不断积累电路知识点,哪里不会就专项去了解它,基本上完整的跟完一两个项目,对于电路知识也会有一个大的提升。
3,单片机
只有对某一类单片机有实际的操作经验,才可以真正算入门了单片机的操作。市面上比较主流的就是51单片机和STM32单片机。

4,Linux
linux是嵌入式系统中常常会涉及到的知识点。linux是一种自由和开放源码的操作系统,所以很多操作系统都会使用linux内核来进行修改,做出适合自己产品的操作系统,所以在嵌入式软件开发中,Linux的学习也是必不可少的。
相关文章:
嵌入式软件开发是个啥职业?
在硬件行业中,有一类工作岗位是更偏向软件的,或者说是软硬结合非常紧密的工作,那就是嵌入式开发工程师。 说起嵌入式,可能很多没有接触过电子类的人没有听说这些东西。 其实简单来说,嵌入式开发就是写程序去控制硬件电…...
03【远程协作开发、TortoiseGit、IDEA绑定Git插件的使用】
上一篇:02【Git分支的使用、Git回退、还原】 下一篇:【已完结】 目录:【Git系列教程-目录大纲】 文章目录 一、远程协作开发1.1 远程仓库简介1.1.1 Github1.1.2 Gitee1.1.3 其他托管平台 1.2 发布远程仓库1.2.1 创建项目1) 新…...
Linux:centos7通过yum安装mysql的方法
1. 检查mysql是否安装 yum list installed | grep mysql如果有的话,就全部卸载 yum -y remove 数据库名称2. MySQL依赖libaio,所以先要安装libaio yum search libaio # 检索相关信息 yum install libaio # 安装依赖包3. 下载MySQL Yum Repository 如…...
【算法与数据结构】93、LeetCode复原 IP 地址
文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:参照【算法与数据结构】131、LeetCode分割回文串的思路,需要将IP字符串进行分割࿰…...
uniapp点击图片放大预览
阐述 有些时候我们在用uniapp显示图片时,有的不宜全部显示到屏幕上,uniapp提供了一个非常好用的api。 实现方式如下: <template><view class"content"><image class"logo" src"/static/images/a.…...
Java TreeMap
TreeMap 是一个基于 key 有序的 key value 散列表。 map 根据其键的自然顺序排序,或者根据 map 创建时提供的 Comparator 排序不是线程安全的key 不可以存入null底层是基于红黑树实现的 TreeMap 的类结构图: 实现了 NavigableMap 接口,Na…...
ubuntu 内网源如何搭建 —— 筑梦之路
为什么要搭建内网源? 原因:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开发人员下载安装软件 搭建建议 单独使用一块磁盘来存放源文件或者单独一个目录下,避免混淆。 环境说明 ubuntu 系统 两张…...
测试用例的设计方法(黑盒)
1.基于需求的设计方法 比如针对网易邮箱进行测试:分为功能相关和非功能相关两大类 但是这么设计的话,有无数多个测试用例,我们现在看到的只是一些大概的测试用例,要想设计具体的测试用例,需要用到下面测试用例的方法…...
Shell编程入门--概念、特性、bash配置文件
目录 一、Shell概念1.定义2.分类和使用场景2.1.分类和切换2.2.使用场景 3.特性3.1.文件描述符与输出重定向3.2.历史命令---history3.3.别名 --alias3.4.命令排序执行3.5.部分快捷键3.6.通配符置换 4.脚本规范5.脚本运行方式5.1.bash脚本执行5.2.bash脚本测试 二、bash配置文件1…...
读书笔记:彼得·德鲁克《认识管理》第14章 工作、做工与员工
一、章节内容概述 虽然工作的历史与人类一样久远,但对工作展开系统研究不过是近百年之内的事,并且“做工”,也就是人从事工作,迄今为止仍很少受到 系统关注。然而我们知道,工作和做工不同,工作是客观的“事…...
diffusers库中stable Diffusion模块的解析
diffusers库中stable Diffusion模块的解析 diffusers中,stable Diffusion v1.5主要由以下几个部分组成 Out[3]: dict_keys([vae, text_encoder, tokenizer, unet, scheduler, safety_checker, feature_extractor])下面给出具体的结构说明。 “text_encoder block…...
智慧城市照明为城市节能降耗提供支持继电器开关钡铼S270
智慧城市照明:为城市节能降耗提供支持——以钡铼技术S270继电器开关为例 随着城市化进程的加速,城市照明系统的需求也日益增长。与此同时,能源消耗和环境污染问题日益严重,使得城市照明的节能减排成为重要议题。智慧城市照明系统…...
固高GTS800控制卡开发数控系统宏程序心得
在对固高GTS800控制卡做数控系统开发时,经过多年的总结与积累,总算是实现了一个数控系统的基本功能。 基本实现宏程序的译码与执行同时执行,虽然不是实时执行,但在充分利用插补缓存区的基础上,实现了相对的实时性。 …...
linux入门---线程池的模拟实现
目录标题 什么是线程池线程的封装准备工作构造函数和析构函数start函数join函数threadname函数完整代码 线程池的实现准备工作构造函数和析构函数push函数pop函数run函数完整的代码 测试代码 什么是线程池 在实现线程池之前我们先了解一下什么是线程池,所谓的池大家…...
jQuery HTML/CSS 参考文档
jQuery HTML/CSS 参考文档 文章目录 应用样式 示例属性方法示例 jQuery HTML/CSS 参考文档 应用样式 addClass( classes ) 方法可用于将定义好的样式表应用于所有匹配的元素上。可以通过空格分隔指定多个类。 示例 以下是一个简单示例,设置了para标签 <p&g…...
QT 布局管理综合实例
通过一个实例基本布局管理,演示QHBoxLayout类、QVBoxLayout类及QGridLayout类效果 本实例共用到四个布局管理器,分别是 LeftLayout、RightLayout、BottomLayout和MainLayout。 在源文件“dialog.cpp”具体代码如下: 运行效果: Se…...
使用 pubsub-js 进行消息发布订阅
npm 包地址 github 包地址 pubsub-js 是一个轻量级的 JavaScript 基于主题的消息订阅发布库 ,压缩后小于1b。它具有使用简单、性能高效、支持多平台等优点,可以很好地满足各种需求。 功能特点: 无依赖同步解耦ES3 兼容。pubsub-js 能够在…...
TA Shader基础
渲染管线 概念:GPU绘制物体的时候,标准的,流水线一样的操作 游戏引擎如何绘制物体:CPU提供绘制数据(顶点数据,纹理贴图等)给GPU,配置渲染管线(装载Shader代码到GPU&…...
VScode + opencv(cmake编译) + c++ + win配置教程
1、下载opencv 2、下载CMake 3、下载MinGW 放到一个文件夹中 并解压另外两个文件 4、cmake编译opencv 新建文件夹mingw-build 双击cmake-gui 程序会开始自动生成Makefiles等文件配置,需要耐心等待一段时间。 简单总结下:finish->configuring …...
Vue中的常用指令v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model
前言 持续学习总结输出中,Vue中的常用指令v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model 概念:指令(Directives)是Vue提供的带有 v- 前缀 的特殊标签属性。可以提高操作 DOM 的效率。 vue 中的指令按照不…...
CafeIOT嵌入式云连接库:轻量级二进制协议栈设计与ESP32实践
1. 项目概述CafeIOT 是一个面向嵌入式物联网终端的轻量级云连接库,专为 ESP32(及兼容 ESP8266)平台设计,实现设备与 CafeIOT 云平台之间的可靠、低开销 TCP/IP 级通信。尽管其 README 中仅提及 “Esp8266”,但实际工程…...
Shell 性能监控:指标采集、告警规则与可视化大盘设计
一、前言Shell 性能监控:指标采集、告警规则与可视化大盘设计是运维工程师和全栈开发者的必备技能。本文从Shell和监控出发,配有完整的命令和脚本示例。二、常用命令速查2.1 系统监控# CPU 和内存使用 top -c htop # 更直观# 磁盘使用 df -h du -sh /* …...
如何优化SQL注入检测性能_通过预编译缓存提升效率
预编译语句能减少SQL注入检测开销,因其将参数与SQL模板分离,使检测只需针对缓存的带占位符模板执行一次,而非每次请求都扫描完整SQL字符串。为什么预编译语句能减少SQL注入检测开销因为真正的注入检测(如正则匹配、语法树分析&…...
CYBER-VISION零号协议入门指南:一键部署,开启智能助盲新篇章
CYBER-VISION零号协议入门指南:一键部署,开启智能助盲新篇章 1. 引言:当科技成为视障者的眼睛 想象一下,当你走在繁忙的街道上,眼前的世界突然变得模糊不清——路边的台阶、迎面而来的行人、突然出现的障碍物都成了潜…...
从建模到优化:CST Studio Suite中波导弯头高效仿真全流程解析
1. 波导弯头仿真基础与CST环境准备 波导弯头是微波系统中不可或缺的组件,用于改变电磁波传输方向。在4-5GHz频段,传统设计方法依赖经验公式和手工计算,不仅耗时且难以评估实际性能。CST Studio Suite作为专业电磁仿真工具,能直观呈…...
SR、JK、T、D触发器:逻辑符号解析与特性方程对比
1. 触发器基础概念与分类 在数字电路设计中,触发器(Flip-Flop)是最基础的存储单元之一。简单来说,触发器就像是一个记忆开关,能够记住1位二进制信息(0或1)。想象一下家里的电灯开关——按一下开…...
PCIe信号完整性避坑指南:Gen3物理层均衡训练与时钟补偿全流程
PCIe Gen3信号完整性实战:从均衡训练到时钟补偿的深度解析 当PCIe Gen3以8GT/s的速率在电路板上传输数据时,信号完整性问题从理论挑战变成了实际工程中的"拦路虎"。与Gen1/Gen2时代不同,Gen3的信号完整性管理不再是简单的参数调整&…...
【Agent-阿程】OpenClaw v2026.4.10版本更新内容详解
【Agent-阿程】OpenClaw v2026.4.10版本更新内容详解一、版本更新概览1.1 更新分类统计二、框架级更新详解2.1 Codex集成架构重构2.2 Active Memory记忆系统三、功能级更新详解3.1 macOS Talk Mode MLX支持3.2 视频生成Seedance 2.03.3 Microsoft Teams消息操作3.4 QA基础设施增…...
Windows 查看占用端口的进程,并关闭进程
Windows 查看占用端口的进程,并关闭进程 AI 回答 在 Windows 系统中,当遇到“端口被占用”(Address already in use)的报错时,通常是因为之前的程序没有正常关闭,或者后台有其他服务正在使用该端口。 你可以…...
【大模型工程化实战白皮书】:SITS2026圆桌权威解码7大落地断点与3类可复用架构范式
第一章:SITS2026圆桌:大模型工程化的挑战与机遇 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026圆桌讨论中,来自Meta、阿里云、Hugging Face与CNCF模型工作组的工程师共同指出:大模型工程化已从“能否训出来”迈入“能…...
