首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Android的蓝牙芯片编程

基于Android的蓝牙芯片编程
EN

Stack Overflow用户
提问于 2018-03-20 10:16:24
回答 1查看 246关注 0票数 0

我正试图在AOSP中创建一个应用程序(c/cpp),它允许我向我的Android开发板上的CSR8510蓝牙芯片发送自定义命令。我从蓝色的源代码中发现,用于执行这些操作的函数是btu_hcif_send_cmd,并且这个函数可以在bluetooth.default.so库中使用。我尝试将bluetooth.default.so库链接到我的应用程序,该应用程序使用了bluetooth.default.so和osi_malloc函数。下面是我使用的代码片段。

代码语言:javascript
复制
uint8_t controllerID = LOCAL_BR_EDR_CONTROLLER_ID;
size_t cmdSize = HCI_CMD_BUF_SIZE;

cmdPacket = (BT_HDR*)osi_malloc(cmdSize);

cmdPacket->event = 0;
cmdPacket->offset = 0;
cmdPacket->layer_specific = 0;
cmdPacket->len = HCIC_PREAMBLE_SIZE; /*! RESET Command doesn't have any parameters */
cmdStream = cmdPacket->data;

 UINT16_TO_STREAM(cmdStream, HCI_RESET);
 UINT8_TO_STREAM(cmdStream, 0);  /*! RESET Command doesn't have any parameters */     
      btu_hcif_send_cmd(controllerID, cmdPacket);

但是,当我试图在AOSP构建中编译应用程序时,我仍然会得到以下未定义的引用错误。

代码语言:javascript
复制
error: undefined reference to 'osi_malloc(unsigned int)'
error: undefined reference to 'btu_hcif_send_cmd(unsigned char, BT_HDR*)'

请有人告诉我,如果我这样做是正确的,如果没有,如何做好我想要实现的?

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 04:54:06

向Android.mk添加以下行

代码语言:javascript
复制
LOCAL_SHARED_LIBRARIES := libbt-stack libosi

但是,很可能会出现更多的链接错误。研究/system/bt中的makefile将有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49381509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档