CANable USB转CAN适配器固件的安装(ubuntu20.04)

news2024/11/14 12:07:34

CANable USB转CAN适配器固件和驱动的安装(以candlelight和pcan为例)ubuntu20.04

candlelight

candlelight是什么

  • Candlelight是CANable设备的固件之一,用于将CANable设备转换为本机CAN设备,无需使用slcand。它允许CANable设备直接在Linux系统上以本机CAN设备的形式出现,并且与SocketCAN一起使用,无需额外的驱动程序或转换工具。

  • 这意味着你可以直接使用Linux上的标准CAN工具(如can-utils)和Wireshark等来与CAN总线进行交互。

  • 以下是Candlelight固件的主要特点和功能:

  1. 本机CAN设备支持:Candlelight固件使得CANable设备可以在Linux系统上直接以本机CAN设备的形式出现,而无需使用slcand来创建虚拟串口。

  2. 高性能:与使用串口线固件相比,使用Candlelight固件可以获得更高的性能,因为slcand被完全绕过。

  3. 与SocketCAN兼容:Candlelight固件与SocketCAN兼容,因此可以与Linux系统上的SocketCAN框架集成,并且可以使用所有标准的can-utils命令行工具进行通信和分析。

  4. Wireshark集成:由于Candlelight固件与SocketCAN兼容,因此你可以使用Wireshark等网络分析工具直接捕获和分析CAN总线上的数据流。

  5. 不支持FD帧:目前,CANable 2.0的Candlelight固件不支持FD(Flexible Data-Rate)帧,这意味着它只能处理标准的CAN帧,无法处理高速数据传输的FD帧。

固件安装与更新

  • 用镊子短接boot引脚,上点后进入bootloader
使用网页应用程序更新candlelight
  • 以访问CANable更新程序站点,通过简单的步骤来更新CANable设备。网页应用程序提供了一个易于使用的界面,指导用户完成更新过程。

  • 地址:https://canable.io/updater/canable1.html

在这里插入图片描述

  1. 准备CANable设备

    • 首先,将CANable设备上的"Boot"跳线移动到引导位置,或者在CANable Pro上按住"Boot"按钮,然后将设备插入计算机。
  2. 选择并更新固件

    • 接下来,用户需要在网页中选择要刷新的固件版本,并点击下方的"Connect and Update"按钮。

    在这里插入图片描述

    • 这将触发与CANable设备的连接,并开始更新固件。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 固件安装更新完成,取下镊子,不再短接boot0,重新插拔设备,打开终端键入ifconfig -a,识别到can0,则固件安装成功。

    在这里插入图片描述

使用linux下的dfu-util安装更新固件candlelight

在Linux系统下更新和安装固件可以通过以下步骤完成:

1. 安装dfu-util
sudo apt-get update
sudo apt-get install dfu-util
2.安装gcc-arm-none-eabi和CMake
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi cmake
3.获取用于烧录的二进制镜像文件
  • 解压candlelight源码文件
tar xvf candleLight_fw.tar.bz2
  • 进入candleLight_fw目录
cd candleLight_fw
  • 创建bulid目录并进入(如果本来就有build要先删除)
mkdir build
cd build
  • 使用 CMake 生成 Makefile,指定交叉编译的工具链文件
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/gcc-arm-none-eabi-8-2019-q3-update.cmake
  • 编译
make
  • 编译完之后,可看到镜像candleLight_fw\build\candleLight_fw.bin

在这里插入图片描述

在这里插入图片描述

4. 刷新设备固件

一旦dfu-util安装完成,你可以使用以下命令来刷新CANable设备的固件:

sudo dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D candleLight_fw.bin

这个命令会将指定的固件文件(candleLight_fw.bin)传输到设备的固件存储位置,并刷新设备的固件。

在这里插入图片描述

5. 完成更新

刷新固件后,确保将CANable设备上的"启动"跳线移回到原始位置,并重新插入或拔出设备。这样你就成功地更新了设备的固件。

在这里插入图片描述

  • 固件安装更新完成,取下镊子,不再短接boot0,重新插拔设备,打开终端键入ifconfig -a,识别到can0,则固件安装成功。

在这里插入图片描述

pcan

pcan是什么

PCAN 是 PEAK-System Technik GmbH(PEAK 系统技术有限公司)开发的一系列产品的名称,专门用于控制器局域网络(Controller Area Network,简称 CAN)的应用。CAN 是一种串行通信协议,最初设计用于车辆中的实时控制系统,但现在已被广泛用于工业控制、自动化、航空航天等领域。

PCAN 产品系列包括各种硬件和软件工具,用于支持 CAN 总线的开发和应用。其中一些产品和工具包括:

  1. PCAN 接口卡:这些是用于连接计算机和 CAN 总线的硬件接口,可通过 USB、PCI、PCI Express 或 PC/104 接口连接到计算机,使计算机能够与 CAN 总线通信。

  2. PCAN 分析器:用于分析 CAN 总线通信的硬件和软件工具,可以捕获和解码 CAN 总线上的消息,帮助诊断和调试 CAN 总线网络。

  3. PCAN 开发工具包(SDK):用于开发 CAN 总线应用程序的软件开发工具包,提供了一系列 API 和示例代码,帮助开发者在各种操作系统(如 Windows、Linux)上编写自己的 CAN 应用程序。

  4. PCAN 总线分析软件:用于监视、记录和分析 CAN 总线通信的软件工具,提供实时图形显示和日志记录功能,帮助用户分析 CAN 总线上的数据流。

总的来说,PCAN 是一个成熟的产品系列,提供了丰富的硬件和软件工具,用于支持 CAN 总线的开发、调试和应用。这些工具被广泛应用于汽车行业、工业控制、航空航天等领域,为 CAN 总线应用提供了强大的支持和解决方案。

固件安装与更新

  • 以访问CANable更新程序站点,通过简单的步骤来更新CANable设备。网页应用程序提供了一个易于使用的界面,指导用户完成更新过程。

  • 地址:https://canable.io/updater/canable1.html

在这里插入图片描述

  1. 准备CANable设备

    • 首先,将CANable设备上的"Boot"跳线移动到引导位置,或者在CANable Pro上按住"Boot"按钮,然后将设备插入计算机。
  2. 选择并更新固件

    • 接下来,用户需要在网页中选择要刷新的固件版本,并点击下方的"Connect and Update"按钮。

    在这里插入图片描述

    • 这将触发与CANable设备的连接,并开始更新固件。

    在这里插入图片描述

    在这里插入图片描述

    • 固件安装更新完成,取下镊子,不再短接boot0,重新插拔设备,打开终端(驱动安装完成后)键入pcaninfo识别到设备,则固件安装成功。

    在这里插入图片描述

使用linux下的dfu-util安装更新固件pcan

在Linux系统下更新和安装固件可以通过以下步骤完成:

1. 安装dfu-util
sudo apt-get update
sudo apt-get install dfu-util
2.安装gcc-arm-none-eabi和CMake
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi cmake
3.获取用于烧录的二进制镜像文件
  • 解压pcan源码文件
tar xvf pcan_cantact.tar.bz2
  • 进入pcan_cantact目录
cd pcan/pcan_cantact/build-canable
  • 编译
make
  • 编译完得到:pcan_cantact/build-canable/pcan_canable_hw.bin pcan_canable_hw.hex
4. 刷新设备固件

一旦dfu-util安装完成,你可以使用以下命令来刷新CANable设备的固件:

sudo dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D pcan_canable_hw.bin

这个命令会将指定的固件文件(pcan_canable_hw.bin )传输到设备的固件存储位置,并刷新设备的固件。

在这里插入图片描述

5. 完成更新
  • 刷新固件后,确保将CANable设备上的"启动"跳线移回到原始位置,并重新插入或拔出设备。这样你就成功地更新了设备的固件。

在这里插入图片描述

  • 固件安装更新完成,取下镊子,不再短接boot0,重新插拔设备,打开终端(驱动安装完成后)键入pcaninfo识别到设备,则固件安装成功。

在这里插入图片描述

驱动安装

  • 解压pcan驱动源码包
tar xvf peak-linux-driver-8.15.2.tar.gz
  • 进入peak-linux-driver-8.15.2目录
cd peak-linux-driver-8.15.2/
  • 清理之前的构建结果
make clean
  • 编译
make
  • 安装编译后的软件
sudo make install 
问题解决
  • 执行完上述步骤后,终端键入pcaninfo,出现如下错误

在这里插入图片描述

  • 即使驱动程序已经安装到系统中,但如果它没有正确加载到内核中,系统也无法识别它。
  • 在终端键入以下指令,手动加载模块,或者手动加载pcan.ko文件(执行 sudo insmod pcan.ko 命令以加载 pcan.ko 文件到内核中。)
sudo modprobe pcan
  • 之后在终端键入以下指令,确认PCAN相关的模块是否已经加载
lsmod | grep pcan

在这里插入图片描述

  • 之后键入pcaninfo,检查系统中是否存在 PCAN 驱动,并显示有关 PCAN 驱动版本、PCAN-Basic 版本以及已连接 PCAN 设备的信息。正常输出如下

在这里插入图片描述

pcaniew的安装

  • 下载软件源列表
wget -q http://www.peak-system.com/debian/dists/`lsb_release -cs`/peak-system.list -O- | sudo tee /etc/apt/sources.list.d/peak-system.list
  • 下载软件源公钥
wget -q http://www.peak-system.com/debian/dists/wheezy/peak-system.list -O- | sudo tee /etc/apt/sources.list.d/peak-system.list
  • 添加软件源公钥
wget -q http://www.peak-system.com/debian/peak-system-public-key.asc -O- | sudo apt-key add -
  • 更新软件包列表
sudo apt-get update
  • 安装pcanview-ncurses 应用程序
sudo apt-get install pcanview-ncurses
  • 查看是否安装成功
ls /usr/bin/pcanview
  • 运行
pcanview

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot宠物领养管理系统计算机毕业设计源码46534

摘 要 网络发布信息有其突出的优点,即信息量大,资源丰富,更新速度快等,很符合人们希望以捷、便利的方式获得最多最有效信息的要求。本系统就是一个网上宠物领用的系统,为宠物爱好者提供一个信息发布的平台&#xff0c…

使用C#快速搭建一个在windows运行的exe应用

文章目录 一、前言1.1 编写语言需要工具1.2 选择自己需要的组件进行安装 二、新建项目1.1 新建一个 .NET4.x 的项目1.2 添加一个小案例1.3 对界面进行美化1.3.1、配置Form属性1.3.2、配置Button按钮 1.4 查看组将的相关代码 三、后记 一、前言 这是一个比较旧的内容&#xff0…

Linux下生成包含bash命令的文件名的文件

关于如何绕过Linux限制的其他方式请查看: https://book.hacktricks.xyz/linux-hardening/bypass-bash-restrictions 我只是为了生成/创建包含bash命令的文件名而不是详细介绍Linux系统的文件命名规范,所以只需要考虑Linux系统文件命名的部分要求&#xf…

上海媒体宣传:上海展览展会媒体邀约宣传怎么做?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 作为首屈一指的城市,上海成为国内国际活动会议的首选地,而且每年官方举办的活动会议也是多不胜数,在上海举办活动,不仅可以提高品牌的知名…

RAG 进阶 LlamaIndex多文档

前言 我们一起来学习LlamaIndex功能更完善的多文档RAG,大家可以参照官方文档来对比学习。 Advanced RAG - LlamaIndex Multi-Doc Agent 单个文档RAG Agent流程 我们结合上图来理解一下文档的处理流程。Document就是文档,它会被解析成多个数据节点(Node),类似RAG …

在矩池云使用GLM-4的详细指南(无感连GitHubHuggingFace)

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本,在多项测试中表现出超越已有同等规模开源模型的性能,它能兼顾多轮对话、网页浏览、代码执行、多语言、长文本推理等多种功能,性能更加强大。其多模态语言模型GLM-4V-9B在…

字符串介绍

String package com.ithema; import java.util.Random; public class StringDemo01 {public static void main(String[] args) {//1.使用直接赋值的方式获取一个字符串对象String s1"abc";System.out.println(s1);//2.使用new的方式来获取一个字符串对象//空参构造:可…

178.二叉树:最大二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

Spring AI 大模型返回内容格式化源码分析及简单使用

为什么需要格式化输出 对于依赖可靠解析输出值的下游应用程序来说,生成结构化输出是LLMs非常重要的能力。开发人员希望快速将 AI 模型的结果转换为数据类型,例如 JSON、XML 或 Java 类,这些数据类型可以传递给其他应用程序函数和方法。 特别…

【数据分享】中国价格统计年鉴(2013-2022)

大家好!今天我要向大家介绍一份重要的中国价格统计数据资源——《中国价格统计年鉴》。这份年鉴涵盖了从2013年到2022年中国价格统计全面数据,并提供限时免费下载。(无需分享朋友圈即可获取) 数据介绍 在过去的十年里&#xff0…

解决While loop问题 - Python

当我们在使用 while 循环时,需要确保循环的终止条件最终会被满足,否则循环将会无限执行下去。通常情况下,我们可以在循环内部修改循环控制变量,使得终止条件得以满足。 1、问题背景 一位开发者在使用 Python 开发一个基于文本的游…

NI USB-6009 DAQ采集卡拆解

所需设备: 1、NI USB-6009采集卡; 2、逻辑分析仪; NI USB-6009采集卡全貌: 性能参数: 内部照片: ADC芯片指标: 接线图: 差分模式采样: 采集过程中的SPI总线数据监控&a…

Laravel 6 - 第十九章 模型文件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

不谈AI能替代什么,就聊能帮我们干活的AI客服机器人!

最近在直播群里有老板在找客服外包,因为客服压力大,接不过来了,想找找外包支援一下。据了解电商客服除了压力大,还会遇到过量的重复劳动,比如我们问一个产品,同一天可能就有几百上千客户问同样的问题&#…

如何把视频的声音转换成音频?干货分享

在数字时代,我们常常需要处理视频文件,而有时候我们只对视频中的音频部分感兴趣。无论是提取影片中的音乐、制作声音效果,还是其他音频处理需求,将视频的声音转换成音频是一个常见而有用的技能。如何把视频的声音转换成音频&#…

css实现优惠券样式

实现优惠券效果: 实现思路: 需要三个盒子元素,使用 css 剪裁,利用 ellipse 属性,将两个盒子分别裁剪成两个半圆,位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式,圆角…

Tailwind CSS 实战指南:快速构建响应式网页设计

title: Tailwind CSS 实战指南:快速构建响应式网页设计 date: 2024/6/12 updated: 2024/6/12 author: cmdragon excerpt: 这篇文章介绍了Tailwind CSS框架的特点与优势,包括其作为实用性的CSS框架如何通过预设的样式类实现快速布局和设计,…

jeecgboot右上角用户重置密码权限按钮配置不生效问题解决

选了菜单权限用户重置密码权限按钮还是不生效,使用这个缓存读取的是下述redis文件中,用户退出了账户,重新登陆也只会刷新token但是并不会刷新这这个配置,所以需要手动清除redis缓存。 这个问题我也是看了很久才发现,如…

新能源车用驱动器 电机电驱

硕博电子的电机电驱是以一体化动力总成为设计理念,整合电控、电机核心模块,推出的电机电控一体化动力总成。电机电控动力总成采用矢量控制算法和CAN总线通信技术,体积小、效率高、免维护、电磁兼容性强、方便调试,提高了系统的可靠…

【源码】16国语言交易所源码/币币交易+期权交易+秒合约交易+永续合约+交割合约+新币申购+投资理财/手机端uniapp纯源码+PC纯源码+后端PHP

测试环境:Linux系统CentOS7.6、宝塔面板、Nginx、PHP7.3、MySQL5.6,根目录public,伪静态laravel5,开启ssl证书 语言:16种,看图 这套带前端uniapp纯源码,手机端和pc端都有纯源码,后…