自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式软件工程师养成记

嵌入式linux方向摸爬滚打6年,自认为能独当一面,不是高手,分享经验,留下点东西。

  • 博客(10)
  • 收藏
  • 关注

原创 嵌入式软件工程师养成记

是什么让你发奋图强了如果用一个词语形容我,半吊子就是目前的现状。2019年11月12号,我来到深圳,开始了嵌入式软件开发的工作,如今也有一年半载了。促使我决定记录学习日记的原因有三个。首先,在工作的过程中,学过的、掌握的东西没有记录整理、很快就会忘记,所以整理记录学习笔记是为了巩固自己学到的知识。其二就是我希望按照系统的、有目标性的整理,将那些知识点中还未涉及到的或者还不够清楚的地方称这次整理的...

2020-03-08 21:27:40 419

原创 嵌入式Linux多进程编程

进程是操作系统资源分配的基本单位,进程是程序执行的实例。

2025-08-22 07:00:00 1061

原创 嵌入式Linux多线程编程

1.1 线程的本质栈空间(存储局部变量)寄存器状态(程序计数器等)线程ID和优先级1.2 线程 vs 进程对比fill:#333;color:#333;color:#333;fill:none;进程代码段数据段堆文件描述符信号处理器线程1线程2栈寄存器栈寄存器1.3 Linux线程实现原理CLONE_VM:共享内存空间CLONE_FS:共享文件系统信息:共享文件描述符表。

2025-07-23 00:02:21 957

原创 条件变量:多线程同步的核心机制详解

条件变量(Condition Variable)是多线程编程中实现线程间同步的核心机制。它允许线程在某个条件不满足时主动阻塞等待,当其他线程修改条件并发出通知时,再恢复执行。

2025-07-16 22:20:08 1056

原创 如何基于MQTT设计业务协议--MQTT实战

花时间设计清晰、结构化、可扩展的主题层次,这是业务路由的基础。严格根据数据/指令的重要性和对丢失/重复的容忍度选择合适的 QoS 等级。QoS 1是主力,QoS 2慎用。Retain提供最新状态/配置的快照,LWT提供设备离线告警,它们是提升系统状态感知能力的关键利器。在资源消耗和可靠性之间做权衡。关键设备/指令考虑会话持久化 (选择合适格式 (JSON/Protobuf),定义清晰的字段、时间戳、唯一ID、状态码、版本号。尤其是在QoS 1和使用时,业务处理层必须。

2025-07-14 21:39:03 778

原创 嵌入式软件工程师养成记-必备通信协议篇之mqtt通信

mqtt的使用不难,这一篇将完全讲透mqtt的特性、原理。

2025-03-17 07:45:00 1571

原创 嵌入式软件工程师养成记-必备通信协议篇之modbus通信

它因其简单性、开放性和易用性成为工业领域应用最广泛的通信协议之一。做了这么多年了,我还没用到过Modbus TCP,所以掌握Modbus RTU就够用了,我个人觉得,如果使用了TCP网络了,那直接上http或者mqtt这些上层协议不是更加灵活和方便吗,还使用Modbus TCP干嘛。modbus协议很简单,发展了那么多年,已经固化了,也没有太多可以研究的,简单学习掌握一下就行,作为开发的话,使用也很简单,前辈们造了很多轮子,我们只需要用就行了,微信公众号:嵌入式石小星。csdn:嵌入式石小星。

2025-03-11 21:58:28 1455

原创 嵌入式软件工程师养成记-基本功能篇之开发工具

这个工具是目前项目编程中我觉得最好用的,cursor是一个集成了大模型的类vscode的编译器,可以理解为在vscode中集成了AI辅助编程助手,cursor的使用十分简单,最大的优势是能管理和对话整个项目。这是vs code上的一个插件,可以让git项目的修改更加清晰,当我们鼠标停留在某一行代码上,可以显示出这一行代码最近的提交人和提交信息,这在多人协作的项目中可以清晰地就看出来最近修改过这段代码的人是谁。我上班的时候使用的是mac电脑、以及一台ubuntu电脑,平时家里用的是windows电脑。

2025-03-07 19:01:02 269

原创 嵌入式软件工程师养成记-基本功能篇之485串口通信

什么是485/232协议在嵌入式设备中,经常会听到“这设备支持232、485接口",这里面说到232、485就是一种串口协议,物理上有本质的不同(不像TCP和UDP协议的不同只是应用层上的不同),他们用于设备之间的通信,单片机设备中很常用到。其实我们编程不需要太过深入理解两种协议上的详细细节,因为在驱动层都帮我们屏蔽了物理细节,只需要在上层进行设置就行了。两种协议在编程上基本上是通用的(只要在设置协议的时候改一下,下面实例中会说到)。我们只需要大概知道协议的一些特性即可。485/232 串口的区别RS

2025-03-03 23:56:23 3691

原创 基本功能篇之c语言编程规范

基本功能篇之c语言编程规范为什么还在用c语言开发首先将编程语言按照开发效率粗略的分为三个等级,低中高,对应的语言有汇编(低)、c/c++(中)、python(高)。越低级的语言、开发效率越低、但是运行效率高,内存限制小。以前cpu跑的不快、内存也很贵,所以主要是底层语言开发,但是现在内存便宜、cpu又快、已经不在乎这点运行效率的差异了,现在讲究开发效率要尽可能高。所以在嵌入式软件中,除某些ic...

2020-03-15 15:40:00 479

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除