移植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

 

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

 

 

相关文章推荐

arm+linux下usb驱动开发,移植Libusb以及开发应用调试过程

[SETUP]  2D 00 10 [OUT]    E1 01 E8 /home/wangxj/tool_tar/libusb-1.0.20 或者 /home/wangxj/tool_tar...

linux-3.4.2内核移植到jz2440

1.内核启动流程,据此配置内核(机器ID) 1.1 修改Makefile 1.2 选择默认配置 1.3 make uImage 步骤一: 在UBOOT里: set machid 1...

基于JZ2440移植Linux3.4.2内核版本完整搭建笔记

关键词 :内核,bootload:   ①:把内核读入内存   ②:设置TAG参数   ③:启动      1、R0 = 0;      2、R1 = 机器ID      3、R...
  • ljmiaw
  • ljmiaw
  • 2017年05月28日 19:08
  • 341

移植Linux内核自带LCD驱动程序到JZ2440开发板

内核版本:Linux3.14.27 开发板:JZ2440 通常来说移植LCD驱动程序到嵌入式Linux平台并不是一件很难的事情。一般移植LCD到Linux开发平台有两种选择,一种是...

移植最新的内核linux-4.9到开发板JZ2440全过程笔记

移植最新的内核linux-4.9到开发板JZ2440全过程笔记

jz2440linux内核移植笔记

一、开发环境 1、Linux内核:Linux2.6.22.6 2、JZ2440 3、ubuntu9.10 二、移植过程 1、修改顶层Makefile,目录/linux-2.6.22.6: 185...

LINUX/MIPS内核移植

 Linux MIPS Porting GuideI want your feedback: info, errors, spelling, dead links, comments, or even...
  • lqx4_3
  • lqx4_3
  • 2011年04月19日 11:59
  • 3626

移植iperf(mips-linux)

官方网站下载源码:http://sourceforge.net/projects/iperf 1.我下的iperf-2.0.5.tar.gz(稳定版)解压,tar  zxvf   iperf-2.0...

JZ4770 UBOOT阅读 (MIPS)

文件:board/xxx/U-boot.lds 规划最后生成的Uboot文件的Flash布局和内存布局 具体的格式可以参考: 需要注意的是ENTRY(_start)。他高速编译器,整个程序的入口地址为...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移植libusb到mips-linux上(基于jz4780)
举报原因:
原因补充:

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