CANopen software stack在Linux下的安装快速入门
此快速入门目的是为让用户能快速了解CANopen software stack 在Linux操作系统下的安装流程。esd官方安装流程,请阅读CANopen Linux软件包中相应的README文件。
【1】安装前请确保用户已经正确安装了esd NTCAN软件库
- 如果用户主机系统中有CAN-PCIe/402系列板卡的,请参考CAN-PCIe/402系列板卡Linux驱动软件安装快速入门来安装板卡驱动以及esd NTCAN软件库。
- 或者如果用户主机系统中未有安装esd CAN界面卡的,请参考Virtual CAN Driver简介来安装虚拟CAN设备驱动以及esd NTCAN软件库。
【2】解压缩软件包
- 此入门手册使用的是64位软件包。驱动包解压缩在登陆用户的HOME目录中,用户可以根据自己的需求解压缩到其他目录中。
- 拷贝psys, libcalcan, CANopen软件包到HOME目录。
- 解压软件包到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
【3】安装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"
【4】安装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
【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
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
【9】安装CANopen软件栈
~/CANopen-linux-x86_64-3.2.1/install
【10】将库文件libpsys.so,libcalcan.so,libCANopenManager.so和libCANopenSlave.so载入系统
- 查看/etc/ld.so.conf文件,是否存在一行内容为/usr/local/lib的条目。如果存在,请跳过以下第二步。
echo /usr/local/lib >> /etc/ld.so.conf
ldconfig
cat /etc/ld.so.conf | grep /usr/local/lib
【11】编译并执行CANopen slave example code
cd ~/CANopen-linux-x86_64-3.2.1/example/slave
make
,slavetest执行文件会被生成在当前目录内。ldd slavetest
,检查slavetest执行所需要的lib文件是否都已经载入系统。./slavetest 1 0 500
,where 1 means NodeNo, 0 means NetNo, 500 means Baudrate 500kbps.
【12】编译并执行CANopen manager example code
cd ~/CANopen-linux-x86_64-3.2.1/example/manager
make
,comanager执行文件会被生成在当前目录内。ldd comanager
,检查comanager执行所需要的lib文件是否都已经载入系统。./comanager config.xml