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

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

【1】安装前请确保用户已经正确安装了esd NTCAN软件库

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

【2】解压缩软件包

  1. 此入门手册使用的是64位软件包。驱动包解压缩在登陆用户的HOME目录中,用户可以根据自己的需求解压缩到其他目录中。
  2. 拷贝psys, libcalcan, CANopen软件包到HOME目录。
  3. 解压软件包到HOME目录。
  4. 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

【3】安装psys_linux_2.1.8驱动

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

【4】安装libpsys.so.2.1.8

  1. 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
  2. cd /usr/local/lib/
  3. ldconfig -v -n /usr/local/lib
  4. ln -sfv libpsys.so.2 libpsys.so

【5】安装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

【6】安装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

【7】安装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

【8】安装CANCAL库文件libcalcan.so.2.6.9

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

【9】安装CANopen软件栈

~/CANopen-linux-x86_64-3.2.1/install

【10】将库文件libpsys.so,libcalcan.so,libCANopenManager.so和libCANopenSlave.so载入系统

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

【11】编译并执行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.

【12】编译并执行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