香橙派4 2. 驱动usb2.0芯片cy7c68013

0. 环境

- 香橙派4(Orangepi4_2.1.2_ubuntu_bionic_desktop_linux4.4.179.img)
- EZ-USB FX2LP CY7C68013A USB 核心板

 

1. 下载FX3_SDK_1.3.4_linux

EZ-USB™ FX3 Software Development Kit
https://www.infineon.com/cms/en/design-support/tools/sdk/usb-controllers-sdk/ez-usb-fx3-software-development-kit

2. 解压

压缩文件放到/home/orangepi/work/FX3_SDK_1.3.4_Linux.tar.gz

解压

tar -zvxf FX3_SDK_1.3.4_Linux.tar.gz

得到了
fx3_firmware_linux.tar.gz
ARM_GCC.tar.gz                    # 交叉编译工具
eclipse_x64.tar.gz                # IDE
eclipse_x86.tar.gz
cyusb_linux_1.0.5.tar.gz        # cyusb驱动

继续解压

tar -zvxf fx3_firmware_linux.tar.gz && \
tar -zvxf ARM_GCC.tar.gz && \
tar -zvxf eclipse_x64.tar.gz && \
tar -zvxf cyusb_linux_1.0.5.tar.gz

3. 测试cyusb_linux


这个软件是开源的,编译安装

cd cyusb_linux_1.0.5
make 
sudo ./install.sh


 
问题1:lib/libcyusb.cpp:20:10: fatal error: libusb-1.0/libusb.h: No such file or directory
解决办法:sudo apt install libusb-1.0.0-dev

问题2:qmake-qt4: command not found
解决办法:sudo apt install qt4-qmake
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

问题3:/usr/lib/aarch64-linux-gnu/qt4/bin/uic: Command not found
不解决了。

这是图形界面依赖QT4,跳过了。直接用命令行。

编译命令行示例,命令行只需要安装g++并只依赖libusb、pthread:

orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ make
g++ -o 00_fwload            00_fwload.cpp            -L ../lib -l cyusb
g++ -o 01_getdesc           01_getdesc.cpp           -L ../lib -l cyusb
g++ -o 03_getconfig         03_getconfig.cpp         -L ../lib -l cyusb
g++ -o 04_kerneldriver      04_kerneldriver.cpp      -L ../lib -l cyusb
g++ -o 05_claiminterface    05_claiminterface.cpp    -L ../lib -l cyusb
g++ -o 06_setalternate      06_setalternate.cpp      -L ../lib -l cyusb
g++ -o 08_cybulk            08_cybulk.cpp            -L ../lib -l cyusb -l pthread
g++ -o 09_cyusb_performance 09_cyusb_performance.cpp -L ../lib -l cyusb -l usb-1.0
g++ -o download_fx2         download_fx2.cpp         -L ../lib -l cyusb
g++ -o download_fx3         download_fx3.cpp         -L ../lib -l cyusb
g++ -o cyusbd               cyusbd.cpp               -L ../lib -l cyusb
gcc -o config_parser        config_parser.c          -L ../lib -l cyusb
orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$

测试命令行示例:


orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ ./01_getdesc
bLength             = 18
bDescriptorType     = 1
bcdUSB              = 0x0200
bDeviceClass        = 0x00
bDeviceSubClass     = 0x00
bDeviceProtocol     = 0x00
bMaxPacketSize      = 64
idVendor            = 0x04b4
idProduct           = 0x1004
bcdDevice           = 0x0000
iManufacturer       = 1
iProduct            = 2
iSerialNumber       = 0
bNumConfigurations  = 1
orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$

 

4. bulkloop

4.1  下载buikloop固件到设备

orangepi@orangepi4:~/work$ cd cyusb_linux_1.0.5/src/
orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ ./download_fx2 -h
./download_fx2: FX2LP firmware programmer
Usage:
        ./download_fx2 -h: Print usage information

        ./download_fx2 -i <filename> -t <target>: Program firmware from <filename> to <target>,
                where <target> is one of:
                        "RAM ": Program to internal or external RAM
                        "SI2C": Program to small I2C EEPROM, IIC file to be provided
                        "LI2C": Program to large I2C EEPROM, IIC file to be provided

orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ ./download_fx2 -i /home/orangepi/work/cyusb_linux_1.0.5/fx2_images/bulkloop.hex -t RAM
Found Hex format file
Info: Releasing FX2 CPU from reset
FX2LP firmware programming to RAM completed
orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ 

4.2 测试bulkloop

这个示例是用户命令行输入一串字符,按下回车后会得到设备回传到的字符串。

orangepi@orangepi4:~/work/cyusb_linux_1.0.5/src$ ./08_cybulk
Successfully claimed interface
123
123
321
321
123
123
321
321


 

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

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

相关文章

实时在线云消费机、考勤门禁控制器、网络读卡器服务端C# Socket源码

消费机UDP通讯协议介绍&#xff1a; 设备向服务器发送的指令格式&#xff0c;每个字段用半角逗号(,)分隔。序号指令名称指令格式指令说明示例1响应服务器的搜索100,包序列号,终端IP,子网掩码,网关IP,远程电脑主机IP,端口号,终端硬件号响应电脑发出的搜寻局域网内所有终端设备指…

VCL界面控件DevExpress VCL v23.1.3全新首发 - 支持Windows 11新主题

DevExpress VCL Controls是Devexpress公司旗下最老牌的用户界面套包&#xff0c;所包含的控件有&#xff1a;数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验&#xff0c;提供高影响力的业务解决方案&#xff0c;并利用您现有的VCL技能为未来构建下…

设计模式之模板方法模式笔记

设计模式之模板方法模式笔记 说明Template Method(模板方法)目录模板方法模式示例类图抽象类包菜类菜心类测试类 说明 记录下学习设计模式-模板方法模式的写法。JDK使用版本为1.8版本。 Template Method(模板方法) 意图:定义一个操作中的算法骨架&#xff0c;而将一些步骤延…

LeetCode - #81 搜索旋转排序数组 II

文章目录 前言1. 描述2. 示例3. 答案关于我们 前言 我们社区陆续会将顾毅&#xff08;Netflix 增长黑客&#xff0c;《iOS 面试之道》作者&#xff0c;ACE 职业健身教练。&#xff09;的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新…

redis缓存设计-Redis(八)

上篇文章介绍了redis缓存设计&#xff0c;热点key&#xff0c;bigkey注意事项。 原创 redis缓存设计-Redis&#xff08;七&#xff09;https://blog.csdn.net/ke1ying/article/details/131268967 命令使用 hgetall&#xff0c;lrange&#xff0c;smembers&#xff0c;zrange…

兼容性测试如何提高网站的安全性?

兼容性测试如何提高网站的安全性? 在今天的互联网时代&#xff0c;随着各种网络攻击和黑客活动的频繁发生&#xff0c;网站的安全性问题越来越引起人们的关注。而在提高网站安全性方面&#xff0c;兼容性测试是一个非常重要的环节。本文将从什么是兼容性测试、为什么兼容性测试…

Excel 2021入门指南:详细解读常用功能

软件安装&#xff1a;办公神器office2021安装教程&#xff0c;让你快速上手_正经人_____的博客-CSDN博客 一、 新建工作表 打开Excel 2021后&#xff0c;可以看到左上角的“文件”选项&#xff0c;在弹出的菜单中选择“新建”选项&#xff0c;然后可以选择使用空白工作表或者…

软考A计划-系统集成项目管理工程师-一般补充知识-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

django新手教程

Django简介 Django是开源的、大而且全的Web应用框架。 它独具特色&#xff0c;采用了MTV设计模式。 它也是一款用来构建服务器的框架。这一概念如何理解呢&#xff1f; 应用程序有两种模式&#xff1a;C/S、B/S。 C/S是客户端与服务器端&#xff0c;这类程序一般能独立运行…

搭建环境【2】windows主机和ubuntu互传文件的4种方法

我的ubuntu系统是安装在 VMware 虚拟机中的&#xff0c;两者之间经常要互传文件&#xff0c;下面介绍4种常用的互传文件方法。 1. 共享文件夹方式互传 在虚拟机中需要开启共享文件夹的功能。首先虚拟机中的ubuntu要求是已经开机了的状态&#xff0c;然后进行设置&#xff1a;…

浅谈【AI、算力赋能】“大算力”时代的到来

&#x1f53b;一、【&#x1f4a3; 话题引入&#xff1a;“AI算力最强龙头”&#xff0c;你怎么看&#xff1f;】 &#x1f648; AI人工智能是否可以取代人类&#xff1f;    &#x1f648; 应不应该限制人工智能的发展&#xff1f;      &#x1f648; AI研究及龙头行业迎…

【ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系 】

文章目录 介绍ARM Trustzone的安全扩展简介 1.1 AXI AxPROT 介绍1.1.1 AXI 对 Trustzone的支持 介绍 ARMv8 架构中的AXI&#xff08;Advanced eXtensible Interface&#xff09;总线与NS&#xff08;Non-Secure&#xff09;位密切相关。NS位是指在ARM TrustZone安全扩展中定义…

养老院人员跌倒检测识别算法

养老院人员跌倒检测识别预警系统通过yolov5python网络模型技术&#xff0c;养老院人员跌倒检测识别预警算法对跌倒事件进行识别和分析&#xff0c;当检测到有人员跌倒时&#xff0c;将自动发出警报提示相关人员及时采取措施。YOLOv5是一种单阶段目标检测算法&#xff0c;该算法…

ASP.NET Core MVC 从入门到精通之日志管理

随着技术的发展&#xff0c;ASP.NET Core MVC也推出了好长时间&#xff0c;经过不断的版本更新迭代&#xff0c;已经越来越完善&#xff0c;本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容&#xff0c;适用于初学者&#xff0c;在校毕业生&#xff0c…

归一化详细推导

1. 一组数减去平均数的差的和为0。 一组数:a1,a2,a3,……,an, 平均数:a=(a1+a2+……+an)/n, 则 a1+a2+……+an=n*a, 从而,每一个数减去平均数的差的和为 (a1-a)+(a2-a)+……+(an-a) =(a1+a2+……+an)-n*a =0 2. 设原始数据均值及标准差为,将原始数组经过变换后得到使得均…

【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址

&#xff08;该图由AI制作 学习AI绘图 联系我&#xff09; 目录 IP 地址的基本知识 实际的 IP 地址 域名和 IP 地址并用的理由 Socket 库提供查询 IP 地址的功能 通过解析器向 DNS 服务器发出查询 解析器的内部原理 IP 地址的基本知识 生成 HTTP 消息 根据域名查询 …

C++笔记之extern关键字

C笔记之extern关键字 code review! 文章目录 C笔记之extern关键字0.前言1.extern是C语言的关键字还是C中的关键字&#xff1f;2.extern关键字和全局变量3.ChatGpt讲述extern的用法4.extern一般用法4.1.在本模块中使用4.2.跨模块中使用 5.标准定义使用extern关键字的步骤7.ext…

相机模型概述

相机模型 如图:假设P是现实世界中的一个点,P是三维世界中的点 Pr(Xr,Yr,Zr) 光心O视作摄像头 Pc(Xc,Yc,Zc) 在相机平面中,Pc的坐标为(0,0,0) 在物理成像平面 Pp(Xp,Yp,0) 在像素平面 P(Xp,Yp,0) 但是!!! 到了像素平面,坐标就不一样了,像素平面坐标顶点(最左上角)才是…

基于java,springboot的音乐分享平台

背景 音乐网站与分享平台的主要使用者分为管理员和用户&#xff0c;实现功能包括管理员&#xff1a;首页、个人中心、用户管理、音乐资讯管理、音乐翻唱管理、在线听歌管理、留言板管理、系统管理&#xff0c;用户&#xff1a;首页、个人中心、音乐翻唱管理、我的收藏管理&…

SpringBoot+MyBatisplus搭建校园新闻平台——已开源

概述 开发背景 校园新闻平台是以新闻宣传机构的在线信息发布需求为基础&#xff0c;随着数字化和信息化的快速发展&#xff0c;校园新闻在校园内的传播和沟通中变得越来越重要。学校需要一个有效的管理系统来整合、发布和传播校园新闻&#xff0c;以满足师生、校友和其他利益…