基于cy7c68013的逻辑分析仪nanoDLA全套软件linux下编译测试

0. 环境

- win10
- ubuntu22
- nanoDLA 

提前获取到源码:-> 浏览器打开 https://github.com/wuxx/nanoDLA -> Download as zip.

硬件就直接用taobao买到的,原理图是

1. win10出厂测试


1.1 安装pulseview


nanoDLA-master\software\pulseview-0.4.1-64bit-static-release-installer.exe

1.2 安装驱动


插入 nanoDLA -> 识别出未知设备 -> 
-> 打开 Zadig -> Options -> List All Devices -> 选择 nanoDLA对应的 Unknown Device -> 选择 WinUSB驱动 -> 点击 Install Driver 

1.3 手上测试

nanoDLA连接USB转TTL模块测试,注意软件默认的采样频率无法正确解析出9600的波特率,这里调大到250kHz. 

2. ubuntu22编译固件


2.1 解压源码

unzip nanoDLA-master.zip
cd nanoDLA-master

2.2 编译fxload

cd tools/fxload-2008_10_13
make clean
make

2.3 编译 fx2eeprom

cd tools/fx2eeprom
make

切换用户到root(dev/usb需要设置权限,我直接root了)

sudo -s

设置环境变量

export PATH=/home/xxjianvm/work/nanoDLA/nanoDLA-master/tools/fxload-2008_10_13:${PATH}

编译逻辑分析仪固件

cd ..
cd fx2eeprom

查看 nanoDLA对应的lsusb

# lsusb
Bus 002 Device 004: ID 1d50:608c OpenMoko, Inc. Fx2lafw


2.4 下载固件

修改 makefile

gedit MakeFile


VID = 04b4
PID = 8613

#VID = 0925
#PID = 3881

#sigrok-fx2-8ch
#VID = 1d50
#PID = 608c


修改为:

#VID = 04b4
#PID = 8613

#VID = 0925
#PID = 3881

#sigrok-fx2-8ch
VID = 1d50
PID = 608c


并把

cat ../../firmware/fx2lafw-sigrok-fx2-8ch-new.iic 


修改为:

cat ../../firmware/fx2lafw-sigrok-fx2-8ch-c0.iic 

下载:

$ make
$ make load && make write_fx2lafw

3. 测试


拔出设备再次接入电脑的usb。按照第一章节的win10进行测试。

4. 编译 fx2lafw(逻辑分析仪固件)


4.1 sdcc


浏览器打开 https://sourceforge.net/projects/sdcc/files/
下载得到 sdcc-3.9.0-amd64-unknown-linux2.5.tar.bz2
放到 ~/work/nanoDLA/sdcc-3.9.0-amd64-unknown-linux2.5.tar.bz2

解压

$ tar -jxvf sdcc-3.9.0-amd64-unknown-linux2.5.tar.bz2


设置环境变量

$ export PATH=/home/xxjianvm/work/nanoDLA/sdcc-3.9.0/bin:${PATH}

4.2 编译

$ sudo apt install autoconf
$ cd sigrok-firmware-fx2lafw-0.1.7
$ ./autogen.sh
$ ./configure
$ make

得到 hw/sigrok-fx2-8ch文件下的固件,详细路径是:

/home/xxjianvm/work/nanoDLA/sigrok-firmware-fx2lafw-0.1.7/hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw

4.3 下载测试

$ cd nanoDLA-master/tools/fx2eeprom


修改Makefile

../../firmware/fx2lafw-sigrok-fx2-8ch-c0.iic


替换为

/home/xxjianvm/work/nanoDLA/sigrok-firmware-fx2lafw-0.1.7/hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw


下载

$ export PATH=/home/xxjianvm/work/nanoDLA/nanoDLA-master/tools/fxload-2008_10_13:${PATH}
$ make load && make write_fx2lafw

顺利:

write on-chip, addr 0x0d03 len   17 (0x0011)
... WROTE: 3359 bytes, 41 segments, avg 81
reset CPU
Makefile:24: 002 005
cat /home/xxjianvm/work/nanoDLA/sigrok-firmware-fx2lafw-0.1.7/hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw | ./fx2eeprom w 0x1d50 0x608c 16 > write.bin
Written 16 bytes
root@vmxxjian:/home/xxjianvm/work/nanoDLA/nanoDLA-master/tools/fx2eeprom#

5. 编译 PulseView

5.1 libserialport

$ sudo apt-get install git-core gcc make autoconf automake libtool
$ git clone git://sigrok.org/libserialport
或者
$ git clone https://github.com/sigrokproject/libserialport
$ cd libserialport
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

5.2 libsigrok

$ sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \
  automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \
  libusb-1.0-0-dev libftdi1-dev libieee1284-3-dev libvisa-dev nettle-dev libavahi-client-dev \
  libhidapi-dev check doxygen python3-numpy python3-dev python-gi-dev python3-setuptools-git swig default-jdk
$ git clone git://sigrok.org/libsigrok        # https://github.com/sigrokproject/libsigrok

$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make -j4
$ sudo make install

5.3 libsigrokdecode

$ sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev
$ git clone git://sigrok.org/libsigrokdecode        # https://github.com/sigrokproject/libsigrokdecode
$ cd libsigrokdecode
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

5.4 sigrok-cli

$ sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev
$ git clone git://sigrok.org/sigrok-cli        # https://github.com/sigrokproject/sigrok-cli
$ cd sigrok-cli
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

5.5 pulseview

(4GB运存不够,需要开8GB运存,8GB也能跑满,用到一些swap区)

$ sudo apt-get install git-core g++ make cmake libtool pkg-config \
  libglib2.0-dev libboost-test-dev libboost-serialization-dev \
  libboost-filesystem-dev libboost-system-dev libqt5svg5-dev qtbase5-dev\
  qttools5-dev qttools5-dev-tools
$ cd ~/work/nanoDLA
$ git clone git://sigrok.org/pulseview
或者
$ git clone https://github.com/sigrokproject/pulseview
$ cd pulseview
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

5.6 运行测试

$ sudo -s
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ cd /home/xxjianvm/work/nanoDLA/pulseview/build
$ ./pulseview


问题:sr: fx2lafw: Unable to send start command: LIBUSB_ERROR_TIMEOUT.
解决办法:设置虚拟机的usb兼容性为 usb3.1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习烦人的基础知识(2)---Nvidia-smi功率低,util高---nvidia_smi参数详解

文章目录 问题现象解释解决方案 磨刀不误砍柴工--nvidia-smi参数解读 问题 如下图所示,GPU功率很低,Util占用率高。这个训练时不正常的! 现象解释 Pwr是指GPU运行时耗电情况,如图中GPU满载是300W,目前是86W与GPU2的…

【LeetCode:530. 二叉搜索树的最小绝对差 | 二叉搜索树】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Java--Spring项目生成雪花算法数字(Twitter SnowFlake)

文章目录 前言步骤查看结果 前言 分布式系统常需要全局唯一的数字作为id,且该id要求有序,twitter的SnowFlake解决了这种需求,生成了符合条件的这种数字,本文将提供一个接口获取雪花算法数字。以下为代码。 步骤 SnowFlakeUtils …

1Panel应用推荐:AList开源文件列表工具

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…

C++力扣题目700--二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 示例 1: 输入:root [4,2,7,1,3], val 2 输出:[2,1,…

131本!2023中科院分区晋升1区期刊名单出炉

2023年12月27日,中科院分区正式发布《2023年中国科学院文献情报中心期刊分区表》。今年期刊分区表包括SCIE、SSCI、A&HCI,以及ESCI中国期刊,共设置了包括自然科学、人文科学和社会科学在内的21个大类。 关注公众号“Unionpub学术”&…

国际版WPS Office 18.6.1

【应用名称】:WPS Office 【适用平台】:#Android 【软件标签】:#WPS 【应用版本】:18.6.1 【应用大小】:160MB 【软件说明】:软件日常更新。WPS Office是使用人数最多的移动办公软件。独有手机阅读模式…

Vim一键配置指南,打造高效率C++开发环境

文章目录 前言安装与卸载功能演示gcc/g升级问题 前言 Vim作为当下最受欢迎的文本编译器之一,不仅具有强大的文本编辑功能,还提供了高度的可定制性。用户可以根据自己的喜好自定义配置,并且通过自己编写插件或者使用现有的插件来扩展Vim的功能…

【MATLAB】 多元变分模态分解MVMD信号分解算法

有意向获取代码,请转文末观看代码获取方式~ 1 基本定义 多元变分模态分解(MVMD)是一种信号分解方法,可以自适应地实现信号的频域剖分及各分量的有效分离。 MVMD算法的具体步骤如下: 假设原始信号S被分解为K个分量μ…

简易机器学习笔记(十一)opencv 简易使用-人脸识别、分类任务

前言 前段时间摸了下机器学习,然后我发现其实openCV还是一个很浩瀚的库的,现在也正在写一篇有关yolo的博客,不过感觉理论偏多,所以在学yolo之前先摸一下opencv,简单先写个项目感受感受opencv。 流程 openCV实际上已…

【机器学习】常见算法详解第2篇:K近邻算法各种距离度量(已分享,附代码)

本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用&#xff0…

个人的感悟观点,即将毕业的应届生的对自己未来方向的思考和认识

目录 复习历程思考 为什么我选择了考研 考完后我的状态 考完后我的做法 我对方向的看法(拙见) 复习历程思考 自我决定考研复习一刻开始。停更半年之久,甚至更长。没有分享自己的学习。在时常半年多的考研复习的过程中。我决定它带给我希…

什么是云服务器?云服务器的工作原理是介绍

阿里云服务器ECS英文全程Elastic Compute Service,云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云百科aliyunbai…

旺店通·企业版和金蝶云星空接口打通对接实战

旺店通企业版和金蝶云星空接口打通对接实战 对接源平台:旺店通企业版 慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实…

运用AI搭建中间服务层(五)

其他文件的修改 ValuesControllers.cs 注意Post的参数从[FromBody]变成了[FromForm],以便接收上传的图片流数据 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using CognitiveMi…

大模型实战营Day3 基于 InternLM 和 LangChain 搭建你的知识库

LLM的局限性: 知识时效性,专业能力,定制化成本 两种大模型开发范式: RAG FineTune RAG: 检索问答生成 外挂知识库 成本低 FineTune: 更新成本高 GPU算力要求高 RAG开发框图: 用户输入 文本向量化 匹配相似…

20240114三角形边长周长和面积

代码 class Triangle(object):"""三角形类"""def __init__(self, a, b, c):"""初始化方法"""self.a aself.b bself.c cstaticmethoddef is_valid(a, b, c):"""判断三条边长能否构成三角形(静态…

【MySQL】:掌握SQL中DDL的数据库定义与操作

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. SQL的分类二. DDL数据库操作2.1 查询所有数据库2.2 查询当前数据库2.3 创建数…

文件操作(一)

目录 一.什么是文件 1.程序文件和数据文件 2.文件名 3,文本文件和二进制文件 二.文件的打开和关闭 1.流和标准流 2.文件指针 3.文件的打开与关闭 三.结尾 一.什么是文件 在我们学习文件操作之前我们先了解一下什么是文件?以及文件为什么使用文件…

【面试合集】1.说说你对微信小程序的理解?优缺点?

面试官:说说你对微信小程序的理解?优缺点? 一、是什么 2017年,微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务 截至目前,小程序已经成为国内前端的一个重要业务&…