自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑吧 android 的博客

学习和总结

  • 博客(165)
  • 收藏
  • 关注

原创 【WonderTrader源码详解】【写作大纲】

WonderTrader是一个基于C++的高性能量化交易框架,支持全市场品种交易,具备专业机构级架构和数十亿级实盘管理能力。该框架覆盖数据清洗、回测分析、实盘交易等全流程,通过wtpy应用层实现易用的一站式解决方案。最新0.9版本引入UFT引擎,系统延迟优化至175纳秒以内。文章将首先介绍Anaconda安装和WonderTrader编译等环境搭建步骤。

2025-08-13 21:19:21 487

原创 【车载 AOSP 蓝牙(bluedroid) 协议分析】【整体计划】

controller: 蓝牙模组host: android 上层协议栈蓝牙模组 通过uart/spi/sdio 等接口,将数据传递给 host 侧。那host 如何解析controller 的数据。是通过 hci 规定的协议。双方才能正常交流。hci 层将数据解析完成后,会根据对应的分类,将数据继续上报给更高层次的协议。例如 两个设备 连接完成后,建立acl 通道。但是此时 两个设备之间 不知道彼此支持那些功能。

2025-03-27 14:37:10 3309 3

原创 【1999】【port 02】

摘要:早期互联网商业主要聚焦消费者市场,后来企业间交易逐渐兴起,因商家更清楚自身需求。然而,许多企业对网络可靠性存疑,仅与信任伙伴开展在线交易。网络营销策略从"拉客"转向"推送"技术,但强推信息引发用户反感。成功的电商证明,结合交互性、服务与安全性的网站能吸引客户。计算成本持续下降为线上商业创造了有利条件。

2025-12-08 21:42:36 720

原创 【vscode】【远程 ssh 开发】【环境搭建】

本文介绍了通过VSCode配置SSH远程连接的完整流程。首先需要在远程主机安装openssh-server,本地安装必要工具和VSCode的Remote-SSH插件。然后测试SSH通路,提供了两种方式:自动登录脚本和SSH密钥认证(包括密钥生成、传输和授权)。最后详细说明了VSCode的配置步骤,包括编辑SSH配置文件、建立连接以及添加远程代码路径到工作区。通过这套流程,开发者可以方便地使用VSCode远程开发和阅读代码。

2025-12-05 15:00:54 347

原创 【车载 AOSP 蓝牙(bluedroid) 协议分析 14】【HFP详解 3】【hfp_client 协议连接时序及其状态机切换详解】

本文分析了AOSP中HFP客户端协议栈的状态机切换机制,重点探讨了车载平台与手机建立HFP连接时的流程。文章首先阐述了状态机在HFP协议中的核心作用,包括规范连接生命周期、定位异常行为等。随后通过源码分析,详细说明了从应用层发起连接请求到系统服务处理的完整链路,包括BluetoothDevice接口调用、AdapterService协调以及HeadsetClientService创建状态机的过程。研究状态机切换机制有助于解决车载蓝牙的稳定性问题,但也存在学习成本高、潜在竞态条件等挑战。该分析为定制化开发和故

2025-12-04 16:53:41 60

原创 【考研英语】【商志】【商业经济类】【第一篇】【2004 Text 3】

商志,考研英语

2025-12-01 23:13:30 1111

原创 【数据结构】【单链表】【循环链表】【双链表】【二叉树】【图】

单链表、循环链表和双链表的比较 单链表:每个节点只存储下一个节点的指针,插入删除快但查找慢,适合简单线性数据存储。 循环链表:尾节点指向头节点形成环状结构,适合轮询调度等循环场景,需注意避免死循环。 双链表:每个节点存储前后节点指针,支持双向遍历,删除操作更方便,但占用更多内存空间。 三种链表各有特点:单链表简单高效,循环链表适合环形数据处理,双链表提供双向访问能力。

2025-11-21 15:18:15 154 1

原创 【瑞芯微】【rk3128】【移植 qt 5.12.9】

本文详细介绍了在RK3128开发环境下移植QT 5.12.9的完整过程。主要包括:1)下载QT源码;2)在Docker环境中配置交叉编译工具链并修改qmake配置文件;3)通过autoconfigure.sh脚本配置编译选项,跳过不需要的模块;4)执行make和make install完成编译安装;5)将编译生成的arm-qt目录部署到开发板并设置相关环境变量。整个过程重点说明了如何针对嵌入式环境进行QT的交叉编译配置和移植,为在RK3128平台上开发QT应用程序提供了基础支持。

2025-11-08 17:01:28 340

原创 【Docker】【03.使用docker搭建ubuntu20.04 Qt5.12 开发环境】

本文介绍了使用Docker搭建Qt5.12开发环境的完整方案。通过Dockerfile配置基于Ubuntu 20.04的容器,安装了Qt5.12及Qt Creator开发工具,同时包含主机编译工具链、ARM/ARM64交叉编译工具链以及相关依赖库。方案还集成了XFCE桌面环境和VNC服务,便于GUI开发调试。Docker镜像构建完成后,可通过脚本一键启动开发环境,提供完整的Qt5.12开发体验,支持多种架构的交叉编译需求。该方案为Qt开发提供了标准化、可复用的容器化解决方案。

2025-10-30 19:00:42 434 2

原创 【android bluetooth 协议分析 18】【PBAP详解 2】【车机为何不显示电话号码为空的联系人信息】

摘要:本文分析了苹果手机通过蓝牙传输无电话号码vCard到车机时显示异常的问题。问题根源在于VCardEntry.java中的addProperty方法会直接过滤掉TEL标签为空的联系人(当propValue.length()==0时直接return)。而其他手机如IQOO Nevo 3E不会传输此类vCard到车机侧。该差异导致只有苹果手机会将无电话号码的vCard(如示例中的"空号测试"和"Konghao")传输到车机,但被系统过滤后无法显示。

2025-10-30 18:37:01 361

原创 【android bluetooth 协议分析 14】【HFP详解 2】【蓝牙电话绝对音量详解】

本文探讨了蓝牙电话绝对音量功能的工作原理及其应用场景。绝对音量通过HFP协议实现手机与车机通话音量的双向同步控制,确保用户在任意一端调节音量时另一端能实时响应。该功能最早源于A2DP音乐播放场景,后扩展到通话场景。文章分析了绝对音量的技术实现流程,包括设备协商、AT命令交互等环节,并列举了车机系统启用该功能的优势(如统一音量体验)和潜在问题(如音量叠加失真)。通过实际日志案例展示了AT命令交互过程,并提供了源码层面的解析流程说明。最后指出,由于不同设备兼容性问题,部分厂商可能选择禁用此功能。

2025-10-30 15:31:50 1179

原创 【Qt】【2.Qt 6 WebAssembly:将桌面应用带入浏览器的革命性技术】

Qt 6 WebAssembly将C++/Qt应用直接运行在浏览器中,无需插件安装,支持完整Qt模块和接近原生性能。其核心优势包括与Web生态无缝集成、文件系统访问等。商业案例显示,该技术成功应用于CAD软件、医疗影像和工业物联网系统,显著降低部署成本。学习路线分为环境搭建、核心功能掌握和高级特性三个阶段,涵盖UI开发、文件处理及JavaScript交互等关键技能,使开发者能快速构建高性能Web应用。

2025-10-30 10:41:47 1579

原创 【Qt】【1. 版本特性介绍】

Qt版本与Ubuntu LTS版本对应关系表展示了各时期Qt与Ubuntu的兼容性。Qt 6.x系列带来重大架构更新,包括C++17支持、CMake构建系统和模块化重构,其中Qt 6.5新增WebAssembly和HTTP服务器支持。Qt 5.x系列则以Qt 5.15为最终版,提供稳定维护版本。根据项目需求建议:新项目首选Qt 6.6/6.7搭配Ubuntu 22.04/24.04;现有项目维护推荐Qt 5.15;嵌入式开发适合Qt 5.12/5.15;跨平台项目建议使用Qt 6.5+。

2025-10-30 10:24:23 559

原创 【Docker】【2.docker 安装 ubuntu 桌面版】

如何利用 docker按照 ubuntu图形界面

2025-10-29 19:34:00 437

原创 【Docker】【1.docker常用命令总结】

本文整理了Docker常用命令速查表,涵盖容器生命周期管理、镜像管理、网络配置、数据卷操作等核心功能。主要包括:运行容器(run/start/stop)、镜像操作(pull/push/rmi)、查看信息(ps/logs/inspect)、构建镜像(build/commit)、网络管理(network)和系统清理(prune)等命令。特别提供了开发环境常用组合命令和资源限制技巧,并列出了10个最常用命令(如docker ps、docker run等)作为重点记忆内容。这些命令覆盖了Docker日常开发、部署和

2025-10-29 19:31:28 377

原创 【乱七八糟】【123】【123】

这篇文章摘要介绍了两个C语言程序。第一个是系统资源压力测试工具,可创建多个子进程进行CPU和内存压力测试,实时监控系统资源使用情况。第二个是终端波形绘制程序,可生成并动态显示正弦波等波形。两个程序都实现了Ctrl+C信号处理,支持优雅退出。摘要重点突出了程序的核心功能、技术实现和实用价值,控制在150字以内。

2025-10-28 19:13:04 178

原创 【android bluetooth 协议分析 11】【AVDTP详解 4】【A2dp Sink 状态机通俗讲解】

A2DP Sink 状态机概述 A2DP Sink(蓝牙音频接收端)的状态机管理着设备从发现、连接建立到音频播放的全过程。其主要状态包括: 初始状态:等待连接请求 连接处理中:处理远端或本地的连接请求 已连接:准备/进行音频播放 重配置:调整音频参数 关闭中:清理连接资源 状态切换由事件驱动,如连接请求、信道建立成功/失败、播放控制等。每个状态都定义了特定事件的处理逻辑,确保协议流程正确执行。该状态机设计保证了蓝牙音频接收在各种场景下(主动/被动连接、播放控制等)都能正确处理异常和时序问题。

2025-10-27 19:13:07 1123

原创 【乱七八糟】【1. fs.inotify.max_user_watches 参数】

Linux开发中常见的文件监控问题(如VSCode不刷新、webpack报ENOSPC错误)源于系统默认的inotify监听上限过低(仅8192个文件)。通过修改fs.inotify.max_user_watches=524288可解决,该参数控制单个用户可同时监控的文件数量。修改方法:编辑/etc/sysctl.conf并执行sudo sysctl -p即可生效。这个调整让开发工具能正确监控大型项目文件变更,但需注意过高的值会占用更多内核内存。

2025-10-27 16:35:22 989

原创 【瑞芯微】【rk3128】【03.编写音频测试程序】

本文介绍了在Buildroot中创建音频测试程序的完整步骤。主要内容包括:1) 创建包目录结构;2) 编写Config.in配置文件;3) 编写audio-capture-test.mk构建脚本;4) 实现音频测试源代码;5) 配置编译选项并测试运行。该程序通过ALSA库进行音频捕获测试,演示了如何正确链接外部库(如添加-lasound参数),并展示了依赖管理(alsa-lib)和交叉编译设置。最终程序可验证ALSA库是否正常工作,为类似需要外部库的项目提供了参考实现方案。

2025-10-26 19:58:21 370

原创 【瑞芯微】【rk3128】【02.编写测试app,打印helloworld】

本文介绍了在Buildroot中添加本地"Hello World"测试程序的完整流程。首先创建leo-i2s-test包目录结构,编写Config.in和leo-i2s-test.mk配置文件,并添加包含C源代码和Makefile的src目录。然后更新package/Config.in文件,通过make menuconfig启用该包并编译。第二部分分析了Buildroot的编译过程,包括执行mk-buildroot.sh脚本加载BoardConfig_rp3128_buildroot.m

2025-10-26 19:33:09 347

原创 【瑞芯微】【rk3128】【01.使用docker搭建rk3128 编译烧录环境】

本文介绍了使用Docker替代虚拟机搭建嵌入式开发环境的方案。针对传统虚拟机方式占用资源多、管理复杂的问题,作者提出基于Ubuntu 24.04系统,通过Docker容器化技术为瑞芯微RK3128等平台构建独立开发环境。详细说明了Docker镜像配置(包括换源、环境变量设置、工具链安装)、镜像构建与打包方法,并提供了容器运行脚本和清理方案。这种方案显著节省磁盘空间和CPU资源,同时保持环境隔离性,支持快速部署和团队共享开发环境。

2025-10-26 16:18:14 367

原创 【android bluetooth 协议分析 22】【SMP 介绍 1】【Legacy Pairing 和 LE Secure Connections 介绍】

车机蓝牙配对异常问题分析 问题现象 车机与手机完成初次配对后,当车机重启蓝牙时,会自动连接手机但随后会异常删除原有配对信息并重新配对。日志显示在BR/EDR授权成功后,手机发起BLE SMP配对请求,车机因鉴权失败(SMP_XTRANS_DERIVE_NOT_ALLOW)而移除了BR/EDR配对关系。 解决方案探讨 提出了两种解决思路: 将SMP和SSP配对机制分离(改动较大) 放宽SMP对加密密钥的检查要求(安全性略有降低) 技术背景 文章进一步分析了BLE SMP安全协议的两种模式: Legacy Pa

2025-10-13 14:40:16 771

原创 【android bluetooth 框架分析 04】【bt-framework 层详解 9】【Android蓝牙数据库系统深度解析:构建智能设备管理的核心基石】

Android蓝牙数据库系统解析:构建智能设备管理的核心框架 本文深入剖析了Android蓝牙数据库系统的设计与实现,重点介绍了MetadataDatabase和DatabaseManager两大核心组件。MetadataDatabase基于Room持久化库构建,支持多版本迁移和适配器切换,负责SQLite底层操作;DatabaseManager则处理业务逻辑、缓存管理和系统事件。 系统提供三大核心功能: 设备连接策略管理 - 支持多种蓝牙配置文件 智能连接历史管理 - 基于时间戳实现设备智能排序 丰富元数

2025-09-29 15:25:38 1126 4

原创 ARM64 内核页表机制与 PTE 保护/恢复实验详解

本文详细分析了ARM64 Linux内核的虚拟内存管理机制,重点探讨了4级页表结构(PGD/P4D/PUD/PMD/PTE)及其操作API。通过教学驱动pgtable_demo.c和用户测试程序pgdemo_user.c,展示了内核如何遍历页表、修改PTE权限位、刷新TLB等关键操作。实验模拟了mprotect功能,通过直接操作PTE实现内存保护/恢复,直观验证了权限控制对用户进程的影响。文章还类比生活场景解释了虚拟内存概念,并总结了该实验对理解ARM64内核内存管理机制的重要意义,包括页表抽象、PTE权限

2025-09-27 18:05:10 1066

原创 【android bluetooth 协议分析 18】【PBAP详解 1】【为何我们的通话记录中会出现1-521-8xx-1x9x】

摘要: 本文分析了车机通讯录中电话号码显示异常的问题。通过蓝牙PBAP协议从手机分批拉取联系人数据时,发现未保存姓名的联系人(N:和FN:字段为空)在车机端被异常格式化为带分隔符的号码(如1-521-8xx-1x9x)。文章详细梳理了PBAP客户端的分批请求逻辑,包括构建请求参数、通过OBEX协议获取vCard数据,并指出问题可能出现在数据解析或UI显示环节。关键代码路径涉及BluetoothPbapRequestPullPhoneBook的请求执行和响应处理流程。(150字)

2025-09-26 16:10:38 1412

原创 【android bluetooth 协议分析 04】【蓝牙配对详解 1】【一次有意思的配对删除案例】

摘要:本文分析了蓝牙耳机连接车机后异常断开的问题。日志显示车机在允许连接的情况下错误拒绝了HID连接请求(connectionPolicy=1000),随后触发Virtual Cable Unplug事件,导致主动断开ACL链路并删除配对信息。修复点在于修正BluetoothHidHostService的连接判断逻辑,避免误拒合法连接请求。btsnoop日志证实了车机主动发起L2CAP断开和ACL链路终止的行为链。

2025-09-25 20:43:43 1162

原创 【车载audio开发】【基础概念2】【Usage、ContentType、Flags、SessionId之间的关系】

在Android音频系统中,Usage、ContentType、Flags和SessionId共同决定了音频的处理和输出方式。Usage描述音频用途(如媒体播放、通话),影响路由策略和设备选择;ContentType定义内容类型(如音乐、语音),指导音频处理;Flags提供附加要求(如低延迟),影响路径选择。SessionId则用于将多个音轨归为一组,共享音效和音量控制,但不直接影响路由。系统根据这些属性综合决策,最终将音频流发送到合适的输出设备(如扬声器、蓝牙等)。

2025-09-16 17:30:50 837

原创 【车载audio开发】【基础概念1】【音频基础概念通俗讲解】

本文通俗讲解了Android音频系统中的基础概念:**声道(Channel)**决定声音通道数(单声道/立体声);**采样率(Sample Rate)**影响声音流畅度;**格式(Format)**决定采样精度;帧(Frame)是包含所有声道样本的基本单位;period_size和period_count则控制DMA传输节奏,影响音频延迟。这些参数共同决定了音质、空间感和系统性能,是理解Android音频框架(如Audio HAL和AudioFlinger)的基础。文章通过生活化类比(如拍照帧率、流水线作业

2025-09-14 13:31:57 996

原创 【android bluetooth 协议分析 21】【ble 介绍 4】【ble 1M phy 和 2M phy 介绍】

摘要:实车测试中发现儿童座椅与车机通过BLE连接后频繁断开(错误码0x08)。抓包分析显示,问题源于车机与座椅在1M PHY切换至2M PHY过程中失败。1M PHY抗干扰强但速率低,2M PHY速率快但对信号质量要求高。规范要求PHY切换需通过LL层协商流程,双方必须在同一时刻切换。实际案例中,车机发起切换并显示成功,但座椅仍停留在1M PHY,导致双方通信不同步,最终因ACL超时而断开。根本原因可能是座椅未正确支持2M PHY或切换流程存在缺陷。

2025-09-12 16:32:30 1616

原创 【linux内存管理】【基础知识 1】【pgd,p4d,pud,pmd,pte,pfn,pg,ofs,PTRS概念介绍】

本文介绍了Linux 6.0.9内存管理中的关键术语和常用宏/函数,重点解析了多级页表体系(PGD→P4D→PUD→PMD→PTE)的核心概念。详细说明了页表索引计算、条目操作(set/clear/val)以及地址转换相关宏(如pte_offset/pfn_to_page)的功能与使用场景。同时对比了x86和arm64架构在页表层数、大页支持及条目布局等方面的主要差异,为理解Linux内存管理机制提供了基础概念框架。

2025-09-11 14:52:42 676

原创 【车载audio开发】【CarAudioManager 1】【ICarAudio接口介绍】

本文梳理了车载音频系统中ICarAudio接口的核心概念与架构。音区(Audio Zone)将车辆划分为独立音频区域,音量组(Volume Group)按用途分类音频流,音频路由(Audio Routing)决定输出设备,音频镜像(Audio Mirroring)实现跨区播放。这些概念通过系统配置文件建立关联:Usage决定Volume Group归属,Zone包含多个Volume Group,应用显示位置决定音频Zone分配,最终由Zone和Volume Group确定物理输出设备。整个架构形成&quot

2025-09-10 20:54:36 620

原创 【AOSP 的分层设计理念与命名规范】

AOSP分层设计与命名规范 Android开源项目(AOSP)采用严格的分层架构设计,确保系统的可维护性和扩展性。主要分为七层:应用层(Manager类API)、系统服务层(Java Service)、JNI桥接层(System)、Native守护进程(xxxserver)、Native服务层(C++ Service)、HAL层和内核层。各层通过统一命名规范区分:Manager(应用API)、Service(Java/C++实现)、System(JNI桥接)、xxxserver(原生守护进程)。这种分层设计

2025-09-10 17:26:25 1256

原创 【车载audio开发】【车载audio开发介绍以及写作大纲】

本文介绍了车载音频系统开发的关键要点。现代车载音频已从简单的收音机演变为集成导航、通话、娱乐等多功能的复杂系统,需要处理多通道并发、优先级控制和区域管理等挑战。文章分析了典型使用场景,如导航与音乐并行、电话通话等,并详细阐述了基于Android的车载音频四层架构:应用层、系统服务层、媒体服务层和硬件抽象层。重点说明了CarAudioService如何管理音频区域和策略,以及AudioFlinger和AudioPolicyService的混音与路由功能。最后指出车载音频系统在智能交互和安全驾驶中的重要性,以及

2025-09-10 17:08:42 939

原创 【linux 内核 _RET_IP_、_THIS_IP_、__builtin_return_address、__builtin_frame_address 、KBUILD_MODNAME 介绍】

本文详细介绍了Linux内核调试中常用的地址获取宏,包括_RET_IP_、_THIS_IP_、__builtin_return_address、__builtin_frame_address和KBUILD_MODNAME。这些宏可用于获取函数返回地址、当前指令指针、调用栈帧地址以及模块名称等关键调试信息。文章分析了不同架构(x86/arm64)下的兼容性差异,指出__builtin_return_address在arm64上高层级返回地址可能无效,而__builtin_frame_address在两种架构下

2025-09-08 10:26:49 1056

原创 【如何导出qemu模拟的设备树文件】

本文介绍了在没有显式指定DTB文件时,QEMU如何为ARM64虚拟机生成设备树,以及Linux内核如何加载该设备树的过程。关键点包括: QEMU会在内存中实时合成设备树二进制(DTB),并通过x0寄存器传递给内核 内核启动时通过特定代码路径解析DTB,获取硬件配置信息 提供了两种获取该DTB的方法: 使用QEMU的"-machine dumpdtb"参数导出 通过反编译内核镜像获取DTB地址再导出 文章还展示了导出的DTB反编译后的部分内容,包含了CPU、内存和各种虚拟设备的配置信息。这

2025-09-07 19:05:44 803

原创 【如何高效学习linux内核】

**学习Linux内核需要转变思维模式,从用户态、单线程、应用思维切换到内核态、并发和生态系统思维。可以采用五步学习法:1)明确模块职责与接口;2)梳理关键数据结构及关系;3)理解核心机制与算法;4)分析并发与同步;5)将模块整合到内核生态中。配合工具如代码浏览器、调试工具和可视化图表,通过实践加深理解。内核学习重在把握设计哲学,而非死记硬背代码。

2025-09-07 17:55:05 1127

原创 【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】

本文模拟了Linux内核input子系统中设备(input_dev)与处理器(input_handler)的多对多关系实现。通过创建中间对象input_handle将两者连接,使用双向链表管理绑定关系。示例代码展示了键盘/鼠标设备与evdev/mousedev处理器的动态绑定过程,并打印出绑定关系。与真实input子系统实现对比,都采用中间对象+双向链表的设计模式,支持设备和处理器的动态添加删除。这种多对多关系管理方式具有通用性,可用于类似场景。

2025-09-07 14:55:00 327

原创 【linux kernel 常用数据结构和设计模式】【数据结构 2】【通过一个案例属性list、hlist、rbtree、xarray数据结构使用】

本文设计了一个基于Linux内核数据结构的汽车电子测试demo,用于模拟MCU通过SPI向车机SOC发送信号的过程。该系统利用四种核心数据结构:list_head管理SPI设备列表,hlist实现消息类型到处理函数的快速查找,xarray按序号存储原始消息,rbtree处理延迟事件调度。通过/proc/spi_demo接口可模拟消息写入(格式为SEQ:MSGID:DELAY_MS:PAYLOAD)并查看内部状态。典型应用场景包括实时处理传感器数据、诊断消息和异步事件,展示了不同数据结构在汽车电子领域的适用性

2025-09-07 14:36:04 885

原创 【linux kernel 常用数据结构和设计模式】【数据结构 1】【如何表达数据之间的一对一、一对多、多对多关系】

数据结构与算法中的关系实现 一对一关系 内嵌结构:适用于必须存在的强关联(如人体器官),节省空间但无法表达可选关系 指针关联:适用于可选关系(如人与驾驶证),通过空指针表示不存在 一对多关系实现方式 数组:内存连续访问快,但大小固定 单向链表:动态大小,插入高效但单向遍历 双向链表:支持双向遍历,删除高效但内存开销大 树结构:层次化数据管理,适合快速查找 设计原则 强调逻辑清晰性对程序安全性的重要性,需根据实际场景选择合适的数据结构表达实体间关系。

2025-09-07 14:31:32 1002

原创 【android bluetooth 协议分析 21】【ble 介绍 3】【ble acl Supervision Timeout 介绍】

BLE ACL链路是主机与从机之间的逻辑数据通道,承载所有上层协议数据交互。其建立需协商连接参数(连接间隔、从机延迟、监管超时)。监管超时是检测链路存活的关键机制,若在设定时间内未收到任何数据包(含空包),将触发连接断开。常见触发原因包括物理层问题(距离/干扰)、参数设置不合理(连接间隔过大)、链路层控制过程失败或设备异常。关键参数中,连接间隔决定数据交换频率,从机延迟用于节能,监管超时则需满足公式:超时>(1+延迟)间隔2。通过btsnoop日志可分析具体断开原因,查看连接参数、末次数据包及断开事件

2025-09-02 21:45:12 1038

qt 5.12.9 源码 编译 需要的可以下载

qt 5.12.9 源码

2025-11-08

qt5.12 ubuntu20.04 docker 环境

qt5.12 ubuntu20.04 docker 环境

2025-10-30

rk3128 docker 编译环境

rk3128 docker 编译环境

2025-10-26

nRF52832 17.1.0 SDK

nRF52832 17.1.0 SDK

2025-06-26

ubuntu 下搭建 nrf52832 开发环境所需要的 软件包. md5sum : b61a6911bab6684f9721648740448926 nrf-52832-env-soft.7z

├── IK-52832DK-V2-TEST.hex ├── nrf52832_xxaa.hex ├── nrf5sdk153059ac345.zip └── nrfcommandlinetools1090linuxamd64.tar.gz

2025-06-25

jadx 可执行文件 压缩包

jadx 可执行文件 压缩包

2025-06-25

qemu 调试 linux 6.0.9 资源包

qemu 调试 linux 6.0.9 资源包 编译好的环境,直接可以解压调试

2025-04-03

qemu 调试 linux 6.0.9 源码没有编译版本

qemu 调试 linux 6.0.9 源码没有编译版本

2025-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除