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! |
- Re: [rtl] I am confused with moving the PCI driver into r... liujunxiang
- Re: [rtl] I am confused with moving the PCI driver i... Der Herr Hofrat