[En-Nut-Discussion] CAN bus and Ethernut 2 and 3

José Vallet jose.vallet at hut.fi
Thu Jan 18 18:57:33 CET 2007


We might need CAN bus in one future design, and I am trying to figure 
out whether is supported or not. I should say here that I have no prior 
experience with CAN at all, so I would kindly appreciate some 
comments/guidance on this issue.

 From http://www.egnite.de/pipermail/en-nut-discussion/2004-May/002498.html
I can see that something has been discussed, and from the API 
documentation the following files related to CAN bus can be found.

arch/avr/dev/ih_canit.c	CAN serial transfer interrupt
arch/avr/dev/ih_ovrit.c	CAN overflow interrupt
arch/avr/dev/sja1000.c	Driver for SJA1000 CAN-Bus controller
dev/can_dev.c	Driver for CAN-Bus devices
include/cfg/m-can.h	MCAN Board Configuration
include/dev/atcan.h	Header for Atmel's internal Full CAN controller driver
include/dev/can_dev.h	Headers for can driver interface
include/dev/sja1000.h	Header for SJA1000 CAN-Bus controller driver

This makes me think that
1-There is an API for NutOS
2-There is a driver for the AVR and the SJA1000 controller.
2-There is NOT driver for the AT91R40008 and the SJA1000 controller.

Of course I might be totally wrong, Am I?
What is the situation with CAN and Ethernut?

If not supported by AT91R40008, I assume that the driver for SJA1000 
could be somehow ported from the AVR version. Any comments here? Would 
it be "hard"/"straightforward"?

What would be the best solution to add CAN to the Ethernuts? Is there 
any documentation available somewhere?

Any comments appreciated.


More information about the En-Nut-Discussion mailing list