沐多_个人页

个人头像照片 沐多
个人头像照片
29
0
0

个人介绍

暂无个人介绍

擅长的技术

  • Linux
  • RTOS
  • xenomai
  • Hypervisor
  • EtherCAT
  • Profinet
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年05月

  • 05.09 22:17:47
    发表了文章 2024-05-09 22:17:47

    不同RTOS中POSIX接口的实现差异

    本文探讨了在开发实时应用时使用POSIX API来实现跨平台和可移植性的策略。
  • 05.09 22:16:42
    发表了文章 2024-05-09 22:16:42

    xenomai内核解析--双核系统调用(三)--如何为xenomai添加一个系统调用

    本文介绍了如何在Xenomai中添加自定义系统调用`get_timer_hits()`,该调用用于获取CPU定时器中断次数。首先,在`syscall.h`中定义127号系统调用,并在`clock.h`和`clock.c`中声明和实现该函数。接着,更新libcobalt库以包含新接口。最后,提供了一个示例应用,演示如何在实时任务中使用此系统调用。编译内核和库后,运行示例程序显示定时器中断次数,体现了Xenomai的tickless特性。
  • 05.09 22:15:58
    发表了文章 2024-05-09 22:15:58

    xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务

    本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
  • 05.09 22:15:02
    发表了文章 2024-05-09 22:15:02

    xenomai内核解析--双核系统调用(一)

    本文介绍了Xenomai内核系统调用的实现,探讨了在Linux内核与Xenomai实时内核共存时,系统调用如何区分和交互。系统调用是用户空间与内核空间通信的关键,它提供了硬件抽象、系统稳定性、安全性和可移植性。在32位系统中,通过`int 0x80`指令触发,而在64位系统中,使用`syscall`指令。Xenomai通过I-pipe拦截系统调用,区分实时与非实时任务,并通过`cobalt_syscalls`表执行相应操作。文章还详细解析了系统调用表的生成和权限控制机制。
  • 05.09 22:13:23
    发表了文章 2024-05-09 22:13:23

    xenomai内核解析--任务同步互斥机制(一)--优先级倒置

    本文是关于Xenomai实时操作系统中资源管理和优先级倒置问题的概述。Xenomai使用`xnobject`和`xnregistry`管理任务间的同步互斥资源,如信号量、互斥锁等。资源管理涉及访问控制和资源保存,确保共享资源的正确调度。文章还介绍了优先级倒置现象,即高优先级任务因低优先级任务持有资源而被阻塞。为解决此问题,Xenomai采用了优先级继承策略,临时提升低优先级任务的优先级,以防止持续的优先级反转。文章后续将深入分析`xnsynch`模块和优先级倒置解决方案。
  • 05.09 22:12:36
    发表了文章 2024-05-09 22:12:36

    从Ubuntu-base构建ubuntu rootfs系统(以x86_64和arm为例)

    本文介绍了基于Ubuntu-base构建自定义Linux系统的过程,适合嵌入式设备。Ubuntu-base是最小文件系统,包含软件包管理器,可以从Ubuntu源轻松安装软件。文章详细阐述了构建步骤,包括准备宿主系统(确保使用与目标系统相同架构的Ubuntu系统)、创建和挂载分区、配置Ubuntu源、设置DNS、添加用户配置、进入chroot环境以及安装软件(如内核、X-window系统等)。对于arm架构,还提供了通过qemu在X86_64系统上构建arm rootfs的方法。整个过程强调了定制和灵活性,适合对Linux系统有深入了解的开发者。
  • 05.09 22:10:29
    发表了文章 2024-05-09 22:10:29

    EtherCAT主站IgH解析(一)--主站初始化、状态机与EtherCAT报文

    本文介绍了IgH EtherCAT Master整体运行原理
  • 05.09 22:08:21
    发表了文章 2024-05-09 22:08:21

    为什么Linux不是实时操作系统

    本文探讨了Linux为何不是实时操作系统(RTOS)。实时性关乎系统对事件的确定性响应时间,而Linux虽能保证调度执行的实时任务,但无法确保中断响应时间、中断处理时间和任务调度时间的确定性。中断响应时间受中断屏蔽时间影响,Linux中无法确保;中断处理时间因不支持中断嵌套而不确定;任务调度时间虽快,但调度点的限制影响实时性。Linux的定位是通用操作系统,追求平均性能而非绝对实时性。为改善实时性,Linux提供了不同抢占模型,如可抢占内核(Low-Latency Desktop)和PREEMPT-RT补丁,后者接近硬实时但牺牲了吞吐量。PREEMPT-RT正逐渐成为Linux实时增强的标准。
  • 05.09 22:07:31
    发表了文章 2024-05-09 22:07:31

    虚拟化技术及实时虚拟化概述

    本文探讨了实时虚拟化技术,它是虚拟化技术的一种,旨在保证严格的时间约束和高可靠性。文章介绍了虚拟化的起源、分时系统的历史以及虚拟化技术在云计算时代的复兴。内容涵盖分时系统、虚拟化技术的定义、类型(全虚拟化、半虚拟化、硬件辅助完全虚拟化和操作系统级虚拟化)及其优缺点。此外,还讨论了不同类型虚拟化技术的实现方式,如Type-1和Type-2虚拟化,以及容器技术。文章强调了实时虚拟化在工业实时控制、汽车、通信等领域的应用,并预告后续将重点讨论实时虚拟化技术。
  • 05.09 22:06:35
    发表了文章 2024-05-09 22:06:35

    xenomai内核解析--实时内存管理--xnheap

    Xenomai是一个实时操作系统(RTOS)层,用于Linux,旨在提供确定性的任务调度和服务。其内存管理机制包括一个名为xnheap的内存池,确保内存分配和释放的时间确定性,以满足硬实时系统的严格需求。
  • 05.09 22:05:50
    发表了文章 2024-05-09 22:05:50

    xenomai内核解析之xenomai初探

    本文是关于Xenomai实时操作系统的初探,Xenomai是一个实时性增强的Linux系统,它通过实时内核和用户空间库提供硬实时性能。Xenomai 3主要由实时内核Cobalt、实时驱动模型RTDM、用户空间库libcobalt等组成,支持两种构建实时系统的方式:Cobalt和Mercury。Cobalt在内核空间与标准Linux内核并存,通过I-Pipe处理中断,确保实时任务的执行。Mercury则是通过修改Linux内核实现。
  • 05.09 22:04:45
    发表了文章 2024-05-09 22:04:45

    xenomai与VxWorks实时性对比(Jitter对比)

    本文对比了VxWorks和xenomai的实时性,聚焦于Jitter这一关键指标。在特定的硬件环境下(双核Cortex-A15,2GB内存),VxWorks和xenomai的读取时间戳耗时分别为0.249和0.163微秒。在时钟中断Jitter方面,VxWorks各项测试平均值约为4.066微秒,而xenomai在空载和加载情况下的平均值分别为0.516和0.768微秒。任务Jitter上,VxWorks和xenomai内核态任务的平均Jitter接近,但xenomai用户态任务Jitter较高。
  • 05.09 22:03:37
    发表了文章 2024-05-09 22:03:37

    xenomai3+linux构建linux实时操作系统-基于X86_64和arm

    Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。文章还提到了Xenomai与Linux内核版本的兼容性和实时性测试结果。
  • 05.09 22:01:05
    发表了文章 2024-05-09 22:01:05

    xenomai /PREEMPT-RT 实时性优化指南

    xenomai /PREEMPT-RT 实时性优化指南
  • 05.09 21:59:52
    发表了文章 2024-05-09 21:59:52

    xenomai内核解析--实时IPC概述

    本文介绍了在Xenomai实时内核下,实时任务与非实时任务如何进行通讯
  • 05.09 21:57:09
    发表了文章 2024-05-09 21:57:09

    xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

    xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
  • 05.09 21:55:35
    发表了文章 2024-05-09 21:55:35
  • 05.09 21:54:43
    发表了文章 2024-05-09 21:54:43

    xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互

    本文介绍了Xenomai中的XDDP(Xenomai Distributed Data Protocol)通信机制,XDDP用于实时和非实时进程之间的数据交换。XDDP在Xenomai内核中涉及的数据结构和管理方式,以及创建XDDP通道后的实时端和非实时端连接过程。
  • 05.09 21:53:26
    发表了文章 2024-05-09 21:53:26

    linux实时操作系统xenomai x86平台基准测试(benchmark)

    本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
  • 05.09 21:52:44
    发表了文章 2024-05-09 21:52:44

    ARM平台内存和cache对xenomai实时性的影响

    ARM平台内存和cache对xenomai实时性的影响
  • 05.09 21:51:54
    发表了文章 2024-05-09 21:51:54

    X86 linux异常处理与Ipipe接管中断/异常

    本文讲述了X86平台上Xenomai的ipipe如何接管中断处理。首先回顾了X86中断处理机制,包括IDT(中断描述符表)的工作原理和中断处理流程。接着详细介绍了Linux中中断门的初始化,包括门描述符的结构、中断门的定义和填充,以及IDT的加载。在异常处理部分,文章讲解了早期异常处理和start_kernel阶段的异常向量初始化。最后,讨论了APIC和SMP中断在IDT中的填充,以及剩余中断的统一处理。文章指出,ipipe通过在中断入口处插入`__ipipe_handle_irq()`函数,实现了对中断的拦截和优先处理,确保了实时性。
  • 05.09 21:51:03
    发表了文章 2024-05-09 21:51:03

    xenomai 在X86平台下中断响应时间测试

    该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
  • 05.09 21:50:22
    发表了文章 2024-05-09 21:50:22

    xenomai+linux双内核下的时钟管理机制

    clock是操作系统正常运行的发动机,系统利用时钟中断维持系统时间、促使任务调度,以保证所有进程共享CPU资源;可以说,“时钟中断”是整个操作系统的脉搏。那你是否好奇xenomai cobalt内核和Linux内核双内核共存的情况下,时间子系统是如何工作的?一个硬件时钟如何为两个操作系统提供服务的?本文将揭开xenomai双核系统时间机制
  • 05.09 21:49:12
    发表了文章 2024-05-09 21:49:12

    RTnet – 灵活的硬实时网络框架

    本文介绍了开源项目 RTnet。RTnet 为以太网和其他传输媒体上的硬实时通信提供了一个可定制和可扩展的框架。 本文描述了 RTnet 的架构、核心组件和协议。
  • 05.09 21:48:07
    发表了文章 2024-05-09 21:48:07

    xenomai UDD介绍与UDD用户态驱动示例

    Xenomai UDD(User-space Device Driver)是一种用户态设备驱动框架,允许用户态程序直接操作硬件,减少内核态切换和数据拷贝,提高实时性和性能。UDD与Linux的UIO(Userspace I/O)类似,主要区别在于中断处理,UDD基于RTDM和Xenomai调度,确保实时中断响应。示例展示了如何使用UDD进行GPIO操作,对比了UDD和RTnet在网卡收发包时的CPU耗时。UDD适用于中断少、重输出的场景,如GPIO输出和网络发包。
  • 05.09 21:47:07
    发表了文章 2024-05-09 21:47:07

    linux实时应用如何printf输出不影响实时性?

    本文探讨了Linux实时任务中为何不能直接使用`printf(3)`,并介绍了实现不影响实时性的解决方案。实时任务的执行时间必须确定且短,但`printf(3)`的延迟取决于多个因素,包括用户态glibc缓冲、内核态TTY驱动和硬件。为确保实时性,通常将非实时IO操作交给低优先级任务处理,通过实时进程间通信传递信息。然而,即使这样,`printf(3)`在glibc中的实现仍可能导致高优先级任务阻塞。Xenomai 3提供了一个实时的`printf()`实现,通过libcobalt库在应用编译链接时自动处理,预分配内存,使用共享内存和线程特有数据来提高效率和实时性。
  • 05.09 21:46:02
    发表了文章 2024-05-09 21:46:02

    关于xenomai3 RTnet的一点记录

    Xenomai3的RTnet协议栈支持TCP和UDP,但不包括IGMP,且ARP支持有限,可能导致延迟或错误。服务端仅允许单个客户端连接。启用`CONFIG_XENO_DRIVERS_NET_ADDON_PROXY_ARP`时,RTnet与rtproxy MAC相同,否则rtproxy不支持ARP。TCP/IP的实时性不足,但Xenomai4的EVL核聚焦二层实时网络。更多详情见链接。
  • 05.09 21:45:17
    发表了文章 2024-05-09 21:45:17

    xenomai内核解析-xenomai实时线程创建流程

    本文介绍了linux硬实时操作系统xenomai pthread_creta()接口的底层实现原理,解释了如何在双内核间创建和调度一个xenomai任务。本文是基于源代码的分析,提供了详细的流程和注释,同时给出了结论部分,方便读者快速了解核心内容。
  • 05.09 21:43:15
    发表了文章 2024-05-09 21:43:15

    【xenomai3内核解析】系列文章大纲

    该博客系列详细解析了Linux实时操作系统框架Xenomai,包括实时操作系统的概念、Linux为何非实时、嵌入式实时Linux方案等。内容涵盖Xenomai内核构建、组件结构、源码介绍、实时性测试及接口应用。此外,深入探讨了双核基石IPipe、系统调用、时间子系统、任务管理、同步与互斥、内存管理、信号处理、实时IPC、POSIX IPC、实时驱动模型RTDM、Rtnet、用户态实时库libcobalt和实时性能优化等方面。适合对Linux实时系统感兴趣的读者学习研究。
  • 发表了文章 2024-05-15

    EtherCAT主站IgH解析(一)--主站初始化、状态机与EtherCAT报文

  • 发表了文章 2024-05-15

    【xenomai3内核解析】系列文章大纲

  • 发表了文章 2024-05-15

    ARM平台内存和cache对xenomai实时性的影响

  • 发表了文章 2024-05-15

    xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务

  • 发表了文章 2024-05-15

    RTnet – 灵活的硬实时网络框架

  • 发表了文章 2024-05-15

    xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互

  • 发表了文章 2024-05-15

    X86 linux异常处理与Ipipe接管中断/异常

  • 发表了文章 2024-05-15

    xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

  • 发表了文章 2024-05-15

    xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(二)--实时与非实时关联(bind流程)

  • 发表了文章 2024-05-15

    xenomai内核解析-xenomai实时线程创建流程

  • 发表了文章 2024-05-15

    xenomai内核解析--双核系统调用(一)

  • 发表了文章 2024-05-15

    xenomai内核解析--任务同步互斥机制(一)--优先级倒置

  • 发表了文章 2024-05-15

    为什么Linux不是实时操作系统

  • 发表了文章 2024-05-15

    虚拟化技术及实时虚拟化概述

  • 发表了文章 2024-05-15

    xenomai内核解析--实时内存管理--xnheap

  • 发表了文章 2024-05-15

    xenomai UDD介绍与UDD用户态驱动示例

  • 发表了文章 2024-05-15

    linux实时操作系统xenomai x86平台基准测试(benchmark)

  • 发表了文章 2024-05-15

    关于xenomai3 RTnet的一点记录

  • 发表了文章 2024-05-15

    xenomai内核解析--双核系统调用(三)--如何为xenomai添加一个系统调用

  • 发表了文章 2024-05-15

    不同RTOS中POSIX接口的实现差异

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息