03 2024 档案
摘要:执行一级引导程序(内含复位向量代码) 根据复位原因及 GPIO_STRAP_REG 寄存器的值确定启动模式,比如 UART 下载模式、从 FLASH 加载二级引导程序执行 加载二级引导程序,执行入口函数call_start_cpu0() 根据分区表的配置,加载应用程序 通过应用程序二进制文件的头部找
阅读全文
摘要:为避免意外读取 flash cache,一个 CPU 在启动 flash 写入或擦除操作时,另一个 CPU 将阻塞。在 flash 操作完成前,会禁用所有在 CPU 上非 IRAM 安全的中断。 HAL 函数 ``cpu_hal_get_cycle_count()``,PU 周期是各核心独立计数的,
阅读全文
摘要:UUID简介 UUID是一种普遍唯一的标识符,期望在所有空间和所有时间内都是唯一的(更准确地说,独立生成的UUID相同的概率可以忽略不计)。可以以分布式方式独立创建uuid。不需要分配uid的中央注册中心。UUID是128位的值。 为了减少存储和传输128位UUID值的负担,预先分配了一系列UUID
阅读全文
摘要:ATT ATT 定义了数据交互的协议(PDU、各种命令),和存储在 server 的各种 attribute 格式,即定义了BLE协议栈上层的数据结构和组织方式 PDU 在ATT层协议框架内,拥有一组属性的设备称为服务端(Server),读写该属性值的设备称为客户端(Client),Server和C
阅读全文
摘要:在电脑端,我们需要先运行 Openocd 充当调试代理用于与目标硬件进行直接通讯,他提供一个 GDB 服务器接口(通常在TCP端口 :3333 上),GDB 可以通过该接口与 OpenOCD 通信。 GDB 会向 OpenOCD 发送调试命令,例如设置断点、查看寄存器、单步执行等。当 OpenOCD
阅读全文
摘要:Core_v5.4 参考目录 初始化连接是在广播通道上建立的 角色介绍 BLE设备双方通信按照状态机进行切换实现,被连接的一方按照Standby->Advertising->Connection状态顺序实现连接;主动连接的一方按照Standby->-Scanning->Initiating->Con
阅读全文
摘要:Core_v5.4 参考目录 LE 物理层类型 一共有三种,分别是LE Uncoded PHYs (LE 1M and LE 2M) 、LE Coded PHY,本文主要讲解LE 1M 报文格式 前导码 所有链路层数据包都有一组前导码,前导码被接收机用于执行频率同步、符号时序预估和自动增益控制(AG
阅读全文
摘要:ctrl + shift + p 打开 setting.json { "search.exclude": { "**/node_modules": true, "**/bower_components": true, "dist/": true, "build/": true, "temp/": t
阅读全文
摘要:一般情况下,只有C++的函数支持形参添加默认值,但是C语言可以通过可变参数宏实现 先定义的一个被执行的函数 void _fun(int val) { printf("fun input val:%d", val); } 在调用函数时不输入参数,希望系统输入默认的参数值 定义一个可变参的宏定义 #de
阅读全文
摘要:截取固定大小的图片 快捷键:shift+F1 如果每次固定截取一样大小的图片,可以第一次截取后,按F1,R实现截取和上次一样大小的图片
阅读全文
摘要:git log git reflog 可以查看被 reset 的节点
阅读全文
摘要:使用 vscode 查看不出差异 通过 git gui 或者通过 git bash 查看文件内容并没有修改,出现这个问题的原因是修改了文件的权限,文件的filemode发生了变化,比如执行了chmod命令。 解决办法: 切换到项目的根目录,执行如下命令,忽略filemode的变化即可 git con
阅读全文
摘要:安装后可以直接在代码里看到谁在什么时候提交了代码,很直观很方便。 查看当前哪些文件修改了,修改了什么 查看每个节点修改了哪些文件
阅读全文
摘要:可视化 git log,方便查看修改 1、ctrl + shift + p 2、
阅读全文
摘要:广播数据固定31个字节,如果设备名称太长了,又有很多信息需要广播,31字节不够用怎么办?这时候可以借用扫描响应的数据包,发送一些数据。广播和扫描响应的用法基本相同。 广播通道(37,38,39,其余的用于连接数据交互)用于:广播、扫描请求、扫描响应、连接请求。BLE设备发出广播信号(设备地址和设备名
阅读全文
摘要:蓝牙分类 蓝牙协议包括两种技术:经典蓝牙(简称BT)和低功耗蓝牙(简称BLE)。这两种技术,都包括搜索(discovery)管理、连接(connection)管理等机制,但它们是不能互通的!因此在硬件模组上又有单模蓝牙和双模蓝牙的区别。在智能手机中的蓝牙就是双模蓝牙,它可以支持经典蓝牙和低功耗蓝牙。
阅读全文
摘要:目标“.SECONDARY”的依赖文件被作为中间过程文件对待。但这些文件不会被自动删除
阅读全文
摘要:make V=1 使用 verbose 编译模式,显示完整编译信息,包括执行的命令 使用info/warning/error增加调试信息 $(info “here add the debug info”) info信息不打印消息所在的行号 $(warning “here add the debug
阅读全文
摘要:操作:把linux的符号连接拷贝到共享文件夹 问题:提示无法创建到XXX的符号连接:不支持的操作 原因:linux的符号连接不能拷贝到共享文件夹
阅读全文
摘要:USB HID ( Human Interface Device ) 协议是一种应用在USB接口上的应用层通信协议
阅读全文
摘要:速度分类 低速:1.5Mb/s(USB 1.0 Low Speed) 全速:12Mb/s(USB 1.0 Full Speed、USB 1.1(即USB 1.0 Full Speed)、USB 2.0 Full Speed(兼容USB 1.1)) 高速:480Mb/s(USB 2.0 Hi Spee
阅读全文