主控板wifi模块调通后接着调试蓝牙,经过两周的摸索,终于把蓝牙应用基本建立起来,下面记录下大概流程。

1、硬件管脚设置

static void uart4_init(int evm_id, int profile)
{
/* Configure Uart4*/
printk(KERN_ERR"====== BT(AP6212) init ========\n");
setup_pin_mux(uart4_pin_mux);

/* Init Broadcom bluetooth, added by MXH */
gpio_request_one(GPIO_TO_PIN(1, 26), GPIOF_OUT_INIT_LOW, "BT_RST");
gpio_export(GPIO_TO_PIN(1, 26), 0);
/* reset bt chip here */
gpio_set_value(GPIO_TO_PIN(1, 26), 0);
mdelay(100);
gpio_set_value(GPIO_TO_PIN(1, 26), 1);
/* wake BT Module assign */
gpio_request_one(GPIO_TO_PIN(1, 24), GPIOF_OUT_INIT_HIGH, "BT_WAKE");
gpio_export(GPIO_TO_PIN(1, 24), 0);
gpio_set_value(GPIO_TO_PIN(1, 24), 1);
mdelay(50);
/* assign wake respone signal */
gpio_request_one(GPIO_TO_PIN(1, 25), GPIOF_IN, "BT_HOST_WAKE");

/* temp for rts cts */
gpio_request_one(GPIO_TO_PIN(3, 0), GPIOF_OUT_INIT_LOW, "CTS");
gpio_export(GPIO_TO_PIN(3, 0), 0);
gpio_set_value(GPIO_TO_PIN(3, 0), 0);

gpio_request_one(GPIO_TO_PIN(0, 29), GPIOF_OUT_INIT_LOW, "RTS");
gpio_export(GPIO_TO_PIN(0, 29), 0);
gpio_set_value(GPIO_TO_PIN(0, 29), 0);

return;
}

2、移植蓝牙协议栈4.95

其中openobex1.5 在config.h定义 HAVE_BLUETOOTH后,无法成功编译,所有仍然采用openobex1.3版本。

协议栈移植参考《交叉编译 bluez-4.95 步骤及使用方法》http://blog.csdn.net/u011408697/article/details/44459239,

但glib库改用2.24.2,并增加了openobex1.3的移植。

3、调试过程见本人的《蓝牙调式记录-20170623.txt》

(原创)AP6212蓝牙模块在am335x控制板上的应用的更多相关文章

  1. Android4.42-Settings源代码分析之蓝牙模块Bluetooth(上)

    继上一篇Android系统源代码剖析(一)---Settings 接着来介绍一下设置中某个模块的源代码.本文依然是基于Android4.42源代码进行分析,分析一下蓝牙模块的实现.建议大致看一下关于S ...

  2. 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

    [Arduino]开发入门[十]蓝牙模块 首先show一下新入手的蓝牙模块 蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机 ...

  3. Android4.42-Settings源代码分析之蓝牙模块Bluetooth总体实现(总)

    本文为博主原创,转载请注明出处:http://blog.csdn.net/zrf1335348191/article/details/50995466 蓝牙相关代码已在另两篇文章中介绍,有须要的能够查 ...

  4. Arduino蓝牙模块实现通信

    蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有 ...

  5. HC系列蓝牙模块连接单片机与电脑,传输数据(蓝牙心电测试)

    毕设做无线心电监护.有线的做出来了,AD8232+MCU+LabVIEW上位机.pcb还没时间搞,这个9*7*2.5cm拿来测试能用. 自己做了AD8232的模拟前端,打的板子还没到没法测试. 虽然比 ...

  6. 【转】android蓝牙开发---与蓝牙模块进行通信--不错

    原文网址:http://www.cnblogs.com/wenjiang/p/3200138.html 近半个月来一直在搞android蓝牙这方面,主要是项目需要与蓝牙模块进行通信.开头的进展很顺利, ...

  7. Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯

    解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...

  8. [TPYBoard-Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi            欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板  一块 2 ...

  9. 物联网蓝牙模块:DA14586蓝牙5模块很快到来

    Dialog半导体的SmartBond系列的下一代产品---DA14586已经发布.该全新的系统级芯片(SoC)是公司首款支持最新蓝牙5.0规范的独立器件,为先进应用提供最低的功耗和无可比拟的功能. ...

随机推荐

  1. CentOS下安装JDK,Tomcat,Redis,Mysql,及项目发布

    上传文件到服务器,安装lrzsz , 可以将本地的文件上传到linux系统上. 如果是CentOS则可以用yum install lrzsz 命令安装,更方便. 或:yum -y install lr ...

  2. 20145201李子璇 《网络对抗》MSF基础应用

    实践报告 MS08_067漏洞渗透攻击 ms11_050漏洞攻击 Adobe漏洞攻击 辅助模块应用(auxiliary/scanner/portscan/tcp漏洞) MS08_067漏洞渗透攻击实践 ...

  3. VS中子对话框的关闭回调函数

    新建了QDialog的子类时,如果需要回调它的关闭函数 1.加入头文件#include <QCloseEvent> 2.重写函数 protected: void closeEvent(QC ...

  4. labview之连接MySQL数据库

    Labview之连接MySQL数据库 由于项目需要,在Labview开发中,需要使用MySQL数据库.这里介绍两种连接MySQL数据库的方式. 分别为使用Labsql工具包和Database Conn ...

  5. Spring Cloud OAuth2(一) 搭建授权服务

    概要 本文内容主要为spring cloud 授权服务的搭建,采用jwt认证. GitHub 地址:https://github.com/fp2952/spring-cloud-base/tree/m ...

  6. [BZOJ1877][SDOI2009]SuperGCD

    题目大意 求两个个高精度数的gcd 题目解析 在学习gcd的时候,书上就记载了"更相减损术"这一方法 基于这种方法,我们进行优化,使得我们能快速求出两个大数的gcd 对于 \(a, ...

  7. pycharm中查看快速帮助和python官方帮助文档

    把光标放在要查询的对象上,打开视图菜单,quick definition查看对象的定义,quick documentation 快速文档,这个是jet brains自己对python的解释文档,第三个 ...

  8. linux文件锁的应用,POSIX,unix标准,linux标准

    1. perl,flock加锁.java也能加锁. 2. 先创建文件并打开,才能加锁(写打开?). 3. 可以用于判断进程是否一直在运行(用另一进程判断),如果锁一直在,则进程在:锁不在,则原进程或意 ...

  9. CentOS环境Docker安装教程(官方推荐的docker三种方式安装)

    CentOS环境Docker安装教程(官方推荐的docker三种方式安装) 一.使用yum方式安装 1.安装依赖包 $ sudo yum install -y yum-utils device-map ...

  10. ResourceNotFound: rosbridge_server

    Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking ...