文章
CANopen software stack在Linux下的安装快速入门
此快速入门目的是为让用户能快速了解CANopen software stack 在Linux操作系统下的安装流程。esd官方安装流程,请阅读CANopen Linux软件包中相应的README文件。
一、安装前请确保用户已经正确安装了esd NTCAN软件库
- 如果用户主机系统中有CAN-PCIe/402系列板卡的,请参考CAN-PCIe/402系列板卡Linux驱动软件安装快速入门来安装板卡驱动以及esd NTCAN软件库。
- 或者如果用户主机系统中未有安装esd CAN界面卡的,请参考Virtual CAN Driver简介来安装虚拟CAN设备驱动以及esd NTCAN软件库。
二、解压缩软件包
- 此入门手册使用的是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
三、安装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载入系统
- 查看/etc/ld.so.conf文件,是否存在一行内容为/usr/local/lib的条目
cat /etc/ld.so.conf | grep /usr/local/lib。如果存在,请跳过以下第二步。 echo /usr/local/lib >> /etc/ld.so.confldconfig
十一、编译并执行CANopen slave example code
cd ~/CANopen-linux-x86_64-3.2.1/example/slavemake,slavetest执行文件会被生成在当前目录内。ldd slavetest,检查slavetest执行所需要的lib文件是否都已经载入系统。./slavetest 1 0 500,where 1 means NodeNo, 0 means NetNo, 500 means Baudrate 500kbps.
十二、编译并执行CANopen manager example code
cd ~/CANopen-linux-x86_64-3.2.1/example/managermake,comanager执行文件会被生成在当前目录内。ldd comanager,检查comanager执行所需要的lib文件是否都已经载入系统。./comanager config.xml