我正在尝试使用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);
}
我的问题是,以这种方式我仅初始化数据结构的值,如何传递与多个任务相关的值,并确保这些值被另一个正确编写的内核模块读取?