Vonku's Blog

Keep calm or 烫烫烫

NuttX 怎么做到”每个进程有独立地址空间”?用户态函数调用怎么穿过 SVC 陷阱进入内核?高优先级任务就绪后,调度器如何当场抢走 CPU?本文基于 ARMv7-A MMU,从地址环境、系统调用陷入、双栈切换到优先级继承,完整拆解 KERNEL 模式下的任务生命周期。

阅读全文 »

从 CPU 上电复位到 NSH Shell 出现提示符,NuttX 内核经历了汇编级 MMU 初始化、OS 子系统逐层构建、ELF 可执行文件加载和用户态地址空间创建四个阶段。本文以 qemu-armv7a:knsh 配置为实例,逐行追踪完整的启动调用链。

阅读全文 »

从 arm_head.S 的 boot 初始化到每进程复制 L1 页表,再到 ELF 加载与 syscall 调度——一条完整链路拆解 NuttX 如何在 ARMv7-A 上通过两级页表实现轻量级进程隔离。

阅读全文 »

一份 defconfig 如何驱动编译出针对特定芯片的 OS 二进制?本文拆解 NuttX Make 构建系统的每一层——配置生成、symlink 路由、递归编译、依赖追踪、三种构建模式,以及最终的链接拼接。

阅读全文 »
0%