- 博客(31)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 蓝牙MAP处理
MAP如果本地打开所有通道,收到数据会没有问题,但是在下一次排帧对端会在约定好的心跳修改MAP通道,造成发送失败,所以需要本地进行更新,RX中断后拿到,在排帧前更新保证通道一致。目前开发保活排帧除了空包需要处理之外,还需处理LL的跳频,才能实现保活持续。37个通道5个字节,加一个event_count。
2022-11-25 17:16:23
772
原创 蓝牙基带的基础
一般蓝牙芯片内部有个大于1M的RTC外面再贴一个32.768k(容易获取1hz)的。1/32k = 31.25us 再来个10分频 就有一个312.5us的计数器。在基带上写的各种协议代码,蓝牙的时间戳在里面表示都是按照半个slot来玩的。evt_cnt也是按照半slot来叠加,剩下TUS就是按照0.5us来计数。玩无线通信最基础的是时间戳,除了编解码,传输的时间戳就是核心。所以TS*625+TUS 可以表示蓝牙的任何一个时间点。比如8M的,那4分频,就有一个0.5us的计数器。
2022-11-25 17:04:45
732
原创 蓝牙流程(aidl)
说说aidl百度百科复制一波什么是AIDL编辑?Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言(Interface Definition Language,IDL)来公开服务的接口。我们知道4个Android应用程序组件中的3
2021-08-26 15:36:22
599
2
原创 vim工具
说说工具前段时间去玩WOTA了,都没想写什么东西,漫展拍vlog有点腻了,好想和KAGAYA那样去拍各种星图。https://twitter.com/KAGAYA_11949/status/1425799770266767360?s=09得入手几张KAGAYA的图,美到不行,我可以说一年,加上纯音乐,组长,我可以起飞!工具工具工具,咋玩,工欲善其事必先利其器葛,还是咋个说有了工具又能咋样,会不会让你觉得自己很有意思,最终还不是要分析记录才有用?是不是一眼望过去都在用vscode,so
2021-08-13 13:07:55
392
原创 安卓蓝牙启动(第四篇)
打开蓝牙就是把按钮拔过去,最简单的理解就是上电linux蓝牙上电直接echo 0 > /sys/class/rfkill/rfkill0/statesleep 2echo 1 > /sys/class/rfkill/rfkill0/statesleep 2这样就可以android的咋个说还是在start_up上面...
2019-08-16 10:21:40
1451
1
原创 安卓蓝牙启动(第三篇)
接第二篇,start_up到最后都是要以文件以目录为思考,不用跳来跳去找先是hci_layer.c这里直接就进来vendor了,我们先分析一下结构vendor_t不是最终的接口,要找一下,通过vendor_get_interface去拿,在哪里接口是在这里的,所以hci_layer.c调用的是 vendor.c的vendor...
2019-08-15 17:02:18
2316
1
原创 安卓蓝牙启动(第二篇)
接第一篇从JNI enable蓝牙,到哪里来着,尼玛好像是那个enableNative上图就是bluetooth app 加载JNI的地方各个模块我们主要看看 android::register_com_android_bluetooth_btservice_AdapterService上图就是bluetooth app 加载JNI的接口,将sMethod...
2019-08-12 18:30:40
3245
1
原创 安卓蓝牙启动(第一篇)
了解一下android的蓝牙setting app(按钮操作) ->framkwork (binder)->bluetooth appservice (JNI_OnLoad)-> native (dlopen)->default.so(dlopen) -> vendor.so -> dev整个过程的核心在default.so,蓝牙协...
2019-08-12 01:07:04
2030
1
原创 以太网
以太网是802.3的封包,其实去掉物理层网络层传输层的那层皮,不管是80几的,到了应用层一样是http ftp scp rtmp mqtt。。。。各种上层问题基本无,有也是应用的问题,目前的IPC基本都是socket,很少用dbus,上层去看看了我其实主要是看搭载上的,是的。。能用就行以太网不通,以太网传的慢,概率性掉比较多主要有主控的MAC 和PHY芯片的问题,因为真他妈...
2019-06-13 15:19:59
2762
原创 device tree
最近在搞wota艺,虽然不如岛国那么有底蕴,但是更疯狂,我不知道该怎么说,说啥好。。。1、随便说一下我有一种感觉就是配置表。。。废话,如果比较暴力一点的调试直接用 io 指令,你们配完没有,一个指令也可以完成io -4 -w 0xff7b0004 0x00ff000f 。。。类似这种,这就是一种方法,一种方法最常使用的是引脚,也有其它各种寄存器按照probe的最先加载的一次...
2019-05-08 18:07:26
314
原创 BLE中篇
哇。。。。好多UUID呀,好多。。。 "1800": "Generic Access Profile", "1801": "Generic Attribute Profile", "1802": "Immediate Alert", "1803": "Link Loss", "1804": "Tx Power", "1805": "Curr...
2019-03-22 02:58:13
582
原创 BLE上篇
最近帮朝歌看了一下连接问题,实际说一下BLE的连接我们都知道BLE是发空包保持连接的,和Mesh不一样,发的广播是connectable 的广播包,就是可以连接的搞BLE的话,调试比较常用nrf connect会看到发现了很多设备为什么,因为你下拉扫描的时候,nrf connect会找到广播包,然后发scan req 收到scan response...
2019-03-21 02:01:07
1144
原创 HFP看看
我。。。。HFP是啥东西,是啥东西。。我也不知道咋不能只是说这个东西是啥,应该说一下应用场景好比小明有一个手机(HFP上叫做AG)和一个手机蓝牙连上的耳机(HFP上叫做HF) 连上然后十四哥用手机打小明手机。。。小明在蓝牙耳机上接听电话,就是HFP使用的场景如果这个时候铁柱也用手机打小明手机,小明在蓝牙耳机上选择接铁柱电话挂掉十四哥电话,就是HFP上的三...
2019-03-16 01:49:06
1769
原创 蓝牙比较常分析的东西
通信,就是我问你答,你问我答,就是这么一个过程。不用想的那么复杂那么,通信往往出问题了,是原因呢1、我问你不答2、我问你答的很慢3、我问的很慢4、我问你答的不对往往表现就是通信速度变慢,通信中断A、蓝牙最常分析为首的就是重传重传针对 上面1、2 、4的问题,重传就是意味着通信出现问题了,比较轻的重传我们可以忽略,比较重的重传那就是一件很麻烦的事情,因为看...
2019-03-07 03:03:05
828
原创 说一说蓝牙core spec
目前看spec是没有中文版的,都是英文 经典蓝牙和BLE你可以把它们区分成为两个不同的设备,但是使用同一条天线,物理地址也不同,手机扫描的话也是两个设备 看spec可以看两部分charts,就是连接的图表,这个两部分charts,可以代表core spec了 主要分成两部分,其一是经典蓝牙,其二是BLE第一是经典蓝牙的Vol2 part F Message ...
2018-12-22 15:53:06
2906
3
原创 说一说蓝牙
家贫,无从致书以观,天大寒,砚冰坚,手指不得屈伸,我已经穷成狗其实所有的蓝牙设备都是这样的,有些MCU直接集成进去了,比如TI和nordic的,一般手机或者大一点的设备都是分开来的,用串口即HCI传输层传输数据,就算是USB驱动也离不开HCI的传输层。反正你就理解为串口控制。controller才是蓝牙模组那一端有天线的,跑freertos之类的系统的,host端一般都是MCU主控或...
2018-10-29 01:07:17
640
原创 git 闪退
git 闪退,卧槽,点击一下就退出来,日了狗了,。fuck,最近本来就很烦,国庆倒计时还3天,上班一天都要死! 我在网上找了一下方法://------------------------------------------------------------------------------------------// 如C:\Program Files\Git\us...
2018-09-26 15:56:01
658
原创 C语言我喜欢这样写
难呐,活着真难,这个世界什么时候结束,看到那些说喜欢学习的人我就很想打他们,痴线是不是读书不如抄代码,抄代码不如吃喝玩乐妈妈总说,要有梦想,阿搭西の梦想就是吃着火锅唱着歌,天天躺着,还有很多钱拿。 是不是很厉害,伟大的梦想。C语言,C语言, C语言。。。。阿搭西喜欢这样写,模块句柄 -> 主进程in
2017-11-16 18:34:34
429
1
原创 最近玩了一下nordic
我最近比较虚,新番又很少,玩个王者用李白买红叉快电刀打推进各种赢还经常被人举报,要不是我偷塔他们能赢?这是个推塔的游戏好不好最近玩了一下nordic , 我随便bb。刚开车的人一般都是选开发板的,淘宝上买一个,资源有的是,带资料,小公司开发几个蓝牙产品没有问题,震动棒之类的。。我发现可以一开始就去自己打板,PACK和各种工具都是开源的,github上面都
2017-10-31 16:16:57
1049
2
原创 ubuntu14.04 samba没有权限访问解决
直接上文件 /etc/samba/smb.conf , 配置好这个就可以了 , 用户和share都可以访问,## Sample configuration file for the Samba suite for Debian GNU/Linux.### This is the main Samba configuration file. You should
2017-07-27 11:08:34
3479
原创 写了一个pca9633的iic驱动
----------------------------------------------------------------------------------------#include #include #include #include #include #include #include #include #include #incl
2017-07-24 18:40:23
1897
1
原创 按键驱动-RK3128
目前的情况是这样, 自己在外设上面 搞了四个按键 ,充当遥控器的 音量加 音量减 还有 灯光亮 灯光暗 这4个功能,按照最简单的方法就是, 弄4个IO出来, 可以自己写一个驱动文件,一个一个获取引脚,然后设置成为中断引脚,然后关联中断函数,设置一个定时器函数在中断函数的下半部进行消抖,一般是10ms。 在定时器中断函数调用输入子系统的接口函数,这样很简单就可以实现
2017-07-11 16:21:30
2006
1
原创 LCD驱动快速调试
LCD就是一个一个的点嘛,每个点有分16bit 24bit 32bit 一般都8 : 8 : 8 的红绿蓝 基本原理就是这样,一个一个的点。一个LCD的图就是这样一般换屏调的比较多的是Timing,就是上面的那个图,调什么呢,就是调 “打点”。打点不能太快,也不能太慢!看上面那个图,left_margin Right marg
2017-06-15 21:25:41
1138
1
原创 驱动添加设备节点/sys/class/
现在我有一个驱动文件xxx.c 编译加载后可以在 /dev/ 看到已经加载ok ,现在想要添加 sys/class/ 的设备节点 ,就是想做这件事情而已假如 现在需要添加一个 gpio节点,配置gpio_control的属性文件接口比如 echo 1 > /sys/class/gpio/gpio_control 可以设置某个io高电平 。。。#include
2017-06-05 12:22:36
4102
原创 Recover后升级失败,unknown volume for path
有个三星的平台,发现Finding update package...I:Update location: /sdcard/update.zipOpening update package...E:unknown volume for path [/sdcard/update.zip]sysutil: Unable to open '/sdcard/update
2017-05-11 17:02:54
5210
原创 搭载repo服务器
说起搭载repo服务器,眼泪都掉了下来。本当に問題ないですか我手写了470个仓库,关键我sed指令已经用的不能再智能了开发安卓产品是需要一份android源码,一般都原厂给你,像华为, mtk,realtek,rk等公司,一般叫你搭载镜像服务器,但是,这个repo是指到人家家里面的,你不可能跑到人家家里去开发,所以一般都是repo start newbranch --all
2017-04-25 15:15:09
384
原创 git 快速使用
妈妈,现在我在一个工作目录,里面有.git目录和一个A文件,修改完A文件后,我想把A文件push 上去,做一个正常的程序员,妈妈从厨房哭到厕所1、git branch -a(看有多少个分支) remotes/m/android-7.0.0-b/trunk-7.0 -> origin/trunk-7.0 remotes/origin/AskeyBranch-20160615
2017-04-06 17:31:49
455
原创 DM-verity
key有多种我只取一把,像我们老大就是多把key排列组合,不行,不能泄密,感觉6.0刚换block-based现在7.0又来update engine,事情多的一匹之前file-based的方式是mount起来/system,然后modify掉,现在不用mount了 block-based 直接对system分区的device进行烧写,我们的system的device是mmcblk0p
2017-03-18 18:26:22
3552
ADK4.1 CSR8670
2018-08-14
PID算法(本人自写可用平衡车)
2015-02-17
PID算法(本人自写验证可用平衡车)
2015-02-17
卡尔曼滤波(我亲测可以用)
2015-02-17
我想自己做一块armA8的开发板做毕业设计,不知有什么好的方案
2014-12-14
linux的内核架构是谁添加的 ?
2014-12-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人