首页 > 解决方案 > RTAI:编写数据结构的模块内核

问题描述

我正在尝试使用 rtai 编写一个内核模块,该模块允许我编写数据结构。数据结构包含在 .h 文件中,并包含有关任务的信息,例如

文件.h

struct control{
 int priorirty;
 unsigned long name_task, name_container;
 int wcet;
 }

我以这种方式构造了表格

  static void info_task(long int i)

   {

  int priority, wcet;

  unsigned long name_task, name_container;
  struct control *data;
  data=rtai_kamalloc(INFO_ID, sizeof(strcut control));
  if(data){
          data->priority=priorirty;
          data->wcet=wcet;
          data->name_task=name_task;
          data->name_container=name_container;
   }
   else{
       rt_printk("DATA NOT FOUND \n");
   }
   rt_task_wait_period();
   }

  int init module(void){
 RTIME tick_period;
 rt_set_periodic_mode();
 printk("INIT MODULE \n");
 data=rtai_kamalloc(INFO_ID,sizeof(struct control));
 rt_task_init(&information_Task,info_task,1,STACK_SIZE,TASK_PRIORITY,1,0);
 tick_peirod= start_rt_timer(nano2count(TICK_PERIOD));
 rt_make_periodic(&informatio_Task, rt_get_time() + tick_period, tick_period);
 return 0;
}
 void cleanup_module(void){
 stop_rt_timer();
 rtai_kfre(INFO_ID);
 rt_task_delete(&information_Task);
}

我遇到的问题是,这样我只初始化了数据结构的值,如何传递与几个任务相关的值并确保这些被另一个正确编写的内核模块读取?

标签: rtai

解决方案


推荐阅读