We need to do some serial communication with PCI Rs485 card under RTLinux.
Now I move the driver into the RT-kernel. But I am really confused with something.
I wish somebody can give me some explanation.
 
  1.The driver should be used under RTLinux, can I call some kernel funtions
like register_chrdev(),kmalloc, kfree, ect which are given by book
<<linux devices driver>>?  In my opinion, those functions belong to the linux kernel,
but not the RT-kernel, so I cannot. orelse, it is just a linux kernel module.
For example,  In rt_com,  I find it used rtl_request_irq.
In standard serial driver, it uses request_irq. so what is the difference
between the rtlinux module and the kernel module which written under
normal linux.
 
 2. In the other hand, I find that in the rt_com module, it calls linux kernel function
 like check_region request_region under rt-kernel module.
So what functions can be called under rt-kernel module?
 
 3. I think it will cannot guarantee the Hard real time performance if we call the normal
linux kernel functions since these function is running under linux kernel.
 
In fact they are almost same. They both run in the kernel space, both have init_module
and cleanup_module If they can call same functions, maybe to write the rtlinux program
is just to write the some kernle module?!
 
I think the only benifit is that you can call some RTlinux functions like rtl_**.
you can use rt_fifo,rt_schedule and other modules.
 
I am really confused with the RTKernel and normal linux kernel. any help will be appreciated!

Reply via email to