基于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

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

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

相关文章

014集:python访问互联网:网络爬虫实例—python基础入门实例

以pycharm环境为例: 首先需要安装各种库(urllib:requests:Openssl-python等) python爬虫中需要用到的库,大致可分为:1、实现 HTTP 请求操作的请求库;2、从网页中提取信息的解析库;3、Python与…

外贸货源怎么找?9大优质货源渠道分享!

近几年跨境电商无货源模式大火了一把,让不少人都跃跃欲试。毕竟这种模式投资少,门槛低,回本快,想增加额外收入或创业的人们都争相涌入。但是要想做得好,选好货源渠道就是关键了。如果不小心选错了供应商,可…

MybatisPlus框架入门级理解

MybatisPlus 快速入门入门案例常见注解常用配置 核心功能条件构造器自定义SQLService接口 快速入门 入门案例 使用MybatisPlus的基本步骤: 1.引入MybatisPlus的起步依赖 MybatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能&#…

如果你正在学自动化测试,那么请你仔细看完这篇文章

接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚…

python面试题

python装饰器 装饰器的本质就是一个函数能为其它函数增加额外功能 装饰器不加参数 #coding:utf-8 from time import time#装饰器函数 def elapsed(target):"统计目标函数执行的耗时"def decorated(*args,**kwargs):start time()r target(*args,**kwargs)end tim…

NXP-RT1176开发(一)——环境搭建(MCUXpressoIDE/VSCode)

目录 1. 安装IDE 1.1 官方开发的IDE软件 1.2 Config工具下载 1.3 说明(需先有SDK) 2. 下载SDK 3. VScode环境下编译 3.1 安装插件 3.2 确保本地有交叉编译工具链和CMAKE 3.3 加载本地SDK 3.4 导入例程编译 1. 安装IDE 该处理器编译规则可以MDK…

FlinkAPI开发之水位线(Watermark)

案例用到的测试数据请参考文章: Flink自定义Source模拟数据流 原文链接:https://blog.csdn.net/m0_52606060/article/details/135436048 Flink中的时间语义 哪种时间语义更重要 从《星球大战》说起 数据处理系统中的时间语义 在实际应用中&#xff0c…

vue cli 配置了productionSourceMap: true 开启source-map 没有生成map文件

因为UglifyJsPlugin导致生成map失败,可以将其注释即可 也可以加上 new UglifyJsPlugin({sourceMap:true })

基于Java+SSM运动会管理系统详细设计和实现【附源码】

基于JavaSSM运动会管理系统详细设计和实现【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 …

C++写二进制文件

源文件 #include <iostream> #include <fstream> #include <sstream> #include <cmath>void convert2() {// 打开输入文本文件std::ifstream inputFile("mask.txt");// 打开输出二进制文件std::ofstream outputFile("mask.dat", …

现在00后开发人员不晓得加班为何事嘛?

我招了两个做HTML5开端开发的人员&#xff0c;是从培训机构招来的&#xff0c;按理说他们应该很努学很用样才对的。他们上班第一天我就跟他们讲&#xff0c;我们不需要上、下班打卡&#xff1b;你们也不必太过担心迟到或早退。因为我们搞开发的人员首先是按自己的工作任务完成情…

【部署LLaMa到自己的Linux服务器】

部署LLaMa到自己的Linux服务器 1、Llama2 项目获取方法1&#xff1a;有git可以直接克隆到本地方法2&#xff1a;直接下载 2、LLama2 项目部署3、申请Llama2许可4、下载模型权重5、运行 1、Llama2 项目获取 方法1&#xff1a;有git可以直接克隆到本地 创建一个空文件夹然后鼠标…

蓝牙网关G602

一、产品概述 G602是一款支持蓝牙4.2/5.0的蓝牙网关&#xff0c;主处理器采用580MHz的MIPS24KEc处理器&#xff0c;DRAM为DDR2 64MB&#xff0c;16MB FLASH。G602蓝牙网关集成PA和LNA&#xff0c;蓝牙扫描和连接距离可以达到100米以上&#xff0c;极大的增加了覆盖范围&#x…

CORS漏洞学习

CORS漏洞属于一个协议漏洞&#xff0c;具体是由于同源策略的设置问题触发的漏洞&#xff0c;漏洞利用条件较为苛刻&#xff0c;但实战中也常见。 首先要了解同源策略 什么是同源策略&#xff1f; 同源策略是一种Web浏览器安全机制&#xff0c;旨在防止网站相互攻击。 同源策…

数学建模-Matlab R2022a安装步骤

软件介绍 MATLAB是一款商业数学软件&#xff0c;用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境&#xff0c;主要包括MATLAB和Simulink两大部分&#xff0c;可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程…

2024年【危险化学品经营单位主要负责人】考试报名及危险化学品经营单位主要负责人考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位主要负责人考试报名考前必练&#xff01;安全生产模拟考试一点通每个月更新危险化学品经营单位主要负责人考试资料题目及答案&#xff01;多做几遍&#xff0c;其实通过危险化学品经营单位主要负责…

NeRF 其三:Instant-NGP

NeRF 其三&#xff1a;Instant-NGP 1. 球谐函数1.1 NeRF 中球谐函数的作用1.2 球谐函数1.2.1 当阶数 j 0 j0 j0 时&#xff0c; m 0 m0 m0&#xff1a;1.2.2 当阶数 j 1 j1 j1 时&#xff0c; m 0 m0 m0&#xff1a;1.2.3 当阶数 j 1 j1 j1 时&#xff0c; m 1 m1 m1&…

vue中设置注释模板

参考地址 ctrlshiftp 打开编辑器配置输入configure user snippets - 选择 new global snipp files - 命名为 vueComment&#xff0c;弹出注释模板&#xff0c;即可自定义注释 如下/// 回车 即可在代码块中使用注释 { "Print to console": {"prefix": &q…

什么是游戏盾,游戏盾是如何做到免疫攻击的

什么是游戏盾&#xff1a;游戏盾是针对游戏行业面对的DDoS、CC攻击推出的针对性的网络安全解决方案&#xff0c;相比高防IP&#xff0c;除了能针对大型DDoS攻击&#xff08;T级别&#xff09;进行有效防御外&#xff0c;还具备彻底解决游戏行业特有的TCP协议的CC攻击问题能力&a…

拖拽不够自由?Vue3 DnD它来了!

前言 众所周知&#xff0c;在React中有一款非常强大的拖拽库&#xff0c;叫React DnD&#xff0c;而Vue中&#xff0c;大部分都是类似于vue.draggable等拖拽排序的库&#xff0c;然而它并不能满足我们所有的需求&#xff0c;特别是应对一些自由拖拽或混合拖拽的场景(例如&…