doc/copcican_comedi_howto.txt
author fbeaulier
Mon, 29 Aug 2011 17:44:49 +0200
changeset 666 9febdd6fdc71
parent 630 96919642e99c
permissions -rw-r--r--
patch from Stefan Kratochwil <entwicklung@inovel.de> : canfestival-3-fm3_698.patch
Bug:
If an object dictionary entry was requested whose size exceeds
SDO_MAX_LENGTH_TRANSFERT, the memcpy() call at line 139 of objacces.c overwrites
the memory after *pDestData which causes stack corruption.
-> Bugfix:
The bug was corrected by size checking the requested data. An 'Out of
memory' error message will be generated if the requested data exceeds
SDO_MAX_LENGTH_TRANSFERT.

Additional changes:
Added dynamic buffer allocation for the SDO transfer. This feature can be used
if SDO_DYNAMIC_BUFFER_ALLOCATION is defined in config.h. The size of the
dynamically allocated buffer is controlled with
SDO_DYNAMIC_BUFFER_ALLOCATION_SIZE.
-> Note:
This change removes the detection of OD_LENGTH_DATA_INVALID errors!
HOW TO configure CanFestival for a CO-PCICAN card for COMEDI in the kernel (optionally with Xenomai):



pre-actions:
- install the CO-PCICAN card
- install and load COMEDI and the corresponding driver co_pcican.ko
  (COMEDI sources are expected in /usr/src/comedi)

- optionally: install the Xenomai package
  (Xenomai sources are expected in /usr/xenomai)



- unpack the package to your target (if not already done)

- perform package configuration:
  sh ./configure --can=copcican_comedi --timers=kernel --kerneldir='/lib/modules/$(shell uname -r)/build'

  optionally: use --timers=kernel_xeno for the realtime Xenomai timer functions

- patch the sed "s:-I:-I$(src)/:g" statement to
    's:-I../..:-I/canopeninstalldir:g' in drivers/unix/Makefile
    's:-I..:-I/canopeninstalldir:g'    in src/Makefile
  The original statement did not run on my computer !

- build the CanFestival Unix library:
  cd drivers/unix
  make

- build the CanFestival library:
  cd src
  make
  make install

- build the CO-PCICAN driver interface:
  cd drivers/can_copcican_comedi
  make
  make install

- build the example application (not for Xenomai):
  cd examples/test_copcican_comedi
  make
  make install

Run test_copcican_comedi with the insert.sh script to see it works...

For Xenomai please use the example /usr/src/scale-rt-canopendemo of the SCALE-RT distribution.



Copyright (C) 2010 Cosateq GmbH & Co.KG
              http://www.cosateq.com/
              http://www.scale-rt.com/