自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 FreeRTOS(4)

互斥量又称互斥信号量(本质是信号量),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性,用于实现对临界资 源的独占式处理,往往默认初值为1。任意时刻互斥量的状态只有两种,开锁或闭锁。当互斥量被任务持有时,该互斥量处于闭锁状态,这个任务获得互斥量的所有权。当该任务释放这个互斥量时,该互斥量处于开锁状态,任务失去该互斥量的所有权。当一个任务持有互斥量时,其他任务 将不能再对该互斥量进行开锁或持有。

2026-04-21 11:24:59 388

原创 FreeRTOS(3)

上一篇文章我们讲了FreeRTOS操作系统的任务的创建和调度管理,这期我们来讲FreeRTOS中共享资源的保护和信号量,以及优先级翻转问题。

2026-04-20 20:39:57 367

原创 FreeRTOS(2)

本文介绍了FreeRTOS操作系统中任务的基本概念和管理方法。任务作为调度的基本单位,是一个无限循环的函数,具有四种状态:运行态、就绪态、阻塞态和挂起态。详细讲解了任务的创建(xTaskCreate)和删除(vTaskDelete)方法,包括参数说明和注意事项。同时阐述了任务的挂起(vTaskSuspend)和恢复(vTaskResume)机制。文章还深入分析了优先级系统,解释了相同优先级任务的时间片轮转调度和不同优先级任务的抢占式调度。最后介绍了RTOS延时函数(vTaskDelay)的工作原理和使用方法

2026-04-09 16:46:50 390

原创 FreeRTOS(1)

摘要:RTOS(实时操作系统)通过任务优先级调度确保实时性,适用于嵌入式开发。相比裸机开发,RTOS提供模块化、高并发、强实时性等优势,并支持高级组件和统一接口,提升开发效率。FreeRTOS作为主流RTOS,具有开源免费、可裁剪、高效调度等特点,内核小巧且功能丰富,适用于资源有限的微控制器。其代码结构清晰,包含任务管理、事件处理、定时器等模块。随着AIoT和工业4.0发展,FreeRTOS凭借多核支持和安全认证,将持续引领嵌入式实时系统领域。掌握FreeRTOS成为嵌入式开发者的必备技能。

2026-04-08 20:22:05 657

原创 Linux下动态库初级入门

运行时加载:代码不嵌入可执行文件,仅在程序运行时由操作系统动态加载至内存资源共享:多个进程可共享同一动态库的代码段,减少内存占用独立更新:库文件更新后,依赖程序无需重新编译即可使用新版本跨语言支持:可通过标准接口被C、C++、Python等多种语言调用。

2025-09-09 14:07:33 561

原创 Linux下静态库初级入门

静态库是一种简易的不开源隐藏方法,代码作者可以将重要的实现函数放入一个.c文件中,以此来防止他人偷窃源代码,使用者仅需要使用静态库和main.c即可实现作者所描述的功能。但是静态库亦有缺点,缺点是体积大,维护困难,当代码更新时,需要重新部署链接库文件(静态库),多个程序同时使用时浪费空间;优点则是部署简单,安全性高,生成可执行文件不依赖外部库文件。

2025-09-09 08:53:17 699

原创 常见Linux文件IO(标准IO)解析

说明:标准IO实际上是系统IO的封装,这种封装体现如下图所示,fopen(函数将调用open()函数得到的文件描述符填入结构体FILE中,并为文件分配缓冲区,设置缓冲区类型,最后给用户返回指向FILE的指针fp,成为文件指针每当使用标准IO的写操作函数,试图将数据写入文件a.txt时,数据都会流过缓冲中区,然后再在适当的时刻冲洗(或刷新flush)到内核,最后才真正写入设备文件。

2025-09-03 14:58:44 1077

原创 常见Linux文件IO(系统IO)解析

Linux 文件 IO(Input/Output,输入/输出)是操作系统提供的用户程序与外部设备(如磁盘、终端、网络等)进行数据交互的核心机制。其设计遵循“Linux下一切皆文件”的哲学,所有设备和资源均通过统一的文件接口管理,简化了系统编程的复杂度。Linux 文件 IO 以“文件描述符”为核心,通过统一的系统调用接口实现了对所有设备的抽象,是用户程序与系统交互的桥梁。

2025-09-02 15:19:02 1206 2

空空如也

空空如也

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

TA关注的人

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