自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TechIoT - 探索物联网与嵌入式系统

欢迎来到TechIoT的优快云博客!TechIoT专注于分享物联网技术及嵌入式系统计数

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

原创 Ubuntu 系统掉电导致分区损坏无法启动修复方案

摘要:本文介绍嵌入式Ubuntu系统因掉电导致ext4分区损坏无法启动的修复方案。通过修改/etc/fstab添加nofail参数防止启动阻塞,并创建自动fsck服务在开机时检测修复损坏分区。方案包含详细实施步骤:1)配置fstab容错参数;2)部署自动修复脚本和systemd服务;3)提供模拟损坏的测试方法(使用dd破坏超级块)。适用于RK3568、树莓派等嵌入式设备,确保数据分区损坏时系统仍可启动并自动修复,同时包含验证方法确认修复机制有效性。

2025-10-22 12:19:17 322

原创 如何使用 UML 设计嵌入式系统

在嵌入式系统设计中,UML(统一建模语言)不仅是软件架构建模工具,更是系统分析与设计的可视化语言。 由于嵌入式系统受设计中,设计应遵循“**先外后内,先整体再局部**”原则: 先明确系统拓扑与模块部署,再深入任务逻辑与通信细节。本文通过实际 UML 示例,分享嵌入式系统的建模思路。

2025-10-12 08:24:00 701

原创 基于表驱动的状态机设计与实现-state_machine

本文介绍了一个轻量级、可移植的 表驱动状态机框架 — embeded_state_machine。通过迁移表集中描述状态转换规则,结合通用执行器实现状态跳转,避免了传统 switch-case 的冗余和难维护问题。

2025-09-28 23:03:40 592

原创 CAN 总线多设备组网通信,如何同步事件?

在 CAN 总线多设备组网通信中,需要将一个事件同步到所有设备时,通常有两种方式:广播和逐一发送。广播方式通过一次性消息传输,实现高效和快速同步,但缺乏接收确认,可能导致不可靠的传输;逐一发送方式通过逐个发送消息确保每个设备可靠接收,但效率较低且逻辑实现复杂。

2024-10-17 08:04:49 1341

原创 CAN 总线通信,如何实现应用层的应答机制

在 CAN 总线多节点组网中,实现应用层的应答机制是确保数据可靠传输的关键环节。通过使用。

2024-10-13 15:22:51 760 1

原创 CAN总线通信是否需要增加应用层应答机制?

在某些情况下,虽然 CAN 总线在物理层面保证了数据的传输,但是并不能确保应用层已经成功处理了这些数据。例如,如果接收节点短暂的通信故障或系统繁忙,导致消息丢失。这时候,通过应用层应答机制,发送节点没有收到应答则重发消息,确保消息被接收且被正确处理。因此,通过应用层的应答机制,发送方可以确保每个帧都被正确接收并按顺序重组,避免消息丢失或帧错乱。对于一些对实时性要求极高的应用,应用层的应答与重发机制可能会导致响应时间的增加。应用层应答机制并不是所有场景下都必须实现,它更多的是取决于应用的具体需求。

2024-10-12 06:00:29 1350 2

原创 UCOS-III 操作系统深度剖析与实战应用教程

UCOS-III 系统原理、项目实践

2024-07-10 20:58:06 1678

原创 Git 报错:fatal: update_ref failed for ref ‘ORIG_HEAD‘ 解决记录

Git 报错:fatal: update_ref failed for ref 'ORIG_HEAD' 解决记录

2025-10-10 21:31:05 247

原创 UCOS-III 任务堆栈与中断堆栈切换过程

UCOS-III 堆栈切换过程

2024-07-31 22:51:25 515

原创 UCOS-III 主要全局变量及数据结构详解

UCOS-III 主要全局变量及数据接口详解

2024-07-31 06:32:49 1063

原创 UCOS-III 互斥锁接口详解

互斥锁接口详解,递归锁定, 优先级继承

2024-07-30 05:48:00 1032

原创 UCOS-III 系统TICK接口详解

COS-III的Tick管理和阻塞接口超时机制提供了一种高效且可靠的方法来管理实时系统中的任务调度和超时处理。通过合理配置和使用这些机制,可以提高系统的实时性和稳定性,从而更好地满足各种实时应用的需求

2024-07-28 09:04:06 1179

原创 PlantUML学习笔记-嵌入式系统设计常用图例

在嵌入式系统设计过程中,需要使用一些图例对系统框架及业务流程进行说明,以便于多人协同开发及后期的系统维护,提高团队开发效率.

2024-07-28 07:02:14 542

原创 UCOS-III 任务调度锁定/解锁接口OSSchedLock/Unlock详解

在实时操作系统中,关闭和打开任务调度是确保系统执行关键代码时保持原子性和数据一致性的重要手段。通过正确使用 OSSchedLock 和 OSSchedUnlock 接口,我们可以有效地控制任务调度,实现高效、稳定的实时系统

2024-07-26 23:55:48 945

原创 UCOSIII 时间片轮调度接口OS_SchedRoundRobin详解

时间片轮调度配置使用时间片轮调度是如何实现的?

2024-07-25 08:02:28 2146

原创 UCOS-III 系统启动接口OSStart详解

UCOS内核启动流程第一个就绪任务是如何启动的?为什么设置PendSV异常优先级为最低优先级?

2024-07-24 21:31:02 1246

原创 UCOS-III 任务调度接口(OSSched)详解

OSSched函数用于检查并确定是否有更高优先级的任务需要运行。该函数通常在任务级别代码中调用,而不是在中断服务程序(ISR)中调用。中断服务程序的调度由OSIntExit()函数处理。OSSched函数主要完成以下任务:检查操作系统运行状态。检查中断嵌套计数器。检查调度器是否被锁定。获取最高优先级任务。执行任务级别的上下文切换。

2024-07-23 21:43:18 853

原创 UCOSIII 系统初始化接口(OSInit)详解

初始化中断堆栈清除和初始化系统计数器和指针初始化优先级位图表初始化各个管理模块初始化任务管理器初始化空闲任务初始化时钟节拍管理器初始化统计任务初始化定时器管理器调用用户自定义的初始化钩子函数

2024-07-23 06:53:02 669

原创 UCOS-III静态内存分配与FreeRTOS动态内存分配

UCOS-III和FreeRTOS在内存管理上的策略各有优缺点。UCOS-III采用静态内存分配,系统的稳定性和确定性高,适合对实时性要求高且内存需求固定的应用场景。而FreeRTOS采用动态内存分配,内存分配灵活性高及内存利用率高,适合内存需求动态变化的应用场景。应该要根据具体应用场景,选择合适不同的内存管理策略,可以优化系统性能和资源利用率

2024-07-20 10:02:26 970

原创 UCOSIII 中断管理接口详解

在实时操作系统中,中断处理是一个非常重要的环节。理解和掌握中断处理流程对提高系统实时性和稳定性至关重要

2024-07-19 06:02:55 597

原创 嵌入式C语言常用技巧

volatile关键字 aligned 内存对齐

2024-07-15 21:11:05 494

原创 C语言指针常见陷阱及避免方法

空指针、野指针、指针越界、内存泄露

2024-07-14 19:34:33 555

原创 C语言操作符优先级

C语言操作符优先级记忆法

2024-07-14 08:10:37 248

原创 谷歌C语言编码规范详解

在项目开发过程中,按一定的规范编写代码,可以提高代码的可读性、一致性和可维护性。有助于确保代码库的高质量和协作效率

2024-07-14 07:49:32 1009

原创 UCOS-III 与UCOS-III主要功能差异

UCOS-III ,UCOS-II功能对比

2024-07-10 21:39:38 284

原创 UCOS-III 运行时统计数据

实时操作系统,运行时数据统计

2024-07-08 23:18:13 1327

原创 UCOS-III 任务同步机制-事件标志

UCOS-III任务同步机制-事件队列, 状态事件处理,瞬态事件处理

2024-07-08 22:09:28 521

原创 µCOS-III 任务同步机制-任务信号量

任务信号量、任务与ISR同步 ;布尔信号量、计数信号量

2024-07-07 22:53:48 504

原创 UCOS-III 任务同步机制-信号量

任务间同步信号量、任务与ISR同步 ;布尔信号量、计数信号量

2024-07-06 07:48:04 659

原创 UCOS-III 系统移植

UCOSIII系统移植到GD32F303详细过程工程代码:https://github.com/jslaobing/techIot_ucosiii_porting

2024-07-06 00:27:50 1829

原创 UCOS-III 系统配置

UCOS-III 系统配置详细列表

2024-07-01 21:30:52 1202

原创 UCOS-III Licensing

Micrium组件现以Apache 2.0开源许可模式提供,开发者可以免费下载和使用这些软件。这一变化旨在扩大用户基础,并让嵌入式社区参与软件的未来发展。对于以前购买了商业许可证的开发者,其许可证仍然有效,但不再直接从Micrium或Silicon Labs获得技术支持或软件维护。若需开发新产品,可以选择获取Cesium RTOS商业版本的许可证或使用Github上的µC/OS开源版本。更多详细信息,请访问。

2024-07-01 20:42:14 742

原创 UCOS-III 系统性能图形化监控工具uC/Probe

UCOS-III 系统图形化监控工具uC/Probe安装、配置、使用

2024-06-30 10:24:39 999

原创 嵌入式系统板间通信-I2C

I2C是同步半双工通信协议,用于主控与外围芯片之间的通信,主要用于外围。

2024-06-30 09:58:28 360

原创 UCOS-III 系统时钟工作模式

UCOS-III 系统时钟三种工作模式: 无系统时钟模式、周期性系统时钟模式、动态系统时钟模式

2024-06-30 08:16:38 604

原创 UCOS-III 系统时钟队列

UCOS-III 系统时钟队列

2024-06-29 22:52:01 200

原创 UCOS-III 软件定时器

UCOS-III 软件定时应用及实现

2024-06-29 22:44:11 620

原创 UCOS-III任务调度与等待队列管理

任务进入等待队列的时机举例如下:当任务等待一个信号发出时当任务等待一个互斥信号量释放时当任务等待一个事件标志组被发布时当任务等待一个消息队列被发布时当任务等待延时结束时在这些情况下,任务将从就绪队列中删除,并放置到所等待的内核对象的等待队列中。这样,系统可以在适当的时候唤醒任务,并将其重新放入就绪队列。

2024-06-28 21:05:58 398

原创 UCOS-III 任务调度与就绪列表管理

UCOS-III通过就绪优先级位图和就绪队列的结合,实现了高效的任务调度机制。在实际应用中,通过优化任务优先级和队列管理,可以进一步提升系统性能,满足各种复杂的实时需求。UCOS-III通过就绪优先级位图来快速查找最高优先级的就绪任务,从而实现高效调度。就绪优先级位图是一个按位表示的结构,每个位代表一个优先级,当某个优先级上有任务就绪时,相应位被置位。每个优先级对应一个就绪队列,所有具有相同优先级的任务链入该队列中。通过这些API,UCOS-III可以在O(1)时间复杂度内完成优先级任务的管理和调度。

2024-06-28 20:55:39 639

原创 UCOS-III 资源竞争处理

临界资源处理, 是为了避免多个运行空间同时访问共享资源时导致的数据冲突和系统不稳定。未加保护的临界区可能导致不可预测的行为,如数据损坏、中断丢失和系统崩溃,影响系统的实时性和可靠性。

2024-06-27 20:34:47 490

空空如也

空空如也

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

TA关注的人

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