- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 极限-理解
挑战者(你):你负责提出一个精度要求。证明者(我):我负责满足你的要求。设函数 f(x) 在点 c 的某个去心邻域内有定义。如果对于任意给定的正数 ε(无论它有多小),总存在一个正数 δ,使得当 x 满足 0 < |x - c| < δ 时,总有 |f(x) - L| < ε 成立,那么我们就称 L 是函数 f(x) 当 x 趋向于 c 时的极限,记作 lim (x->c) f(x) = L。我们还是用 lim (x->2) (2x + 1) = 5 这个例子。
2025-10-08 00:53:13
552
原创 Linux TSN
想象一条高速饮料灌装生产线,传送带、灌装头、压盖机必须在毫秒间完美协同。一个微小的时机偏差,就可能导致产品报废甚至设备损坏。传统的“尽力而为”(Best-Effort)以太网在这种场景下,就像一个不可靠的传令兵,随时可能因为网络拥堵(例如旁边摄像头上传高清图像)而延迟关键指令。这就是时间敏感网络(TSN, Time-Sensitive Networking)要解决的核心痛点。TSN 是一套旨在为标准以太网装上“瑞士钟表”般精准守时能力的 IEEE 标准族。
2025-09-24 09:17:53
1123
原创 在Debian系统上修改开源软件源代码制作patch
apt source->quilt new->quilt add-> 编辑代码 ->->->dpkg -i->。这个过程不仅适用于blueman,也适用于Debian/Ubuntu仓库中的绝大多数软件包。祝你成功解决问题!如果你的补丁是通用的修复,也欢迎你向blueman的上游项目(GitHub)提交一个Pull Request,为开源社区做出贡献。在Debian系统上修改开源软件源代码、制作patch并重新编译打包。
2025-09-22 22:11:02
1307
原创 嵌入式交叉编译中的路径管理:正确配置--prefix、DESTDIR与PKG_CONFIG的最佳实践
-prefix必须为目标标准路径(如/usr),避免绝对路径污染。DESTDIR用于临时安装隔离,支持安全打包。PKG_CONFIG是依赖管理的核心,需显式配置以匹配工具链。通过上述实践,可消除路径绑定问题,提升软件的可移植性和部署效率。优化补充:借鉴“定期复习”机制,建议每月回顾配置清单(如通过自动化脚本测试路径一致性),并建立知识库索引(按“概念”、“问题”、“工具”分类),确保长期高效维护。
2025-09-18 09:33:04
702
原创 蓝牙 BR/EDR(基本速率/增强数据速率)的 RSSI
BR/EDR RSSI是蓝牙相对信号强度指标,通过与预设的"黄金接收功率范围"比较来评估信号质量。该范围由芯片厂商设定,下限为-56dBm至接收灵敏度+6dB,上限为下限+20dB。RSSI计算规则:信号在范围内返回0;高于上限返回正差值(如+5dB);低于下限返回负差值(如-8dB)。应用层通过HCI指令获取该相对值,而非绝对功率。这种设计能更有效评估信号是否处于最优工作区间。
2025-09-16 11:49:40
730
原创 BLE音频规范二:BAP
The Basic Audio Profile (BAP) defines procedures for Audio Stream control by using the Generic Attribute Profile (GATT) and the Generic Access Profile (GAP) for devices that want to use Bluetooth Low Energy (LE) in audio-related scenarios (e.g., sending or
2023-01-10 20:34:46
665
原创 bluez profile连接流程分析
/* Search for mandatory uuids */// SDP 搜索的基础UUIDstatic const uint16_t uuid_list[] = { L2CAP_UUID, PNP_INFO_SVCLASS_ID, PUBLIC_BROWSE_GROUP, 0};//profile发起连接之前,首先要有知道对方的支持的特性device_browse_sdp() //sdp循环搜索上述3组UUID,首先选择第一个L2CAP_UUID sdp_uuid16_c...
2022-05-25 00:14:47
624
原创 BlueZ kernel的连接机制分析
struct hci_conn *conn;状态机:hci_acl_create_connection conn->state = BT_CONNECT;hci_conn_complete_evt conn->state = BT_CONFIG; hci_remote_ext_features_evthci_remote_ext_features_evt conn->state = BT_CONNECTED;//底层连接通道建立后:hci_
2022-05-18 16:11:31
730
原创 BlueZ BLE ATT 读写分析
read_info_complete adapter_register btd_gatt_database_new database->le_io = bt_io_listen(connect_cb, NULL, NULL, NULL, &gerr, BT_IO_OPT_SOURCE_BDADDR, addr, ...
2022-05-18 15:16:09
1288
原创 blueZ 笔记一
device_probe_profiles btd_profile_foreach(dev_probe, &d); dev_probe probe_service struct btd_service *service; service = service_create(device, profile);//根据profile(a2dp sink/source/arvcp ct/tg)创.
2021-04-04 16:18:15
1094
原创 bluedroid connect
bta_sys_register(BTA_ID_DM, &bta_dm_reg ); bta_sys_cb.reg[id] = (tBTA_SYS_REG *) p_reg; //bta_sys_cb.reg[BTA_ID_DM] = (tBTA_SYS_REG *) &bta_dm_reg; bta_sys_cb.is_reg[id] = TRUE; //bta_sys...
2018-10-08 14:34:08
284
原创 bluedroid alarm
alarm_new("btif_rc.rc_play_status_timer"); alarm_new_internal(name, false); if (!alarms) //static list_t *alarms; lazy_initialize() alarms = list_new(NULL); if (!timer_create_internal(C...
2018-10-07 14:36:13
627
原创 bluedroid thread
bluedroid的消息传递机制1 创建一个队列:btu_bta_msg_queue = fixed_queue_new(SIZE_MAX); fixed_queue_t *ret = osi_calloc(sizeof(fixed_queue_t)); //队列里面最大的容量 ret->capacity = capacity; //链表 ret->list = li...
2018-10-07 12:15:52
553
1
原创 蓝牙笔记(一)
名词介绍:4种蓝牙配对方式,通俗地说:Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,输入正确即可配对。例如连接蓝牙键盘。Out ...
2018-05-07 11:07:48
3749
翻译 linux dd命令详解
dd --help用法:dd [操作数] ... 或:dd 选项复制文件,依照操作数转换并格式化。 bs=比特数 一次读写的比特数 cbs=比特数 一次转换的比特数 conv=CONVS 依照每个逗号分割的标志列表转换文件 count=块数 只将指定个块数复制到块 ibs=比特数 一次读取的比特数(默认:512)
2017-04-06 19:55:45
640
原创 scatter
static void dw_mci_write_data_pio(struct dw_mci *host){ struct sg_mapping_iter *sg_miter = &host->sg_miter; void *buf; unsigned int offset; struct mmc_data *data = host->data; int
2017-01-23 10:42:42
657
转载 Linux Fedora设置PATH环境变量
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“ /opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1、直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_too
2013-10-04 10:47:29
1336
1
原创 adr 与 ldr 的区别
直接进入正题:adr r1, var ldr r1, = varvar: .word 8 var: .word 8上面两条指令都是取标号var 的地址分别反汇编上面的代码:假设它们的链接地址都是-Text=0x0000 0000 0: sub pc, pc, #4 //pc = 40: ldr pc, [pc, #0] //pc
2013-09-10 09:12:50
571
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅