Can anyone please recommend PC/104 or PCI-104 boards that work with OCERA? I need a real time ROTS for a project and I really do not want to re-invent the wheel. I may want to make use of the CAN driver as well.
Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The PC-104 platform (which we used mostly) is Digital-Logic's
Microspace MSM586SEV PC-104 board. It has been our industrial
partner initial choice. It is not top performer in PC-104 category,
but has advantage of passive cooling and reasonable peripheral set.
It is based on AMD Elan SC520 (integrated and enhanced i486 clone).
Our choice for PC-104 CAN card is PCM3680 board.
But LinCAN is used with broad range of boards successfully.
To compile OCERA kernel, we used GCC-3.3.x. I have tested
GCC-3.4.x as well.
My actual targets are ARM's at this moment, where we use
kernel 2.6. I think, that for RT-application where 1msec
maximal response times are sufficient, combination of Linux-2.6
with fully preemptive patches could be considered as alternative
to RT-Linux. The sampling above 10kHz requires some other RT
extension (RT-Linux, Xenomai).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are not required any patches to run on AMD Elan SC520.
I can send my config file for this setup if you have interest.
But there is no magic to setup that by "make xconfig" command.
The ocera-1.0.0.tar.gz should work. But it is extremely outdated
by now. You can replace "components/comm/can/lincan" by content
of "lincan-0.3.3.tar.gz". You need to delete file
"components/comm/can/lincan/Makefile.rules" to enable compile
of LinCAN in the frame of whole OCERA project.
You can take actual OCERA 1.x sources from CVS, than you receive
up to date LinCAN and ORTE and little less outdated other stuff.
But all OCERA 1.x is based on 2.4.18 kernel and is very dated.
I cannot guide you through setup of it, there are other partners
who had responsibility to provide basic system integration
and help. Ask Pierre Morel (http://www.mnis.fr/) or
Ismael Ripoll (http://www.upv.es/). I cannot help you there.
Our university (http://www.upv.es/) has worked on communication
related code.
We keep our components (ORTE and LinCAN) up to date and usable.
So you should decide what response time constrains do you expect
as critical for your application and select from next options:
-If you are happy with max 100ms (average <<1ms), then
use recent 2.6.x kernels.
-If you need 1ms max, look at latest fully preemptible patches http://people.redhat.com/mingo/realtime-preempt/
and use it with latest 2.6.x kernel. It has significant
advantage, that you can program your RT application
as regular Linux user-space code. You can utilize mlock()
to exclude swapping delays.
-If you need to get under 100usec, you may consider RT-Linux
and try OCERA or take latest RT-Linux GPL. The most of
important OCERA hard RT features are integrated back
into RT-Linux GPL project.
All above listed setups are fully supported by LinCAN
and ORTE components. Take respective latest release source archive.
ORTE can be used even with RTAI RT-net kernel alternative.
As for kernel for ARM, you can use any 2.4.x or 2.6.x kernel running
on your board with LinCAN. There is required some small piece of code
for LinCAN to provide support for CAN controller mapping
on non ISA or PCI targets in the most cases.
If you need <1ms responses, give try of 2.6.x kernel
patched by fully preemptible patches.
If that is not enough try to contact VISUAL TOOLS S.A. .
They have OCERA code running on ARM.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can anyone please recommend PC/104 or PCI-104 boards that work with OCERA? I need a real time ROTS for a project and I really do not want to re-invent the wheel. I may want to make use of the CAN driver as well.
Thanks!
The PC-104 platform (which we used mostly) is Digital-Logic's
Microspace MSM586SEV PC-104 board. It has been our industrial
partner initial choice. It is not top performer in PC-104 category,
but has advantage of passive cooling and reasonable peripheral set.
It is based on AMD Elan SC520 (integrated and enhanced i486 clone).
Our choice for PC-104 CAN card is PCM3680 board.
But LinCAN is used with broad range of boards successfully.
To compile OCERA kernel, we used GCC-3.3.x. I have tested
GCC-3.4.x as well.
My actual targets are ARM's at this moment, where we use
kernel 2.6. I think, that for RT-application where 1msec
maximal response times are sufficient, combination of Linux-2.6
with fully preemptive patches could be considered as alternative
to RT-Linux. The sampling above 10kHz requires some other RT
extension (RT-Linux, Xenomai).
Forgive my possible ignorance on this topic, but is there a development kit posted somewhere that is already patched for the Digital-Logic's board?
Regards.
Also, one more. Do you have any recommendations for an ARM based system?
There are not required any patches to run on AMD Elan SC520.
I can send my config file for this setup if you have interest.
But there is no magic to setup that by "make xconfig" command.
The ocera-1.0.0.tar.gz should work. But it is extremely outdated
by now. You can replace "components/comm/can/lincan" by content
of "lincan-0.3.3.tar.gz". You need to delete file
"components/comm/can/lincan/Makefile.rules" to enable compile
of LinCAN in the frame of whole OCERA project.
You can take actual OCERA 1.x sources from CVS, than you receive
up to date LinCAN and ORTE and little less outdated other stuff.
But all OCERA 1.x is based on 2.4.18 kernel and is very dated.
I cannot guide you through setup of it, there are other partners
who had responsibility to provide basic system integration
and help. Ask Pierre Morel (http://www.mnis.fr/) or
Ismael Ripoll (http://www.upv.es/). I cannot help you there.
Our university (http://www.upv.es/) has worked on communication
related code.
We keep our components (ORTE and LinCAN) up to date and usable.
So you should decide what response time constrains do you expect
as critical for your application and select from next options:
-If you are happy with max 100ms (average <<1ms), then
use recent 2.6.x kernels.
-If you need 1ms max, look at latest fully preemptible patches
http://people.redhat.com/mingo/realtime-preempt/
and use it with latest 2.6.x kernel. It has significant
advantage, that you can program your RT application
as regular Linux user-space code. You can utilize mlock()
to exclude swapping delays.
-If you need to get under 100usec, you may consider RT-Linux
and try OCERA or take latest RT-Linux GPL. The most of
important OCERA hard RT features are integrated back
into RT-Linux GPL project.
All above listed setups are fully supported by LinCAN
and ORTE components. Take respective latest release source archive.
ORTE can be used even with RTAI RT-net kernel alternative.
As for kernel for ARM, you can use any 2.4.x or 2.6.x kernel running
on your board with LinCAN. There is required some small piece of code
for LinCAN to provide support for CAN controller mapping
on non ISA or PCI targets in the most cases.
If you need <1ms responses, give try of 2.6.x kernel
patched by fully preemptible patches.
If that is not enough try to contact VISUAL TOOLS S.A. .
They have OCERA code running on ARM.