最近处理的事太多了,只能先写一些实践性的文章,理论的理解与阐述等有时间再写吧。

这一片主要是介绍Bluez工具的编译与移植,主要目的是测试内核驱动蓝牙模块是否正常。有些内容会涉及到公司产品,只能等产品发布后才能公布部分博客,最近在整理产品的文档,也算比较忙吧。该部分是在linux下mips架构环境下,经本人验证是可行的。

我用的一些开源包:下载(bluez源码被我改动了,这里涉及到mipsel的兼容问题)

转载请注明:http://blog.csdn.net/wang_zheng_kai


注意:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

在这里只是移植了bluez的工具,它的运行还需要dbus环境的支持,涉及到产品发布问题,后期将会介绍。我自己针对固件的加载和初始化写了一个脚本。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 1 Bluez production process
  2 
  3         (1)Specify the installation path
  4         /usr/lib/bluetooth
  5 
  6         (2)Specify the compiler path
  7         export PATH=$PATH:/opt/mipseltools-gcc412-glibc261/bin
  8 
  9         (3)Compile expat, alsa, zlib, glib, bluez and openobex
 10         root@user-FMVC10C131:/tem/expat-2.0.1# ./configure --prefix=/usr/lib/bluetooth/ --host=mipsel-linux --target=mipsel-linux CC=mipsel-linux-gcc
 11         root@user-FMVC10C131:/tem/expat-2.0.1#make
 12         root@user-FMVC10C131:/tem/expat-2.0.1#make install
 13 
 14         root@user-FMVC10C131:/tem/zlib-1.2.8# CC=mipsel-linux-gcc ./configure --prefix=/usr/lib/bluetooth
 15         root@user-FMVC10C131:/tem/zlib-1.2.8#make
 16         root@user-FMVC10C131:/tem/zlib-1.2.8#make install
 17 
 18         root@user-FMVC10C131:/tem/alsa-lib-1.0.27.2# ./configure --host=mipsel-linux --prefix=/usr/lib/bluetooth --enable-shared --disable-python --with-versioned=n
 19         root@user-FMVC10C131:/tem/alsa-lib-1.0.27.2#make
 20         root@user-FMVC10C131:/tem/alsa-lib-1.0.27.2#make install
 21 
 22         root@user-FMVC10C131:/tem/alsa-utils-1.0.27.2#./configure --host=mipsel-linux --prefix=/usr/lib/bluetooth  CPPFLAGS=-I/usr/lib/bluetooth/include LDFLAGS=-L/usr/lib/bluetooth/lib --disable-alsamixer --disable-xmlto --disable-nls
 23         root@user-FMVC10C131:/tem/alsa-utils-1.0.27.2#make
 24         root@user-FMVC10C131:/tem/alsa-utils-1.0.27.2#make install
 25                                                                                                                                          
 26         root@user-FMVC10C131:/tem/dbus-1.0.3#echo ac_cv_have_abstract_sockets=yes>mipsel-linux.cache
 27         root@user-FMVC10C131:/tem/dbus-1.0.3# ./configure --prefix=/usr/lib/bluetooth --host=mipsel-linux --target=mipsel-linux CC="mipsel-linux-gcc -I/usr/lib/bluetooth/include -L/usr/lib/bluetooth/lib/" --cache-file=mipsel-linux.cache --with-x=no --with-xml=expat
 28         root@user-FMVC10C131:/tem/dbus-1.0.3#make
 29         root@user-FMVC10C131:/tem/dbus-1.0.3#make install
 30 
 31         root@user-FMVC10C131:/tem/glib-2.24.0# echo ac_cv_type_long_long=yes>mipsel-linux.cache
 32         root@user-FMVC10C131:/tem/glib-2.24.0# echo glib_cv_stack_grows=no>>mipsel-linux.cache
 33         root@user-FMVC10C131:/tem/glib-2.24.0# echo glib_cv_uscore=no>>mipsel-linux.cache
 34         root@user-FMVC10C131:/tem/glib-2.24.0# echo c_cv_func_posix_getpwuid_r=yes>>mipsel-linux.cache
 35         root@user-FMVC10C131:/tem/glib-2.24.0# echo ac_cv_func_posix_getpwuid_r=yes>>mipsel-linux.cache
 36         root@user-FMVC10C131:/tem/glib-2.24.0# echo ac_cv_func_posix_getgrgid_r=yes>>mipsel-linux.cache
 37         root@user-FMVC10C131:/tem/glib-2.24.0# ./configure --prefix=/usr/share/Bluetooth --host=mipsel-linux --target=mipsel-linux CC="mipsel-linux-gcc -I/usr/lib/bluetooth/include -L/usr/lib/bluetooth/lib" --cache-file=mipsel-linux.cache
 38         root@user-FMVC10C131:/tem/glib-2.24.0#make
 39         root@user-FMVC10C131:/tem/glib-2.24.0#make install
 40 
 41         root@user-FMVC10C131:/tem/bluez-4.95#export PKG_CONFIG_LIBDIR=/usr/lib/bluetooth/lib/pkgconfig
 42         root@user-FMVC10C131:/tem/bluez-4.95#./configure --prefix=/usr/lib/bluetooth --host=mipsel-linux --target=mipsel-linux CC=mipsel-linux-gcc CC="mipsel-linux-gcc -I/usr/lib/bluetooth/include -I/home/user/bluez/kernel-3.0.8/include -L/usr/lib/bluetooth/lib" --disable-     gstreamer --enable-hid2hci --enable-hidd --enable-alsa --enable-audio --enable-service --enable-tools --enable-serial --enable-input --      enable-static --enable-shared --enable-test--disable-gstreamer --enable-hid2hci --enable-hidd --enable-alsa --enable-audio --enable-         service --enable-tools --enable-serial --enable-input --enable-static --enable-shared --enable-test
 43         root@user-FMVC10C131:/tem/bluez-4.95#make
 44         root@user-FMVC10C131:/tem/bluez-4.95#make install
 45 
 46         root@user-FMVC10C131:/tem/openobex-1.3# ./configure --prefix=/usr/lib/bluetooth/ --host=mipsel-linux CC=mipsel-linux-gcc CFLAGS=-I/usr/lib/bluetooth/include LDFLAGS=-L/usr/lib/bluetooth/lib --enable-apps  BLUEZ_LIBS=-lbluetooth
 47         root@user-FMVC10C131:/tem/openobex-1.3#make
 48         root@user-FMVC10C131:/tem/openobex-1.3#make install
 49 
 50         (4)Copy bin relevant files to the target board /usr/bin
 51            Copy sbin relevant files to the target board /usr/sbin
 52            Copy lib, var, share the same directory to the target board

自此我们已经做好了bluez的移植,下面我们该介绍,如何搭建dbus环境和执行bluetooth -udev以及解决重启清楚配对信息的操作。(产品发布后,敬请关注)


我将在第四节介绍bluez移植后的的初始化。



日后添加!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐