buildroot使用外部编译链编译bluez蓝牙工具

news2024/10/5 7:18:05

        在开发ublox w263 wifi蓝牙时,之前是使用yocto系统集成编译出的bluez工具,减少了自己编译工具软件和依赖库的工作,切换项目使用原生linux系统后,所以的软件需要自己编译,不想编译每个依赖文件和库,所以使用buildroot自动编译bluez蓝牙工具。

        依赖软件和库:bluez,readline,dbus,expat,glib,pcre。

buildroot使用外部编译链

buildroot使用的版本是:buildroot-2017.02.3

1、配置默认的平台:make imx6q-sabresd_defconfig

2、配置外部编译链:make menuconfig

Target options  ---> 

Toolchain  --->

[wangyb@wangyb-VirtualBox:bin]$ ./arm-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=./arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/wangyb/WG7101/mg7101-sdk/toolchains/arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/4.9.4/lto-wrapper
Target: arm-linux-gnueabi
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/snapshots/gcc-linaro-4.9-2017.01/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-objc-gc --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=soft --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/sysroots/arm-linux-gnueabi --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabi/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 4.9.4 (Linaro GCC 4.9-2017.01) 

 内核和uboot不进行编译:

Kernel  --->

        [ ] Linux Kernel

Bootloaders  --->

        [ ] U-Boot

配置bluez

Target packages  --->

        Networking applications  --->

 这里选择bluez-utils 5.x,如果选择bluez-utils的话编译后缺失工具,没有bluetoothctl软件。

5.x版本是bluez-5.43,bluez-utils的版本是bluez-4.101应该是比较老所以缺失或者不是bluetoothctl。

 编译

编译问题及解决方法:

Incorrect selection of kernel headers: expected 3.10.x, got 4.0.x
package/pkg-generic.mk:206: recipe for target '/home/wangyb/WG7101/tools/buildroot-2017.02.3/output/build/toolchain-external-custom/.stamp_configured' failed
make[1]: *** [/home/wangyb/WG7101/tools/buildroot-2017.02.3/output/build/toolchain-external-custom/.stamp_configured] Error 1
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2
【touch /home/wangyb/WG7101/tools/buildroot-2017.02.3/output/build/toolchain-external-custom/.stamp_configured】

/home/wangyb/WG7101/tools/buildroot-2017.02.3/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/gnu/stubs.h:10:29: fatal error: gnu/stubs-hard.h: 没有那个文件或目录
 # include <gnu/stubs-hard.h>【注释】

debianutils/lib.a(mktemp.o):在函数‘mktemp_main’中:
mktemp.c:(.text.mktemp_main+0x98): 警告: the use of `mktemp' is dangerous, better use `mkstemp'
/home/wangyb/WG7101/mg7101-sdk/toolchains/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/../../../../arm-linux-gnueabi/bin/ld: error: applets/built-in.o uses VFP register arguments, busybox_unstripped does not
/home/wangyb/WG7101/mg7101-sdk/toolchains/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/../../../../arm-linux-gnueabi/bin/ld: 合并目标文件 applets/built-in.o 的特定数据时失败
/home/wangyb/WG7101/mg7101-sdk/toolchains/arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/4.9.4/../../../../arm-linux-gnueabi/bin/ld: error: libbb/lib.a(appletlib.o) uses VFP register arguments, busybox_unstripped does not
【Target options修改】

>>>   Executing post-image script board/freescale/common/imx/post-image.sh
file(zImage): stat(/home/wangyb/WG7101/tools/buildroot-2017.02.3/output/images/zImage) failed: No such file or directory
vfat(boot.vfat): could not setup zImage
【cp ../../mg7101-sdk/kernel/linux-3.10.79/zImage output/images/
cp ../../mg7101-sdk/images/u-boot.bin output/images/u-boot.imx】

编译后文件:

[wangyb@wangyb-VirtualBox:buildroot-2017.02.3]$ ls output/target/usr/bin/ -lht
-rwxr-xr-x 1 wangyb wangyb 167K 4月  13 19:00 gatttool
-rwxr-xr-x 1 wangyb wangyb 214K 4月  13 19:00 hcidump
-rwxr-xr-x 1 wangyb wangyb 110K 4月  13 19:00 hcitool
-rwxr-xr-x 1 wangyb wangyb  57K 4月  13 19:00 mpris-proxy
-rwxr-xr-x 1 wangyb wangyb  20K 4月  13 19:00 aserver
-rwxr-xr-x 1 wangyb wangyb  88K 4月  13 19:00 bluetoothctl
-rwxr-xr-x 1 wangyb wangyb  13K 4月  13 19:00 dbus-launch
-rwxr-xr-x 1 wangyb wangyb 4.8K 4月  13 19:00 dbus-uuidgen
-rwxr-xr-x 1 wangyb wangyb 6.4K 4月  13 19:00 gio-querymodules
-rwxr-xr-x 1 wangyb wangyb  17K 4月  13 19:00 gsettings
-rwxr-xr-x 1 wangyb wangyb 107K 4月  13 19:00 hciattach
-rwxr-xr-x 1 wangyb wangyb  27K 4月  13 19:00 pcregrep
-rwxr-xr-x 1 wangyb wangyb 115K 4月  13 19:00 rctest
-rwxr-xr-x 1 wangyb wangyb 145K 4月  13 19:00 bccmd
-rwxr-xr-x 1 wangyb wangyb  22K 4月  13 19:00 bluemoon
-rwxr-xr-x 1 wangyb wangyb  16K 4月  13 19:00 btattach
-rwxr-xr-x 1 wangyb wangyb 7.3K 4月  13 19:00 dbus-run-session
-rwxr-xr-x 1 wangyb wangyb 7.9K 4月  13 19:00 dbus-update-activation-environment
-rwxr-xr-x 1 wangyb wangyb  12K 4月  13 19:00 gapplication
-rwxr-xr-x 1 wangyb wangyb  27K 4月  13 19:00 gdbus
-rwxr-xr-x 1 wangyb wangyb 9.3K 4月  13 19:00 gresource
-rwxr-xr-x 1 wangyb wangyb 149K 4月  13 19:00 sdptool
-rwxr-xr-x 1 wangyb wangyb 107K 4月  13 19:00 ciptool
-rwxr-xr-x 1 wangyb wangyb 6.5K 4月  13 19:00 dbus-cleanup-sockets
-rwxr-xr-x 1 wangyb wangyb 144K 4月  13 19:00 dbus-daemon
-rwxr-xr-x 1 wangyb wangyb  17K 4月  13 19:00 dbus-monitor
-rwxr-xr-x 1 wangyb wangyb  14K 4月  13 19:00 dbus-test-tool
-rwxr-xr-x 1 wangyb wangyb  81K 4月  13 19:00 l2ping
-rwxr-xr-x 1 wangyb wangyb  93K 4月  13 19:00 l2test
-rwxr-xr-x 1 wangyb wangyb  52K 4月  13 19:00 pcretest
-rwxr-xr-x 1 wangyb wangyb  86K 4月  13 19:00 rfcomm
-rwxr-xr-x 1 wangyb wangyb 408K 4月  13 19:00 btmon
-rwxr-xr-x 1 wangyb wangyb  17K 4月  13 19:00 dbus-send
-rwxr-xr-x 1 wangyb wangyb  53K 4月  13 19:00 gio
-rwxr-xr-x 1 wangyb wangyb 153K 4月  13 19:00 hciconfig
-rwxr-xr-x 1 wangyb wangyb 7.7K 4月  13 19:00 hex2hcd

[wangyb@wangyb-VirtualBox:buildroot-2017.02.3]$ ls output/target/usr/sbin/ -lht
-rwxr-xr-x 1 wangyb wangyb 375K 4月  13 19:00 bluetoothd
-rwxr-xr-x 1 wangyb wangyb  71K 4月  13 19:00 hciattach
-rwxr-xr-x 1 wangyb wangyb  20K 4月  13 19:00 hciemu
-rwxr-xr-x 1 wangyb wangyb 133K 4月  13 19:00 hciconfig

[wangyb@wangyb-VirtualBox:buildroot-2017.02.3]$ ls output/target/usr/libexec/bluetooth/ -lh
-rwxr-xr-x 1 wangyb wangyb 716K 4月  13 19:00 bluetoothd
-rwxr-xr-x 1 wangyb wangyb 313K 4月  13 19:00 obexd

[wangyb@wangyb-VirtualBox:buildroot-2017.02.3]$ ls output/target/usr/lib -lht
-rwxr-xr-x 1 wangyb wangyb 108K 4月  13 19:00 libexpat.so.1.6.2
-rwxr-xr-x 1 wangyb wangyb 178K 4月  13 19:00 libncurses.so.5.9
-rwxr-xr-x 1 wangyb wangyb 117K 4月  13 19:00 libbluetooth.so.3.18.14
-rwxr-xr-x 1 wangyb wangyb  35K 4月  13 19:00 libcheck.so.0.0.0
-rwxr-xr-x 1 wangyb wangyb 233K 4月  13 19:00 libdbus-1.so.3.14.10
-rwxr-xr-x 1 wangyb wangyb  40K 4月  13 19:00 libform.so.5.9
-rwxr-xr-x 1 wangyb wangyb 1.3M 4月  13 19:00 libgio-2.0.so.0.5000.2
-rwxr-xr-x 1 wangyb wangyb 8.1K 4月  13 19:00 libpanel.so.5.9
-rwxr-xr-x 1 wangyb wangyb 5.7K 4月  13 19:00 libpcreposix.so.0.0.4
-rwxr-xr-x 1 wangyb wangyb 212K 4月  13 19:00 libreadline.so.7.0
-rwxr-xr-x 1 wangyb wangyb  72K 4月  13 19:00 libusb-1.0.so.0.1.0
-rwxr-xr-x 1 wangyb wangyb  78K 4月  13 19:00 libbluetooth.so.3.13.0
-rwxr-xr-x 1 wangyb wangyb  24K 4月  13 19:00 libffi.so.6.0.4
-rwxr-xr-x 1 wangyb wangyb 3.6K 4月  13 19:00 libgthread-2.0.so.0.5000.2
-rwxr-xr-x 1 wangyb wangyb  28K 4月  13 19:00 libhistory.so.7.0
-rwxr-xr-x 1 wangyb wangyb 227K 4月  13 19:00 libpcre.so.1.2.8
-rwxr-xr-x 1 wangyb wangyb  71K 4月  13 19:00 libz.so.1.2.11
-rwxr-xr-x 1 wangyb wangyb 816K 4月  13 19:00 libasound.so.2.0.0
-rwxr-xr-x 1 wangyb wangyb 234K 4月  13 19:00 libgobject-2.0.so.0.5000.2
-rwxr-xr-x 1 wangyb wangyb  22K 4月  13 19:00 libmenu.so.5.9
-rwxr-xr-x 1 wangyb wangyb 364K 4月  13 19:00 libsndfile.so.1.0.28
-rwxr-xr-x 1 wangyb wangyb 901K 4月  13 19:00 libglib-2.0.so.0.5000.2
-rwxr-xr-x 1 wangyb wangyb 9.7K 4月  13 19:00 libgmodule-2.0.so.0.5000.2
drwxr-xr-x 3 wangyb wangyb 4.0K 4月  13 19:00 bluez
[wangyb@wangyb-VirtualBox:buildroot-2017.02.3]$ ls output/images/ -lh
-rw-r--r-- 1 wangyb wangyb  16M 4月  13 19:00 boot.vfat
-rw-r--r-- 1 wangyb wangyb  17M 4月  13 19:00 rootfs.ext2
lrwxrwxrwx 1 wangyb wangyb   11 4月  13 19:00 rootfs.ext4 -> rootfs.ext2
-rw-r--r-- 1 wangyb wangyb  14M 4月  13 19:00 rootfs.tar
-rw-r--r-- 1 wangyb wangyb  41M 4月  13 19:00 sdcard.img
-rw-r--r-- 1 wangyb wangyb 509K 4月  13 09:56 u-boot.imx
-rwxrwxr-x 1 wangyb wangyb 3.9M 4月  13 09:56 zImage

到这里bluez就编译完成了,编译出需要的软件和库,接下来就是研究如何开启蓝牙功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytorch深度学习笔记(三)线性模型

目录 1.机械学习的过程 2.线性模型 推荐课程&#xff1a;2.线性模型_哔哩哔哩_bilibili 1.机械学习的过程 机械学习的过程&#xff1a; 1.准备数据集DataSet——>2.选择模型Model——>3.训练Training——>4.推理Infering 监督学习&#xff1a;用已知标签的训练样本训…

Spark大数据处理讲课笔记3.1 掌握RDD的创建

文章目录零、本节学习目标一、RDD为何物&#xff08;一&#xff09;RDD概念&#xff08;二&#xff09;RDD示例&#xff08;三&#xff09;RDD主要特征二、做好准备工作&#xff08;一&#xff09;准备文件1、准备本地系统文件2、启动HDFS服务3、上传文件到HDFS&#xff08;二&…

4年软件测试工作经验,跳槽之后面试20余家公司的总结

先说一下自己的个人情况&#xff0c;普通二本计算机专业毕业&#xff0c;懂python&#xff0c;会写脚本&#xff0c;会selenium&#xff0c;会性能&#xff0c;然而离职后到今天都没有收到一份offer&#xff01;一直在待业中&#xff0c;从离职第一天就开始准备简历&#xff0c…

快排的非递归实现

其思想与递归实现快排完全相同&#xff0c;可以先将第一次要排序的右边界和左边界先后入栈&#xff0c;然后判断栈 是否为空&#xff0c;不为空就出栈顶元素&#xff0c;并删除一次&#xff0c;由于栈是先进的后出&#xff0c;所以先出来的应该是左界&#xff0c; 再进行一次…

【C++】STL——unordered_map和unordered_set的介绍和使用

unordered_set和unordered_map的介绍和使用 文章目录unordered_set和unordered_map的介绍和使用一、unordered系列关联式容器二、unordered_set1.unordered_set的介绍2.unordered_set的构造方式3.unordered_set的函数接口说明4.unordered_multiset的介绍及使用三、unordered_ma…

【建议收藏】数据库 SQL 入门——约束(内附演示)

文章目录&#x1f4da;引言&#x1f4d6;约束&#x1f4d1;非空约束&#x1f4d1;唯一约束&#x1f4d1;主键约束&#x1f4d1;默认约束&#x1f4d1;检查约束&#x1f4d1;外键约束&#x1f516;外键的添加&#x1f516;删除/更新外键&#x1f4cd;总结&#x1f4da;引言 &…

【高危】Apache Linkis Gateway模块存在身份验证绕过漏洞(CVE-2023-27987)

漏洞描述 Apache Linkis 是一个用于将上层应用与底层数据引擎解耦&#xff0c;提供标准化接口的中间件。Gateway 是 Linkis 接受客户端和外部请求的主要入口点&#xff0c; 在 Apache Linkis 受影响版本中&#xff0c;由于在 Linkis Gateway 部署时产生的Token默认为LINKIS_C…

Linux打印口/LPT口出厂测试工具与使用说明

1 软件功能 该软件用于在Linux平台测试CH35X/CH38X&#xff08;PCI/PCIe转串并口&#xff09;的并口各引脚功能是否正常。方便对设备进行出厂测试。 2 并口测试硬件治具 在测试前&#xff0c;需要制作单独的硬件治具&#xff0c;按下表连接信号线&#xff1a; 25针并口座子堵…

面向削峰填谷的电动汽车多目标优化调度策略

说明书 MATLAB代码&#xff1a;面向削峰填谷的电动汽车多目标优化调度策略 关键词&#xff1a;电动汽车 削峰填谷 多目标 充放电优化 参考文档&#xff1a;店主自己整理的说明文档&#xff0c;公式、约束、数据齐全&#xff0c;可联系我查看 仿真平台&#xff1a;MATLAB YA…

iPhone如何不用iTunes将视频传输到电脑上?

随着智能手机的普及&#xff0c;iPhone已经成为了人们生活中必不可少的一部分。而随着iPhone摄像功能的逐渐完善&#xff0c;越来越多的用户开始将iPhone作为拍摄视频的工具。 但是&#xff0c;将iPhone中的视频传输到电脑并进行后续编辑处理或者备份储存&#xff0c;对于许多…

二极管专题:二极管钳位电路

二极管钳位电路 之前我们说过二极管的限幅功能 二极管专题&#xff1a;限幅电路。今天说的二极管的钳位电路和二极管的限幅电路都是利用了二极管正向压降一定的这么一个特点。限幅电路和钳位电路你说区别大呢&#xff0c;它也不大&#xff0c;说小呢也不小。就看你怎么理解了&…

Linux proc文件系统介绍

Linux proc文件系统 /proc/cmdline Arguments passed to the Linux kernel at boot time. Often done via a boot manager such as lilo(8) or grub(8) proc/[pid]/coredump_filter Since kernel 2.6.23, the Linux-specific /proc/PID/coredump_filter file can be used …

大数据项目实战之数据仓库:电商数据仓库系统——第6章 数据仓库环境准备

第6章 数据仓库环境准备 6.1 数据仓库运行环境 6.1.1 Hive环境搭建 1&#xff09;Hive引擎简介 Hive引擎包括&#xff1a;默认MR、Tez、Spark。 Hive on Spark&#xff1a;Hive既作为存储元数据又负责SQL的解析优化&#xff0c;语法是HQL语法&#xff0c;执行引擎变成了Sp…

【收藏】2023欧洲 KubeCon 和云原生大会上关于WebAssembly的一切

KubeCon CloudNativeCon EU 2023将于4月18日至21日在阿姆斯特丹举行&#xff0c;对于云原生开发者和云原生用户是一年中无比期待的大会。会议为期四天&#xff0c;是保持云原生计算最新趋势&#xff0c;与同行建立联系&#xff0c;并从行业专家学习的绝佳机会。此外&#xff0…

2023年税务师事务所行业研究报告

第一章 行业发展概况 1.1 行业概况 税务师事务所是依法设立并承办法律、法规、规章规定的涉税服务和鉴证业务的社会中介机构。税务师事务所的组织形式为有限责任制税务师事务所和合伙制税务师事务所&#xff0c;以及国家税务总局规定的其他形式。税务师事务所应当依法纳税&am…

软件测试实验:静态测试

目录 前言 一、实验目的 二、实验内容 三、实验步骤 四、实验过程 1、学生宿舍管理系统代码 2、汇总表 3、C语言编码规范 总结 前言 软件测试是软件开发过程中不可或缺的一个环节&#xff0c;它可以保证软件的质量和功能&#xff0c;提高用户的满意度和信任度。软件测…

通信工程有哪些SCI期刊推荐? - 易智编译EaseEditing

以下是通信工程领域的一些SCI期刊推荐&#xff1a; IEEE Transactions on Communications&#xff1a; 该期刊由IEEE出版&#xff0c;是通信工程领域的顶级期刊&#xff0c;涵盖了通信系统、信号处理、无线通信、光通信、网络通信、通信安全等方面的研究。 IEEE Journal on S…

如何使用公网远程访问jupyter notebook【cpolar内网穿透】

文章目录前言视频教程1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口5. 固定公网地址转载自远控源码文章&#xff1a;公网远程访问jupyter notebook【cpolar内网穿透】 前言 Jupyter Notebook&#…

【Redis】多级缓存

【Redis】多级缓存 文章目录【Redis】多级缓存1. 传统缓存的问题2. 多级缓存方案2.1 JVM进程缓存2.1.1 本地进程缓存2.1.2 Caffeine2.2 Nginx缓存2.2.1 准备工作2.2.21. 传统缓存的问题 传统的缓存策略一般是请求到达 tomcat 后&#xff0c;先查询redis&#xff0c;如果未命中…

微服务高级篇【3】之分布式缓存Redis集群

文章目录前言一 单机Redis存在的问题二 Redis的安装三 Redis持久化3.1 RDB持久化3.1.1 触发条件3.1.2 RDB原理3.1.3 小结3.2 AOF持久化3.2.1 AOF原理3.2.2 AOF配置3.2.3 AOF文件重写3.3 RDB与AOF对比四 Redis主从集群4.1 搭建主从架构4.2 搭建主从集群4.2.1 集群结构4.2.2 准备…