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

news/2024/10/21 20:36:00/

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 providedorangepi@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


 


http://www.ppmy.cn/news/534176.html

相关文章

西门子PLC和松下PLC的区别

西门子的编程软件和程序结构 1&#xff0e; 编程软件 西门子公司针对SIMATIC系列PLC提供了很多种的编程软件&#xff0c;主要有STEP MICRO/DOS和STEP MICRO/WIN&#xff1b;STEP mini;标准软件包STEP7 S7系列的PLC的编程语言非常丰富&#xff0c;有LAD、STL、SCL…

Day43 | 1049. 最后一块石头的重量II, 494. 目标和, 474.一和零

Day43 | 1049. 最后一块石头的重量II, 494. 目标和, 474.一和零 最后一块石头的重量II LeetCode题目&#xff1a;https://leetcode.cn/problems/last-stone-weight-ii/ 题目中的背包理解 可以将其中的一个子问题抽象冲背包问题&#xff0c;即题中要求求得最后一块儿石头的最…

登录校验原理过程和统一拦截技术(Cookie、Sesstion 和JWT令牌)

一、登录校验 问题&#xff1a;在未登录情况下&#xff0c;我们也可以直接访问部门管理、员工管理等功能。由于浏览器与web服务器中的数据交互是通过HTTP协议的&#xff0c;而HTTP协议是无状态的–即每个页面中的请求和响应都是独立的&#xff0c;没有状态存在。所以我们需要进…

厨房用具,将吸目无背无侧旁

问了医生说没事就开了2盒贴的药口服的都没首一、年份 2013年二、车型爱丽舍也许适用于其它车型请考证三、项目侧方位停车四、入库车身向前行驶距离路边50公分到前停车线停车目而视辗转反侧旁敲侧击珠玉在侧道路侧目无背无侧旁推侧引转辗反侧侧足而立横峰侧岭明扬侧…

制定CRM战略流程是哪些?

CRM战略是企业为了提升核心竞争力&#xff0c;在市场、销售、客户管理等方面开展的一系列改善、创新或转型的措施。目的是建立和维护与客户的关系&#xff0c;增加企业的收入。那么&#xff0c;企业如何制定CRM战略呢&#xff1f; 1、深入了解客户需求 企业需要了解其目标客户…

MySQL ----主从复制、分离解析

文章目录 一、MySQL 主从复制1.1服务性能扩展方式1.2 MySQL的扩展什么是读写分离&#xff1f; 1.3为什么要读写分离呢&#xff1f;1.4什么时候要读写分离&#xff1f;1.5主从复制与读写分离1.6mysql支持的复制类型1.7主从复制的工作过程1.8MySQL 读写分离原理1.9目前较为常见的…

【计算机网络详解】——网络层(学习笔记)

&#x1f4d6; 前言&#xff1a;网络层它承担着网络间的数据传输和路由选择等核心任务&#xff0c;通过在传输层协议的基础上添加了路由和转发等功能&#xff0c;使得数据能够在全球范围内的互联网中自由流动。在这篇博客中&#xff0c;我们将深入探讨网络层的工作原理和具体实…

1.GPIO的工作原理

1.stm32引脚说明&#xff1a; 对于stm32f103zet6&#xff1a; 一共有7组io口&#xff1b;每组io口有16个io&#xff1b;一共有16*7112个io&#xff1b;分组情况为&#xff1a;GPIOA&#xff0c;GPIOB~GPIOG&#xff1b; 2.GPIO的基本结构&#xff1a; 3.GPIO的工作模式&…