LK 博客
GitHub
云上高阁,文华先行

全部内容

晨风入卷,诸篇在列;可按分类寻章,也可随兴翻阅。

当前范围 按分类浏览中

本页共展示 9 篇内容,开卷有声,择章而读。

RTOS内核开发实战(4):Cortex-M3端口层,初始栈帧、PendSV与首任务启动 嵌入式 01
分类浏览 本页第 01 篇

RTOS内核开发实战(4):Cortex-M3端口层,初始栈帧、PendSV与首任务启动

当链表、TCB、ready queue 和调度器基本站稳之后,RTOS 才真正来到一个分水岭:前面的代码都还在“决定谁该运行”,而 port 层要解决的是另一件更硬的问题,怎么让 CPU 真的切到那个任务去执行。 当前仓库里,这部分工...

嵌入式 Yukikaze 鸿蒙黑体 0 赞
RTOS内核开发实战(2):TCB、优先级位图与Ready Queue,把可运行任务集合建起来 嵌入式 03
分类浏览 本页第 03 篇

RTOS内核开发实战(2):TCB、优先级位图与Ready Queue,把可运行任务集合建起来

把链表打好之后,下一步不是立刻写 PendSV,而是先定义“调度器眼里的任务”到底长什么样。 当前这版代码里,这个问题的答案落在 "tcb_t" 和 "ready_queue_t" 两个结构上。 先回答一个问题:调度器看到的任务是什么...

嵌入式 Yukikaze 鸿蒙黑体 0 赞
RTOS内核开发实战(1):侵入式双向链表,先把内核“挂链”这件事做对 嵌入式 04
分类浏览 本页第 04 篇

RTOS内核开发实战(1):侵入式双向链表,先把内核“挂链”这件事做对

做 RTOS,最先落地的往往不是调度算法,而是数据结构。 任务要进 ready list,延时任务要进 sleep list,后续做信号量、消息队列时还会有等待链表。如果底层链表设计得不稳,后面的调度、阻塞、超时唤醒都会跟着变脆。 这...

嵌入式 Yukikaze 鸿蒙黑体 0 赞
RTOS设计与开发(4):信号量、互斥锁、消息队列:同步、互斥与通信的内核视角 嵌入式 05
分类浏览 本页第 05 篇

RTOS设计与开发(4):信号量、互斥锁、消息队列:同步、互斥与通信的内核视角

在学完异常模型、PendSV 任务切换、Ready/Blocked 状态管理之后,RTOS 的骨架已经搭起来了。 但一个真正可用的 RTOS,不能只会“切任务”,还必须解决三个更实际的问题: - 任务之间怎么同步 - 多个任务访问共享...

嵌入式 Yukikaze 鸿蒙黑体 3 赞
RTOS设计与开发(3):阻塞态与就绪态管理:谁该运行,谁该等待,谁该被唤醒 嵌入式 06
分类浏览 本页第 06 篇

RTOS设计与开发(3):阻塞态与就绪态管理:谁该运行,谁该等待,谁该被唤醒

在学完 Cortex-M 异常模型、PendSV 任务切换之后,很容易产生一种错觉: «RTOS 不就是“保存一下现场,再恢复另一个任务的现场”吗?» 其实不是。 上下文切换只是执行层面的动作,RTOS 更本质的能力是:管理任务状态。...

嵌入式 Yukikaze 鸿蒙黑体 0 赞
如何在 RV1126B 开发板上部署 Minecraft 服务器 嵌入式 07
分类浏览 本页第 07 篇

如何在 RV1126B 开发板上部署 Minecraft 服务器

1. 前言 ARM 开发板通常更多用于边缘计算、视觉推理、网关服务或嵌入式应用,但只要系统环境合适,它同样可以承载一些轻量级通用服务。本文记录一次在 ELF-RV1126B 开发板 上部署 Paper Minecraft 服务器 的完...

嵌入式 Yukikaze 鸿蒙黑体 0 赞
RTOS设计与开发(2):PendSV 作为上下文切换异常 嵌入式 08
分类浏览 本页第 08 篇

RTOS设计与开发(2):PendSV 作为上下文切换异常

一、这一部分要解决什么问题 在 Cortex-M 的 RTOS 里,任务切换一般不是“直接跳到另一个函数”,而是: «保存当前任务上下文 → 切换栈指针 → 恢复下一个任务上下文» 而完成这件事的标准套路就是: - SysTick:更...

嵌入式 Yukikaze 鸿蒙黑体 0 赞