当前位置: 首页 > news >正文

笔记:移植xenomai到nuc972(2)

接下来的测试,出现了两个问题

第一个问题是demo程序启动不了,这是上一篇文章忘记说的事,启动不了的原因是权限问题,提示需要root,

但我是用busybox搭的文件系统,直接就是root,不存在权限问题,所以问题出在应用上,经过一番调试后发现,问题出在xenomai的应用库上,具体位置在xenomai/kernel/cobalt/posix/process.c,


 

static int gid_arg = -1;修改成static int gid_arg=0;

这样就可以跳过权限的限制

第二个问题就是启动慢的问题,经过一番日志打印,追踪到是sys_mount加载过慢的问题,因为使用过几个实时系统都出现了同样问题,猜测是中断抢占了内核线程,导致读取yaffs文件的操作效率变低,

在内核源码的kernel/kthread.c里面找到了修改优先级的代码,然后把代码加在了init/main.c里面,

static int __ref kernel_init(void *unused)
{int ret;static const struct sched_param param = { .sched_priority = 0 };sched_setscheduler_nocheck(current, SCHED_FIFO, &param);kernel_init_freeable();sched_setscheduler_nocheck(current, SCHED_NORMAL, &param);

等加载完init函数再切换成普通优先级,这样系统启动速度又回来到了原来的2秒时代

http://www.lryc.cn/news/129168.html

相关文章:

  • 记忆正则表达式的基本元件
  • 低代码是什么?解决哪些问题?什么业务场景适合用低码开发?
  • SOA架构
  • “深入探索JVM内部机制:解密Java虚拟机“
  • PostgreSQL空值的判断
  • 使用phpunit进行单元测试
  • MongoDB 简介
  • [LitCTF 2023]Follow me and hack me
  • Java从入门到高级的全面指南
  • linux 命令- systemctl
  • 自动驾驶,一次道阻且长的远征|数据猿直播干货分享
  • 大数据培训前景怎么样?企业需求量大吗
  • redis — 基于Spring Boot实现redis延迟队列
  • 【日常积累】Linux之init系统学习
  • Python功能制作之3D方块
  • 【0基础入门Python笔记】二、python 之逻辑运算和制流程语句
  • python中的svm:介绍和基本使用方法
  • typedef
  • 校园跑腿市场行情分析
  • 微服务相关面试题
  • 前端-ES6
  • 169. 多数元素(摩尔投票法) 题解
  • python中的cnn:介绍和基本使用方法
  • Dockerfile概念、镜像原理、制作及案例讲解
  • 07-微信小程序-注册页面-模块化
  • 考研算法第46天: 字符串转换整数 【字符串,模拟】
  • Cesium for unity 1.5.0使用注意事项
  • 初阶C语言-结构体
  • Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示
  • java学习004