- 博客(86)
- 资源 (12)
- 收藏
- 关注
转载 ABI/EABI简介
EABI(Application Binary Interface)或EABI(Extend ABI)通常是处理器体系结构的一部分,它与平台是紧密相连的。我们可以把ABI理解为一套规则,这套规则一般包括定义了以下内容:1) 应用程序如何发出系统调用来trap到内核态。2) 如何使用机器的寄存器。比如,RISC处理器的ABI就要规定用那个通用寄存器来作 stack pointer和frame pointer。3) 规定如何进行procedure call。......
2022-07-04 16:28:14
1652
转载 VSCode GCC C++ 编译环境配置
Using GCC with MinGWIn this tutorial, you configure Visual Studio Code to use the GCC C++ compiler (g++) and GDB debugger frommingw-w64to create programs that run on Windows.After configuring VS Code, you will compile and debug a simple Hello World p..
2022-03-15 09:56:52
3174
转载 Python的@装饰器是干什么用的?
我们在编程过程中,常常会遇到这种需求:比如,我想开发一款计算器,我已经写好了一堆函数,用于执行各种计算,那么我们需要在执行各种计算函数前,首先对输入的数据进行检查,确保他们必须得是数值才允许执行函数,而不能是字符串;又如,我想编写一个用于计算三角形周长、面积、某个角角度的模块,已经写好几个函数用于计算,那么,在执行计算前,首先要确保输入的三条边长能够构成三角形,再进行计算才有意义;再比如,我想开发某款网络应用,写了一些函数用于实现用户的某些操作,那么,得要先检查确认该用户已经登录了,才允许执行这
2022-01-05 10:29:11
198
转载 Windows 10 Ubuntu samba共享文件配置
1. 按照ubuntu中的步骤,修改smb.conf文件,加入下列配置,并保存。[Work] comment = share work dir path = /home/sky/Work valid users = sky read only = no create mask = 0777 directory mask = 0777 writable = yes 2. 使用用户 david 在 /home/sky下面创建可写的Work目录m...
2021-12-30 10:17:57
798
转载 gerrit - first commit
最近公司有新项目,已经让领导帮我把clone和push的权限都开通了,但是在push的时候还是提交失败,错误信息如下:$ git push origin masterCounting objects: 26, done.Delta compression using up to 4 threads.Compressing objects: 100% (26/26), done.Writing objects: 100% (26/26), 4.28 KiB | 257.00 KiB/s,
2021-11-25 09:49:04
2391
1
转载 sourceinsight代码路径变更项目工程不用重建的方法
在使用sourceinsight的时候会遇到这样的情况,项目非常的大比如linux kernel, 重建一个sourceinsight工程需要手动的去添加很多文件,很麻烦。比如在服务器的某个目录下创建了sourceinsight项目工程,但是有天服务器的地址变了,代码路径也发生变化。这时候再打开sourceinsight工程就会报找不到代码文件。但是我又不想重新创建sourceinsight工程怎么办呢?这样的情况还是有办法解决的。比如你原来的项目在 A目录下,现在变更到B目录。步骤1: 先打开so
2021-11-17 16:47:22
1547
转载 Linux常用命令
MacOS和Linux都是基于Unix系统,二者在命令上基本都是通用的,今给大家介绍一下自己平时常用的16条Linux命令。命令1:pwdpwd显示当前的工作路径,查看位置所在。Peter提醒你:时刻都要搞清楚自己的位置!命令2:lsls命令十分常用,ls指的是list,查看文件或者目录的命令。添加参数后常用为: ls :查看目录中全部的文件 ls -l :显示文件和目录中的全部信息 ls -a :列出全部文件,包含隐藏文件,其中a表示为all l
2021-10-29 10:16:37
240
原创 SPP连接流程
SPP服务注册Server Channel即RFCOMM Server Channel, 表示上层profile的rfcomm channel。Central设备会使用SDP查询SPP的Server Channel, 在后面使用RFCOMM建立连接的时候就需要使用该Server Channel发起连接。ACL连接建立SPP仅使用在ACL链路,不支持Connectionless Channel. 所有RFCOMM流程和SPP流程仅发生在ACL链路建立之后。SDP查询ACL连接建立后,Ce..
2021-09-30 18:11:23
2275
1
转载 POSIX、Cygwin、MSYS、MSYS2、MinGW、MinGW-w64的区别
对于习惯了Linux上GCC编译器的朋友来说,总想在Windows上复制他们的经验,于是出现了各种方法将GCC编译器移植到Windows上的方法,那么哪种方法更好一些呢?这些方法之间又有什么联系呢?POSIXPOSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX),POSIX 标准定义了操作系统应该为应用程序提供的接口标准,是 IEEE 为要在各种 UNIX 操作系统上运行的软件而定义的一系列 API 标准的总称,其
2021-09-26 15:45:42
7462
1
原创 BTSnoop 文件格式
概述BTSnoop 文件格式适用于存储蓝牙 HCI 数据流。 它与 RFC 1761 中记录的 snoop 格式非常相似。文件格式snoop 数据包捕获文件是一个八位字节数组,结构如下:文件头(File Header)是一个固定长度的字段,包含有关数据包文件的一般信息及其包含的数据包记录(Packet Record)的格式。 文件头之后是一个或多个可变长度的数据包记录(Packet Record)字段。 每个数据包记录(Packet Record)字段保存一个捕获数据包的数据。文件头
2021-09-18 13:51:23
1451
转载 蓝牙HID无线触摸屏
写在前面主机:Android 5.0+ 内核3.4从机:SensorTile原理解析HID事件到Android屏幕上经历了如下过程:HID => linux kernel input子系统 => Android input子系统HID是标准的输入协议,对于不同的操作系统而言,也有自己的input子系统。Android层要求以Android为例,如果要想让Android系统认为一个输入设备是一个触摸屏,需要该内核设备上报:// 对于单点触控而言ABS_X A
2021-09-09 10:26:29
5020
2
转载 AD的单端输入和差分输入区别
单端输入,输入信号均以共同的地线为基准。如图所示,单端输入只有一个输入引脚ADCIN,使用公共地GND作为电路的返回端,ADC的采样值=ADCIN电压-GND的电压(0V)。这种输入方式优点就是简单,缺点是如果vin受到干扰,由于GND电位始终是0V,所以最终ADC的采样值也会随着干扰而变化。而差分输入比单端输入多了一根线,最终的ADC采样值=(ADCIN电压)-(ADCIN-电压),由于通常这两根差分线会布在一起,所以他们受到的干扰是差不多的,输入共模干扰,在输入ADC时会被减掉,从而降低了干..
2021-07-12 14:02:30
6533
2
转载 Linein和Micin的区别
我们的电脑声卡上,一般都会有Line in和Mic in两个接口,翻译成中文就是“线性输入”和“麦克风输入”,这两个都是输入端口,但是还是有区别的:1、Line in端口:该端口主要用于连接电吉他、电子琴、合成器等外界设备的音频信号输出的录音,由于这些设备本身输出功率就比较大,因此需要连接到Line in端口录音,当然使用它们录音从某种程度上也可以被称为外部设备的“内录”。一般您使用的声卡越好,Line in里的噪音就会越低,录制效果也会比较好。2、Mic in端口:这要是连接麦克风录音使用的。但是
2021-07-12 10:15:42
10915
转载 Bluetooth Packet Structure
Bluetooth Packet StructureThe Bluetooth®Special Interest Group (SIG)[1]and[2]defines different packet structures for Bluetooth low energy (BLE) and Bluetooth basic rate/enhanced data rate (BR/EDR) devices.BLE Packet StructureBit Ordering in BLE ...
2021-05-17 17:31:23
1060
转载 深入理解FIFO(包含有FIFO深度的解释)
FIFO: 先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。 1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址...
2021-05-17 11:00:01
15409
转载 Bluetooth Class of Device/Service (CoD) And Access codes
转自:https://www.bluetooth.com/specifications/assigned-numbers/baseband/Assigned Numbers for BasebandAssigned numbers for Baseband identifies the Inquiry Access codes and Class of Device/Service (CoD) fields.The General- and Device-specific Inquiry Acc
2021-05-14 16:01:48
1068
转载 PTA是什么?BT-WIFI共存
蓝牙和WIFI共存设计 蓝牙和802.11b/g/n都可能工作在2.4GISM,可能互相干扰。干扰的典型应用之一是VOIP,用手机的WLAN打VOIP电话,用蓝牙耳机来通话。互相干扰的后果是用户能感觉到通话质量的下降。 设计上有些方法能够减少相互干扰,尽量维持蓝牙和wifi的throughput,使得用户的使用体验不受影响。方法主要是AFH和分时。 是否存在相互干扰和相互干扰是否严重受以下条件影响: 1.共用天线还是单独用自己天线 2.干扰是噪音还是阻塞 3.蓝牙通信频率是否落在wi
2021-05-12 18:15:17
8605
转载 频偏计算方式
1.频偏表示与中心频率的偏差值,一般是以ppm作为单位来描述的,ppm是百万分之一的意思也就是10^-6,2.如何计算频偏假如我们有一个晶振,它的频率标值是12MHZ,但是我们测试到的是11.99998MHZ。那么Foffset=12-11.99998=0.00002MHZ。ppm=(0.00002/12)*10^6=1.67。3.一般在选中晶振的时候选中精度相对好点的。类似STM32这样的芯片其实ppm<30的时候基本可以接受。原文链接:https://blog.c...
2021-04-28 14:00:51
8965
原创 -bash: ./build.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
今天在编译新项目SDK的时候碰到这个问题,特此记录一下。首先我在windows系统里面下载的代码,我尝试在windows下面运行build.sh没什么问题,但由于工具链是linux的,我就把代码拷贝到linux下编译就出现了这个错误。问题原因在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。Git提供了一个“换行符自动转换”功能。在下载和提交代码的时候,它会自动将换行符进行转换,
2021-04-27 14:22:24
918
转载 Git 多台电脑共用SSH Key
有时为了方便我们不想重新生成一个ssh key再放到github上,或者有时候我们想家里的电脑和公司的电脑都能下载同一个仓库的代码,那么我们就要在不同设备上共有一个ssh key。转自: https://my.oschina.net/sfshine/blog/1820115好了,下面一步一步来实现SSH Public/Private Key的在多台电脑中的共用:1.首先我们给旧的MBP起名叫OLD, 新的叫NEW,方面后面区分2.拷贝OLD上的id_rsa和id_rsa.pub到云端/U盘/邮箱/…
2021-04-27 11:37:04
15311
1
原创 Git查看和修改用户名
一、查看用户名$ git config user.name$ git config user.email二、修改用户名$ git config --global user.name "xxxx" $ git config --global user.email "xxxx"
2021-04-27 11:19:37
1269
原创 ISO 639:1988 : Code for the representation of names of languages
ISO 639:1988 : Code for the representation of names of languagesLanguageISO-639 Language CodeAlbaniansqAmharicamArabicarAfaraaArmenianhyAymaraayAssameseasAzerbaijaniazBashkirbaBasqueeuBengali (Bangla)bn
2021-04-16 11:08:09
232
原创 像素和内存的关系
一、公式像素所占内存 = 分辨率x像素深度二、 举例:1) 一幅彩色图像的分辨率是1024x768,每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24。所以该图片所占用的内存为:1024x768x3 byte。2)一个OLCD的显示屏像素为128x64, 像素深度是1bit, 完整的一屏需要的数据为128x64x1 bit。...
2021-03-18 09:15:05
11056
转载 HCI 接口
HCI InterfaceThe communication between a Host (a computer or an MCU) and a Host Controller (the actual Bluetooth chipset) follows the Host Controller Interface (HCI), see {@fig:HostChipsetConnection}. HCI defines how commands, events, asynchronous and sy
2021-02-18 14:24:05
1108
转载 Android C++的sp<>指针简介
智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数,所以为了实现内存( 动态存储区) 的安全回收,必须对指针进行一层封装,而这个封装就是智能指针,c++的智能指针有很多实现方式,有auto_ptr , unique_ptr , shared_ptr 三种,还有其他的。android 中的sp 句柄类实际上就是google 实现的一种强引用的智能指针, 是一个模板类。Android 中封装了sp<> 强指针,wp<>弱指针的操作。
2021-01-13 17:19:16
3157
原创 Android Bluetooth蓝牙名称和地址修改测试
根据前面的两篇文章,我们就来尝试一下对android蓝牙名称和地址进行修改。一、 蓝牙地址:添加属性ro.bt.bdaddr_path及对应的配置文件,修改蓝牙地址为public类型。1.修改 android/device/actions/s700_cb7/system.prop ,添加ro.bt.bdaddr_path属性。#hdmi config ro.hdmi.onoffmode=auto# add by zdxro.bt.bdaddr_path=/etc/bluetooth/bt_ad
2021-01-07 11:54:57
2999
原创 Android Bluetooth蓝牙设备地址修改
Android Bluetooth蓝牙设备地址修改读取蓝牙设备地址在蓝牙初始化的时候获取:bt_status_t btif_init_bluetooth(){ /* As part of the init, fetch the local BD ADDR */ memset(&btif_local_bd_addr, 0, sizeof(bt_bdaddr_t)); btif_fetch_local_bdaddr(&btif_local_bd_addr);}
2021-01-05 17:09:24
5440
1
原创 Android Bluetooth蓝牙名称修改
一、蓝牙名称获取AdapterService.java (packages\apps\bluetooth\src\com\android\bluetooth\btservice) static final int BT_PROPERTY_BDNAME = 0x01; static final int BT_PROPERTY_BDADDR = 0x02; public void onCreate() { getAdapterPropertyNative(Abstrac
2021-01-05 10:54:55
3028
翻译 LE Audio规范概述
一、LE Audio架构二、定义LE Audio的蓝牙规范SpecificationDescriptionBluetooth Core Specification蓝牙核心规范于2019年12月得到增强,以支持通过蓝牙LE传输音频,包括新的LE同步通道(Isochronous Channels)功能。LC3: Low Complexity Communications Codec2020年9月发布的新规范定义了高质量,低功耗的音频编解码器。Generic Audio
2020-12-31 11:56:40
5839
原创 Git操作记录
错误: Permissions 0666 for ‘/home/local/zdx/.ssh/id_rsa’ are too open.Permissions 0666 for ‘/home/local/zdx/.ssh/id_rsa’ are too open.It is required that your private key files are NOT accessible by others.This private key will be ignored.bad permissions
2020-12-28 10:46:27
282
转载 Android 蓝牙Hid开发
Demo下载:http://www.demodashi.com/demo/13891.html最近客户需求,android系统的一个设备,想连接一个扫描枪(类似蓝牙键盘,只支持hid协议),并且可以收到其数据,填写到输入框中。我这里借了一个蓝牙鼠标,用来与android设备连接。1 Hid简介HID设备(Hunman Interface Device Profile),即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等。一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备。在蓝牙技术中,HI
2020-12-25 14:38:20
6254
2
原创 Android GATT Discover过程抓包
Android GATT Discover 过程抓包Tool: Frontline BPA600Sniffer packets:Frame# Role Opcode Handle UUID Database Error code Frame size Delta TimeStamp
2020-12-18 16:16:43
494
2
Introducing-Bluetooth-LE-Audio-book
2022-02-08
ETSI TS 07.10.pdf
2021-04-16
Device Class Definition for HID 1.11
2019-02-11
蓝牙Mesh技术白皮书
2018-06-04
Bluetooth Low Energy The Developers Handbook
2018-05-13
最新版HID Descriptor Tool
2018-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人