xenomai内核解析
本博客为本人学习linux实时操作系统框架xenomai的一些记录,主要剖析xenomai内核实现,以及与linux相关的知识。为方便读者定位具体文章,现列出本博客大纲,后续会陆续将大纲中缺少部分填充完整,感兴趣的读者敬请关注!
版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/
第一章 认识xenomai
1. 嵌入式实时linux概述
2. xenomai的组成结构
第二章 构建xenomai内核
1.ARM/X86架构xenomai安装教程
第三章 xenomai初探
1. 实时性测试
2. xenomai库工具介绍
3. 各种接口xenomai应用示例及编译
4. xenomai proc文件信息介绍
……
第四章 双核基石ipipe
----X86架构ipipe接管中断处理----
1. 中断向量与APIC
2. ipipe简介
3 X86 linux异常处理与ipipe接管中断/异常
----arm架构ipipe接管中断处理----
4. GIC驱动
5. arm中断处理与ipipe接管中断/异常
6. linux中断处理流程
7. ipipe中断管理机制
7.1 ipipe domain管理
7.2 ipipe初始化流程
7.3 ipipe 快/慢速路径中断处理
7.4 RTDM实时驱动中断注册
8. 双核异常处理(以X86 page-fault为例)
9. ipipe移植概述
第五章 系统调用
1. 双核系统调用(一)
2. 双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
3. 双核系统调用(三)--如何为xenomai添加一个系统调用
4. ipipe对系统调用的处理
第六章 时间子系统
1. linux时间子系统简介
2. xenomai时间子系统
2.1 xnclock
2.2 xntimer
2.3 ipipe event设备管理
2.4 xenomai时钟系统初始化流程
2.4.1 X86 timer接管流程
2.4.2 ARM timer接管流程
2.5 xenomai内核下Linux时钟工作流程
2.4 autotune及latencies gravity简述
第七章 任务管理
1. linux任务管理
2. xenomai任务管理
2.1. 内核实时线程描述xnthread
2.2. 用户实时线程描述cobalt_thread
2.3. 调度策略与调度类
2.4. nksched
2.5. 内核实时线程创建
2.6. 用户态实时线程创建
2.7. 实时调度类任务管理
3. 双核间任务迁移
第八章 同步与互斥
1. 优先级倒置
2. xenomai内核对象管理器xnregistry
3. 资源同步互斥机制xnsynch
第九 内存
1. linux内存管理
2. xenomai 实时内存管理
第十章 信号
1. 信号signal(一)---Linux信号机制
2. 信号signal(二)---xenomai信号处理机制
第十一章 实时IPC
1. 实时IPC概述
2. 实时与非实时通讯XDDP
xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
xenomai与普通linux进程之间通讯XDDP(二)--实时与非实时关联(bind流程)
xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
3. 实时与实时通讯IDDP
4. 实时与实时通讯BUFP
第十二章 POSIX IPC
1. POSIX信号量
2. POSIX消息队列
3. ....
第十三章 实时驱动模型RTDM
1. 协议类设备
这篇文章内有所提及:xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
2. 字符类设备
第十四章 xenomai实时性能优化
1. 有利于提高xenomai 实时性的一些配置建议
2. arm平台xenomai与VxWorks实时性对比
(1).定时抖动对比:xenomai与VxWorks实时性对比(Jitter对比)
(2).资源强占上下文对比:xenomai与VxWorks实时性对比(资源抢占上下文切换对比)
3.基准测试
(1). xenomai x86基准测试
第十五章 其他
x86平台下一次解bug过程: 解BUG-xenomai内核与linux内核时间子系统之间存在漂移
X86_64/X86 GNU汇编: X86_64/X86 GNU汇编、寄存器、内嵌汇编