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

来源:互联网 发布:js 汉字比较 编辑:程序博客网 时间:2024/06/10 15:09

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

 

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

 

 

0 0
原创粉丝点击