首页 > 系统相关 >嵌入式系统Linux实时化(四)Xenomai应用开发测试

嵌入式系统Linux实时化(四)Xenomai应用开发测试

时间:2025-01-12 11:28:37浏览次数:3  
标签:rt RT task int 嵌入式 TASK heap Linux Xenomai

1、Xenomai 原生API

  • 任务管理

Xenomai 本身提供的一系列多任务调度机制,主要有以下一些函数:

int rt_task_create (RT_TASK task, const char name, int stksize, int prio, intmode) ; 任务的创建;

int rt_task_start(RT_TASK task, void(entry)(void cookie), void cookie) ;  开始任务调度;

int rt_task_suspend (RT_TASK *task);              挂起任务;

int rt_task_delete (RT_TASK *task) ;                删除任务;

int rt_task_set_periodic (RT_TASK *task, RTIME idate, RTIME period) ;设置任务运行周期;

int rt_task_wait_period (unsigned long *overruns_r) ;挂起任务到下个周期再运行;

int rt_task_set_priority (RT_TASK *task, int prio);设置任务优先级;

  • 内存堆服务

int rt_heap_create (RT_HEAP heap, const char name, size_t heapsize, int mode) 创建一个内存堆空间或一个共享内存片段;

int rt_heap_delete (RT_HEAP *heap)  删除一个内存堆空间或一个共享内存片段;

int rt_heap_bind(RT_HEAP heap, const char name, RTIME timeout)  绑定共享内存空间;

int rt_heap_unbind (RT_HEAP *heap)  接触共享内存空间的绑定;

  • 信息管道服务

int rt_pipe_create (RT_PIPE pipe, const char name, int minor, size_t poolsize) 创建通讯管道;

int rt_pipe_delete (RT_PIPE *pipe)  删除通讯管道;

ssize_t rt_pipe_receive  (RT_PIPE  pipe,  RT_PIPE_MSG *msgp,  RTIME  timeout) 从管道接受一

标签:rt,RT,task,int,嵌入式,TASK,heap,Linux,Xenomai
From: https://blog.csdn.net/Tony_Shen/article/details/145090643

相关文章

  • 【Linux网络】Linux网络丢包场景,精准 “捕捉” 丢包踪迹
    在Linux网络的复杂脉络中,数据丢包就像隐匿的幽灵,悄无声息地破坏着网络的顺畅运行。你是否曾困惑,为何关键数据在传输途中突然消失,而排查起来却如同大海捞针?别担心,今天我们将深入Linux网络丢包场景,掌握精准“捕捉”丢包踪迹的秘诀,让这些隐匿的问题无所遁形。一、Linux网络丢......
  • 上位机操作篇---Linux常用命令
    第二章Linux常用命令(简介)常用命令及其简介第二章Linux常用命令(简介)@[TOC](常用命令及其简介)前言第一部分:基础命令一、pwd二、ls或者ls[选项][目录名]三、cd四、clear或者crtl+l第二部分:文件操作一、touch二、mkdir三、cp四、mv五、rm第三部分:文本操作一、......
  • Linux 进程入门:带你走进操作系统的核心地带(2)
     ......
  • Linux权限
    目录一.Linux权限的概念二.Linux权限管理1.文件访问者的分类2.文件类型和访问权限1.文件类型2.基本权限3.文件权限的表示方法1.字符表示法2.八进制表示法4.文件权限的相关访问方法1.chmod2.chown3.chgrp4.粘滞位三.权限总结一.Linux权限的概念Linux下有两种......
  • 嵌入式系统里面malloc函数底层原理
       谈到高性能编程,我们绕不过一个问题高效内存分配,通常我们会使用malloc和free函数来申请和释放内存。   那么我们习以为常的malloc和free函数,真的能满足高性能编程的要求吗?   带着这个问题我们来深入理解malloc和free函数实现原理。1.ptmalloc工作原理  ......
  • 嵌入式单片机内存泄漏处理与实现
    1.前言    最近部门不同产品接连出现内存泄漏导致的网上问题,具体表现为单板在现网运行数月以后,因为内存耗尽而导致单板复位现象。    一方面,内存泄漏问题属于低级错误,此类问题遗漏到现网,影响很坏;另一方面,由于内存泄漏问题很可能导致单板运行固定时间以后就复......
  • Linux开发工具--vim编辑器-gcc/g++编译器-gdb调试器
    目录1.vim编辑器 1.1.vim的基本概念1.2vim的基本操作1.3vim三个模式的命令集 插入模式命令模式 末行模式2.gcc/g++编译器2.1gcc如何完成重点概念——函数库 2.2gcc选项3.gdb调试器 3.1.开始使用 1.vim编辑器 1.1.vim的基本概念vim可以帮我们文......
  • 《痞子衡嵌入式半月刊》 第 116 期
    痞子衡嵌入式半月刊:第116期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。本期刊是开源项目(GitHub:JayHeng/pzh-mcu-bi-weekly),欢迎提交issue,投稿或推荐你知道的嵌入式那些事儿。上期回顾:《痞子衡嵌入式半月......
  • Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
    引言在嵌入式Linux开发中,网络加载内核、设备树和根文件系统是一种常见的方法。这种方法通常用于开发和调试阶段,允许开发者快速更新和测试内核及文件系统。本文将详细介绍如何在Ubuntu20.04上搭建环境,以支持嵌入式Linux的网络加载。前提条件Ubuntu20.04系统。已安装的TFTP服......
  • Linux双系统安装保姆级教程---step1 准备工作
    安装系统对于很多初学者来说很困难,往往会出现很多错误,接下来我将带领大家一起完成Linux双系统的安装。♣首先我们需要准备一台装有Win10或Win11系统的电脑(我使用的是Win10)♣除此之外我们还需要准备一个8GB以上的U盘。这里一定要将U盘的内容进行备份,因为在接下来的过程中会抹......