移植libusb到mips-linux上(基于jz4780)

原创 2015年11月18日 17:52:51

移植libusbmips-Linux--基于jz4780

最近工作需要libusb的相关内容

环境 虚拟机+Ubuntu12.04

交叉编译链 mipsel-linux-gcc 4.1.2

开发板 jz4780核心板+外设 Linux3.0.8

在libusb官网下载libusb源码 结合后面工作需要,最终选用libusb0.9.3版本 官网为http://www.libusb.org/

拷贝到工作目录解压对应文件 

tar xvjf libusb-0.9.3.tar.bz2 

进入目录 进行对应配置工作

./configure CROSS_COMPILE =1 CC=mipsel-linux-gcc CXX=mipsel-linux-g++ --build=i686-linux --host=mips-linux prefix=/home/linux/hp-printer/install

 

CC CXX 为交叉编译器 --host为目标机 prefix为编译安装目录

 

make 

make install  

 

在/home/linux/hp-printer/install目录中生成.so库和对应的头文件 libusb.h

 

在官网http://www.libusb.org/ 下载 libusb-compat-0.1.4版本

 

解压进入目录 进行配置

 

./configure CROSS_COMPILE=1 CC=mipsel-linux-gcc CXX=mipsel-linux-g++ --build=i686-linux --host=mips-linux prefix=/home/linux/hp-printer/install PKG_CONFIG_PATH=/home/linux/hp-printer/install/lib/pkgconfig

 

备注:编译 libusb-compat的时候依赖前面编译的libusb库 所以一定进行PKG_CONFIG_PATH设置

make 

make install

 

完成后可以得到usb.h文件和对应的库文件(如图所示)

 

可以用nm命令查看对应的so文件里的内容。

 

下面是测试程序

Test.c (转的)

 

#include <stdio.h>

#include <stdlib.h>

#include <usb.h>

 

int main(void) 

    struct usb_bus *bus; 

    struct usb_device *dev;

 

    usb_init(); 

    usb_find_busses(); 

    usb_find_devices();

 

    printf("bus/device idVendor/idProduct\n");

 

    for (bus = usb_busses; bus; bus = bus->next) { 

       printf("hello,dell 1 !\n");

       for (dev = bus->devices; dev; dev = dev->next) {

            printf("hello,dell 2 !\n");  

            printf("%s/%s %04X/%04X\n", 

                    bus->dirname, 

                    dev->filename, 

                    dev->descriptor.idVendor,

                    dev->descriptor.idProduct);

 

           if (!dev->config) { 

                printf(" Couldn't retrieve descriptors\n"); 

                continue; 

           }

       } 

   }

   printf("*****************************\n");

}

 

在编译test.c的时候应该使用指定头文件位置和so文件位置

mipsel-linux-gcc test.c -o test -I/home/linux/hp-printer/install/include -L/home/linux/hp-printer/install/lib -lusb -lusb-1.0

 

得到test mips架构可执行文件

将所有的库文件拷贝到开发板usr/lib/目录下 

插上U盘 执行./test

 

有结果可知 以上移植成功。

 

 

linux下交叉编译libusb的方法及编译一个使用了libusb库的test程序的方法

linux交叉编译libusb的方法
  • xfc_1939
  • xfc_1939
  • 2016年12月01日 15:29
  • 2790

libusb的嵌入式移植

原文地址:libusb的嵌入式移植 作者:txgc_wm linux对usb已有了比较完善的支持,但是看了一下原理还有代码,还是觉得一头雾水!有人推荐libusb,在网上搜了一下...
  • tianruxishui
  • tianruxishui
  • 2014年07月17日 11:35
  • 3865

libusb移植总结

libusb移植总结总结这个阶段中移植libusb到嵌入平台的过程和问题: libusb提供了一套相对能够屏蔽不同linux版本,减少不同平台的驱动移植困恼的工具,工具提供了1.0版本和0.1版本(...
  • lanyou1900
  • lanyou1900
  • 2015年04月07日 17:27
  • 4076

Ubuntu15下Qt+libusb开发

在Ubuntu15中可以从软件仓库安装libusb,当前的libusb版本为1.0。
  • desert187
  • desert187
  • 2015年06月24日 11:17
  • 2081

libusb库使用(快速上手)

欢迎转载请注明出处:海漩涡 http://blog.csdn.net/tanhuifang520 一、下载libusb源码 (1)ubuntu下命令下载 sudo git clon...
  • tanhuifang520
  • tanhuifang520
  • 2017年07月01日 17:24
  • 508

libusb移植到ARM linux

环境:ubuntu16.04 x64版本, arm-linux-gcc (Sourcery G++ Lite 2010.09-50) 4.5.1 1. 下载源码 https://sourceforg...
  • wojiushiwoba
  • wojiushiwoba
  • 2017年05月16日 13:48
  • 386

linux下交叉编译libusb的方法及编译一个使用了libusb库的test程序的方法

转自:http://blog.csdn.net/xfc_1939/article/details/53422071 linux交叉编译libusb的方法 #### 下载libusb  下载网...
  • liuyan20092009
  • liuyan20092009
  • 2017年08月24日 13:50
  • 290

libusb开发者入门指南

本文档描述libusb的API,以及如何开发USB应用。 1 介绍 1.1 概览 本文档描述libusb-0.1的API和USB相关内容。 1.2 当前OS支持 Linux 2.2或以上 FreeBS...
  • changyourmind
  • changyourmind
  • 2016年09月19日 11:15
  • 740

libusb的嵌入式移植

原文地址:libusb的嵌入式移植 作者:txgc_wm linux对usb已有了比较完善的支持,但是看了一下原理还有代码,还是觉得一头雾水!有人推荐libusb,在网上搜了一下...
  • tianruxishui
  • tianruxishui
  • 2014年07月17日 11:35
  • 3865

在ubuntu下移植开源项目时候遇到的问题

allen@allen-Inspiron-7420:~/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0....
  • wujiangguizhen
  • wujiangguizhen
  • 2014年04月07日 20:58
  • 5582
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移植libusb到mips-linux上(基于jz4780)
举报原因:
原因补充:

(最多只允许输入30个字)