On 02/14/2014 10:32 PM, [email protected] wrote:
> I am rather new to Linux development, so please bear with me.
> 
> I have successfully taken Kernel 3.10.18 from Kernel.org, xenomai
> 2.6.3 (with associated ipipe patch from gna.org) and have built a
> kernel that I can run.  It tests very well on a 16550 serial port on
> an Advantech dual-core 1.8 GHz ATOM processor board, and has removed
> the latency I was experiencing with the standard ioterms serial port
> mechanism.
> 
> My next step lies in utilizing a CAN PC-104 board (Advantech PCM-3680
> is what I have now) to send and receive messages in close time with
> serial data received from a 16550A UART.
> 
> I've struggled a bit and cannot successfully get xeno_can_isa to load
> with what I think are the correct io and irq settings.  I think I
> need io address of 0xda0000 but am told this is "invalid for
> parameter 'io'".  The board's documentation uses the old x86
> segment:offset notation of 0xDA00:0000, which I think is 0xDA0000.

io should be 16 bits at most. You can probably find the address used
by the Advantech driver by finding out what address it passes to the
inb/outb services.

> 
> Advantech provides a kernel module that *does* work on this hardware,
> but I can see apparent latencies utilizing their driver.  If I
> understand the way their ioctl() handler is written, it allocates and
> frees kernel memory and calls the kernel scheduler while waiting for
> the I/O to complete, certain to create issues if I utilize that
> within a task I spin up with rt_task_start().

In order to make the driver deterministic, you would have to adapt it 
to the RTDM API, replace all linux services with their RTDM 
equivalents. See the documentation here:
http://www.xenomai.org/documentation/xenomai-2.6/html/api/group__driverapi.html

For dynamic alllocation for instance, you can use rtdm_malloc and 
rtdm_free described here: 
http://www.xenomai.org/documentation/xenomai-2.6/html/api/group__util.html

> 
> So, bottom line is I'm wondering if I should be able to get this
> Advantech PCM-3680 device to operate with this current version of
> xenomai's xeno_can_isa, OR should I consider choosing a different
> PC-104 (ISA) hardware that is known to work with the xenomai CAN
> driver?

I do not know much about CAN, but from the look of it, the can_isa 
module should support SJA1000 based boards, so the Advantech PCM-3680.

Another supported ISA driver is for the PEAK-Dongle.

> 
> Thoughts?  Suggestions?
> 
> Many thanks,
> 
> Wayne 

> PRIVACY NOTICE: The information contained in this e-mail,
> including any attachments, is confidential and intended only for the
> named recipient(s). Unauthorized use, disclosure, forwarding, or
> copying is strictly prohibited and may be unlawful. If you are not
> the intended recipient, please delete the e-mail and any attachments
> and notify us immediately by return e-mail.

Please note that by posting to a public mailing list, you implicitly agree
that anything you post is not confidential, is intended to more than the
recipients you named, and that it will be used, disclosed, forwarded and 
copied.

Regards.

-- 
                                                                Gilles.

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to