文章

CANopen software stack在Linux下的安装快速入门

此快速入门目的是为让用户能快速了解CANopen software stack 在Linux操作系统下的安装流程。esd官方安装流程,请阅读CANopen Linux软件包中相应的README文件。

一、安装前请确保用户已经正确安装了esd NTCAN软件库

  1. 如果用户主机系统中有CAN-PCIe/402系列板卡的,请参考CAN-PCIe/402系列板卡Linux驱动软件安装快速入门来安装板卡驱动以及esd NTCAN软件库。
  2. 或者如果用户主机系统中未有安装esd CAN界面卡的,请参考Virtual CAN Driver简介来安装虚拟CAN设备驱动以及esd NTCAN软件库。

二、解压缩软件包

  1. 此入门手册使用的是64位软件包。驱动包解压缩在登陆用户的HOME目录中,用户可以根据自己的需求解压缩到其他目录中。
  2. 拷贝psys, libcalcan, CANopen软件包到HOME目录。
  3. 解压软件包到HOME目录。
cd ~
tar -xv -f psys_linux_2.1.8.tgz
tar -xv -f libcalcan-linux-x86_64-2.6.9.tgz
tar -xv -f CANopen-linux-x86_64-3.2.1.tgz

三、安装psys_linux_2.1.8驱动

sudo apt-get install dkms
sudo -s
cd ~/psys_linux_2.1.8
dkms add ./src
dkms build esd-psysdrv-linux/0.6.9,"0.6.9"可以在./src/dkms.conf中查到。
dkms install esd-psysdrv-linux/0.6.9"

四、安装libpsys.so.2.1.8

install -v -g root -o root -m u=rwx,g=rx,o=rx ~/psys_linux_2.1.8/lib64/libpsys.so.2.1.8 /usr/local/lib
cd /usr/local/lib/
ldconfig -v -n /usr/local/lib
ln -sfv libpsys.so.2 libpsys.so

五、安装psys头文件psys.h和psyslinux.h

install -v -g root -o root -m u=rw,g=r,o=r ~/psys_linux_2.1.8/include/* /usr/local/include

六、安装esd-psysdrv.rules文件

install -v -g root -o root -m u=rw,g=rw,o=r ~/psys_linux_2.1.8/esd-psysdrv.rules /etc/udev/rules.d

七、安装CANCAL头文件can.h

install -v -g root -o root -m u=rw,g=r,o=r ~/libcalcan-linux-x86_64-2.6.9/include/* /usr/local/include

八、安装CANCAL库文件libcalcan.so.2.6.9

install -v -g root -o root -m u=rwx,g=rx,o=rx ~/libcalcan-linux-x86_64-2.6.9/lib64/* /usr/local/lib
cd /usr/local/lib/
ldconfig -v -n /usr/local/lib/
ln -sfv libcalcan.so.2 libcalcan.so

九、安装CANopen软件栈

~/CANopen-linux-x86_64-3.2.1/install

十、将库文件libpsys.so,libcalcan.so,libCANopenManager.so和libCANopenSlave.so载入系统

  1. 查看/etc/ld.so.conf文件,是否存在一行内容为/usr/local/lib的条目cat /etc/ld.so.conf | grep /usr/local/lib。如果存在,请跳过以下第二步。
  2. echo /usr/local/lib >> /etc/ld.so.conf
  3. ldconfig

十一、编译并执行CANopen slave example code

  1. cd ~/CANopen-linux-x86_64-3.2.1/example/slave
  2. make,slavetest执行文件会被生成在当前目录内。
  3. ldd slavetest,检查slavetest执行所需要的lib文件是否都已经载入系统。
  4. ./slavetest 1 0 500,where 1 means NodeNo, 0 means NetNo, 500 means Baudrate 500kbps.

十二、编译并执行CANopen manager example code

  1. cd ~/CANopen-linux-x86_64-3.2.1/example/manager
  2. make,comanager执行文件会被生成在当前目录内。
  3. ldd comanager,检查comanager执行所需要的lib文件是否都已经载入系统。
  4. ./comanager config.xml