笔记:移植xenomai到nuc972(2)

14 篇文章 0 订阅
2 篇文章 0 订阅

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

第一个问题是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秒时代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值