X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/ccfa700f38edb9878874b78eab35015e29e1d7a4..542ecdc96eda5b8ab56ad87bafbe612b4f5204f2:/lincan/README diff --git a/lincan/README b/lincan/README index 6192994..7245651 100644 --- a/lincan/README +++ b/lincan/README @@ -1,4 +1,4 @@ - Linux CAN Driver (LinCAN) version 0.2 snapshot + Linux CAN Driver (LinCAN) version 0.3 Pavel Pisa OCERA team member @@ -56,17 +56,28 @@ lincan-0.2-pre heavily rewritten infrastructure of the driver based lincan-0.2 version tested on many bords and 2.2, 2.4, 2.6 Linux (Mar 2004) and RT-Linux enabled 2.4 Linux kernel +lincan-0.2.8 possible SMP and HT deadlock fixed, driver can take +(Jul 2004) advantage of CMPXCHG instruction if present on CPU, + added support for CPC-PCI and PCAN-PCI cards, + messages timestamping implemented + partially implemented support for Bosch C_CAN module, + requires more work and real hardware + +lincan-0.3 Changed SJA1000 chip IRQ handling. Enhanced VME +(Nov 2004) and EMS CPC-PCI support and many other changes. + The actual version of driver have been latest tested it with - PC104 Advantech PCM3680 dual channel board on 2.4 RT-Linux enabled kernel - PiKRON ISA card on 2.4.and 2.6 Linux kernels - BfaD DIMM PC card on 2.4 RT-Linux enabled kernel - KVASER pcican-q on 2.6 Linux kernel - MICROSPACE msmcan on 2.4 Linux and RT-Linux enabled kernel - - virtual board tested on all systems as well -It takes more time to test it with more cards and polish -support for 2.2 and 2.6 kernels, but these should be mainly -cosmetic changes (I hope ;-), infrastructure and original -support for more than 17 boards with more variants is in. + - Unicontrols PCAN ("unican"),PCAN-PCI ("unican-pci"), VCAN ("unican-vme") + - EMS CPC-PCI cards ("ems_cpcpci") + - virtual board tested on all systems as wel +It takes more time to test driver with more cards. +Infrastructure and support for more than 20 boards with more +variants is prepared in the sources. SOURCES AND URLs @@ -75,7 +86,7 @@ SOURCES AND URLs The LinCAN driver component page at OCERA web site (not updated to the new version yet) - http://www.ocera.org/download/components/WP7/lincan-0.1.html + http://www.ocera.org/download/components/WP7/lincan-0.2.html List of related communication components @@ -91,42 +102,106 @@ Web access into CVS http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ocera/ocera/components/comm/can/lincan/ -Experimental directory at maintainer (Pavel Pisa's) pages +Experimental directory at maintainer's (Pavel Pisa's) pages http://cmp.felk.cvut.cz/~pisa/can/ http://cmp.felk.cvut.cz/~pisa/can/lincan-YYMMDD.tar.gz Please send comments, bug-fixes and enhancements directly to -me (Pavel Pisa ) or to OCERA discussion +Pavel Pisa or to OCERA discussion forum and lists +Driver documentation can be found at + + http://cmp.felk.cvut.cz/~pisa/can/doc/lincandoc-0.2.pdf + +The anouncements of new version are published at FreshMeat page + + http://freshmeat.net/projects/lincan/ -COMPILATION -=========== + +COMPILATION of LinCAN releases +============================== Just type 'make' at the command line and driver module should compile -without errors for current running kernel. +without errors for current running kernel. More information can be found in driver documentation at http://cmp.felk.cvut.cz/~pisa/can/ - http://cmp.felk.cvut.cz/~pisa/can/lincan-X.Y.pdf + http://cmp.felk.cvut.cz/~pisa/can/lincandoc-X.Y.pdf + +Some releases use experimental OMK make system, which requires +recent GNU make program version 3.81beta1 and above. +Makefiles can be switched to old ones by script + + sh ./switch-omk2std + make + +If you have problem to obtain recent GNU make program, + + http://paulandlesley.org/make/make-3.81beta1.tar.bz2 + +you can use our local copy + + http://cmp.felk.cvut.cz/~pisa/can/make-3.81beta1.tar.gz + + +COMPILATION from CVS sources without full OCERA tree +==================================================== + +--------------------------------------------------------------------------- +Obtaining CVS sources of the CAN components only +--------------------------------------------------------------------------- + cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ocera login + cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ocera co + ocera/components/comm/can + +--------------------------------------------------------------------------- +Commands to build OCERA CVS CAN components outside OCERA tree +--------------------------------------------------------------------------- + cd ocera/components/comm/can + ./switch2standalone + make + +The selection of required features and options can be specified before make +command invocation. Lines containing required changes to config.omk-default +file should be stored in config.omk file. The config.omk is not altered by +OMK system and options defined there override values defined in +config.omk-default file. GNU make program version 3.81beta1 or newer is +required by OMK make-system. If this is problem, LinCAN driver can be +compiled with use of old style Makefiles as well. + +--------------------------------------------------------------------------- +Old style Makefiles compilation of the LinCAN driver only +--------------------------------------------------------------------------- + cd ocera/components/comm/can/lincan + ./switch2std + make + INSTALLATION ============ -Type 'make install'. The driver should be copied into actual kernel version +Type 'make install' for standard make system compilation. +The driver should be copied into actual kernel version modules directory "/lib/modules/x.y.z/kernel/drivers/char". +OMK system requires manual copy of files from "_compiled" tree +to its final destinations. + LOADING ======= To load the driver type: # insmod can.o hw='your hardware' irq='irq number' io='io address' -Example: # insmod can.o hw=pip5 irq=4 io=0x8000 +Examples: # insmod can.o hw=pip5 irq=4 io=0x8000 + # insmod can.o hw=virtual io=0 The hw argument can be one of: -- pip5, for the pip5 computer by MPL -- pip6, for the pip6 computer by MPL +- pip5, for the PIP5 computer by MPL +- pip6, for the PIP6 computer by MPL +- pip7, for the PIP7 computer by MPL +- pip8, for the PIP8 computer by MPL - pccan-q, for the PCcan-Q ISA card by KVASER - pccan-f, for the PCcan-F ISA card by KVASER - pccan-s, for the PCcan-S ISA card by KVASER @@ -143,6 +218,12 @@ The hw argument can be one of: - bfadcan for sja1000 CAN embedded card made by BFAD GmbH - pikronisa for ISA memory mapped sja1000 CAN card made by PiKRON Ltd. - msmcan for MICROSPACE IO space indexed i82527 +- unican for Unicontrols PCAN card +- unican-pci for Unicontrols PCAN-PCI card +- unican-vme for Unicontrols VCAN card +- ems_cpcpci for EMS CPC-PCI card +- pcan_dongle for PEAK's printer port dongle addapter +- oscar for SJA1000 based card connected to ARM LH7A400 SoC - template, for yet unsupported hardware (you need to edit src/template.c) - virtual, CAN channel for testing of software and driver without CAN hardware @@ -157,6 +238,11 @@ options can be one of: - stdmask=, sets the standard mask of the device - extmask=, sets the extended mask of the device - mo15mask=, sets the mask for message object 15 (i82527 only) +- processlocal=, controls distribution of send messages to Rx FIFOs + 0, no local outgoing messages delivery to Rx FIFOs + 1, default off, but can be controlled by individual filter settings + 2, all FIFOs receive local messages There's still a lot of work to do, have a look at the TODO file for more information. +