树莓派(Raspberry Pi)已成为PC领域一款价格亲民但功能强大的工具。树莓派单板计算机易于嵌入、设置简单且非常灵活,广泛应用于各种系统中。
技术博客
安装指南|在树莓派PC上安装Linuxcan和Linux驱动程序
Kvaser Linux驱动程序和SDK开发包支持安装在树莓派操作系统上,让您的树莓派系统也能使用Kvaser硬件。安装过程与基于ARM的Linux PC类似,但存在一些关键差异。本文将介绍常规内核模块和动态内核模块(DKMS)的驱动安装方法。
第一步是准备树莓派操作系统。首先启用源码包,方法是取消sources列表中deb-src行的注释,并使用“sudo”命令确保以管理员权限运行,如下所示:
%sudo sed -i ‘s/^#deb-src/deb-src/’ /etc/apt/sources.list.d/raspi.list
接下来,安装构建工具和内核头文件,并确保安装的内核头文件为最新版本。
%sudo apt update
%sudo apt install build-essential raspberrypi-kernel-headers
如果您尚未下载Kvaser Linux驱动程序和SDK开发包,请在这里下载。在终端窗口中,您需要使用以下命令解压文件:
%tar -xzf linxuxcan_X_XX_XXX.tar.gz
tar程序用于提取压缩的tar文件。其中,“x”命令用于解压,“z”命令用于启用gzip压缩(因为该文件已被压缩,需要解压缩),“f”命令则告知tar程序下一个参数是归档文件名。X_XX_XXX是您所下载的驱动程序和SDK的版本号。
打开解压.tar.gz文件所在的目录,找到linuxcan文件夹。进入”linuxcan”目录后,运行:
%make
%sudo make install
默认情况下,PCIe和虚拟CAN驱动程序均未安装。这是因为您可能不希望在启动时加载这些驱动,特别是当您不打算使用它们时。这样可以减少设备启动时加载的组件。
如果您希望安装并加载虚拟CAN和PCIe驱动程序,则需要运行:
%sudo make load
如果您使用的是不支持PCIe的旧主板,则需要对“sudo”命令使用“-E”参数,以保留环境变量。如果由于您的主板没有PCIe导致安装出现问题,那么我们需要设置“KDIR”和“KV_NO_PCI”这两个环境变量。
$ sudo -E make install
使用动态内核模块支持(DKMS)
如果您希望使用动态内核模块支持(DKMS),从而避免在内核更新后重新安装驱动程序,可以参考以下步骤。
确保树莓派内核头文件更新到最新版本,然后安装DKMS。
%sudo sed -i ‘s/^#deb-src/deb-src/’ /etc/apt/sources.list.d/raspi.list
%sudo apt update
%sudo apt install build-essential raspberrypi-kernel-headers
%sudo apt install dkms
该命令将在您的系统上下载并安装DKMS软件包。安装完成后,运行以下命令安装兼容DKMS的驱动程序:
%make dkms
%sudo make dkms_install
总而言之,在树莓派上安装驱动程序与在其他Linux系统上安装并无太大差异,只是需要注意内核头文件是否正确。除了可以安装Linuxcan之外,您还可以在树莓派上使用SocketCAN。(注意:在PC上安装驱动程序将会禁用SocketCAN驱动程序,以避免冲突。在其他Linux PC上安装Linuxcan也是如此。)
它能为您带来什么帮助?
单板计算机在人工智能和嵌入式系统中日益普及。能够在这些系统上安装Kvaser驱动程序,为Kvaser产品应用于更多新兴、有趣的环境中开启了机遇。您也可以在基于ARM的Linux系统上安装Kvaser CanKing 7,构建属于您自己的单板CAN总线监控系统。您还可以通过加装HAT扩展板,为您的树莓派增加M.2接口功能,并使用Kvaser M.2 PCIe 4xCAN板卡来实现板载CAN功能。
