
目录
1、TI发布的高阻抗、500MHz带宽示波器模拟前端参考设计
2、分体开源机械键盘
3、给普通直流电源加 SCPI 程控和浏览器仪表盘
4、自制六自由度空间触控笔,定位精度优于 1 mm
5、掌上多功能工作台仪器:双路电源、信号源、逻辑探针三合一
6、把 LED 调光啸叫从 2 kHz 推到 25 kHz 的替代控制板
7、EnCodec 把 MP3 压成 8 张二维码再用 LoRa 发
8、硬件资讯
(1)SiLabs BG2B:蓝牙 6 信道探测加 1.1uA 休眠的 Series 2 新低功耗型号
(2)NXP RW610FML:260 MHz Cortex-M33 的 Wi-Fi 6 与 BLE 组合模块
(3)沁恒 CH32V407/467:200 MHz RISC-V 集成百兆以太网 PHY 与 8 MB 片上 PSRAM
(4)NXP MCX C15/C16:72 MHz Cortex-M23 低成本 MCU,深掉电 320 nA
(5)TI 率先推出可量产交付的 CAN XL 收发器TCAN6062,每整帧支持2048字节和20Mbps的数据速率
(6)BrainChip突破性AKD1500边缘人工智能协处理器,300mW实现800GOPS算力,配套开发板上线
9、软件资讯
(1)ThreadX将推出类似CMSIS-Zone的组件zonex,一款面向混合关键性嵌入式系统的确定性组件
(2)微软vcpkg发布2026.07版,MDK6现在使用的各种exe全部来自vcpkg
(3)Embedded Studio发布V8.30a版本,解决撤销操作的崩溃问题
10、硬件CRC配合REV指令实现Modbus CRC16极致优化
11、H7-TOOL本周进展
(1)脱机烧录
(2)H7-TOOL脱机烧录固件管理,批量导入,排序,复制粘贴,删除等操作以及实时日志记录说明
(3)H7-TOOL串行Flash一拖四分线套件 长线烧录 抗干扰
(4)初步解决H7-TOOL部分电脑打开反应慢问题,感谢多位热心客户帮忙测试
(5)串口助手无痛使用体验和性能的大幅度提升
(6)CAN/CANFD助手无痛使用体验和性能的大幅度提升
(7)RTT助手无痛使用体验和性能的大幅度提升
1、TI发布的高阻抗、500MHz带宽示波器模拟前端参考设计
TIDA-010133 参考设计 | 德州仪器 TI.com.cn
含详细的设计文档
数字存储示波器这类高带宽数据采集系统,对模拟前端信号链的要求极为苛刻:首先要足够宽的 -3dB 带宽,才能测量范围广泛的信号;其次需要可选的高输入阻抗,避免对被测电路造成负载效应;还要有足够低的噪声,防止信噪比劣化;同时失真性能必须够好,才能维持信号保真度。以往实现这样一条前端链路,通常只有两条路可走,要么用大量分立器件搭出一套复杂电路,要么干脆定制一颗前端 ASIC,两者在成本、面积和开发周期上都不友好。TI 给出的 TIDA-010133 参考设计提供了第三条路:用现成的标准高速器件搭出一套成本可控的模拟前端,同时不牺牲性能指标。
信号链的走法比较清晰:输入信号先进入高阻通道,由 BUF802 这款宽带 JFET 缓冲器承担 1MΩ 高输入阻抗,其噪声密度仅 2.3nV/√Hz;50Ω 档则直接端接。随后信号送入 LMH6518,这是一颗 900MHz 的数字控制可变增益放大器,负责在 40dB 范围内完成可编程增益调节,构成整机的宽动态范围。增益调节后的信号交给 LMH6552,这颗 1.5GHz 全差分放大器把它转换成差分形式,直接驱动后级高速 ADC,板上的 SMA 连接器可以直接对接 TI 的高速 ADC 评估模块。
模拟链路的直流工作点同样做了精细处理:OPA2140 是一颗双通道、11MHz、低噪声的 36V JFET 精密运放,配合 DAC80508 这颗 16 位 8 通道、带精密内部基准的 SPI 电压输出 DAC,完成偏移电压与共模电压的精密调节。触发功能则由 TLV3605 承担,这是一颗传播延迟 800ps、带 LVDS 输出的高速轨到轨输入比较器。相比分立方案或定制 ASIC,整套设计在性能不妥协的前提下显著降低了成本与开发难度,TI 也给出了完整的设计文件。
主要特性:
1、500MHz 输入带宽,覆盖高带宽数据采集需求
2、输入阻抗可在 50Ω 与 1MΩ 之间切换
3、支持 DC 与 AC 两种输入耦合方式
4、40dB 可编程增益动态范围,由 LMH6518 数字控制 VGA 实现
5、板载触发电路,采用 TLV3605 800ps 高速比较器,LVDS 输出
6、DAC80508 精密 DAC 负责偏移与共模电压控制
7、高阻通道采用 BUF802 JFET 缓冲器,噪声 2.3nV/√Hz
8、LMH6552 1.5GHz 全差分放大器驱动后级 ADC,SMA 接口直连 TI 高速 ADC EVM


2、分体开源机械键盘
GitHub:https://github.com/tstrube/Tiwaz
Tiwaz 是一款完全开源的机械键盘,采用左右分体结构,每一半都能独立当作游戏小键盘、可编程宏键盘、媒体控制器或专用软件的操作面板使用。两半拼在一起则是完整的分体键盘,可以按照自己的坐姿和手型自由调整角度。整体完全对称的设计,对习惯左手用鼠标、右手敲键盘的左撇子玩家同样友好。
规格:
1、主控 STM32F401,运行 QMK 固件,支持 VIA 与 VIAL
2、轴体支持热插拔,兼容 MX 规格,每颗轴下带一颗 WS2812 RGB 灯
3、理想二极管防双 USB 同时接入,配自恢复保险丝
4、USB 数据线带 ESD 保护,接口为 USB Type-C
5、单侧尺寸 153 × 116 mm,重约 300 g


3、给普通直流电源加 SCPI 程控和浏览器仪表盘
GitHub:PSU-Ext-Org · GitHub
https://www.hackster.io/news/mak ... su-ext-bbb23af5223d
PSU-EXT 是 MaxeeLabs 设计的外部控制与测量装置,串接在已有台式直流电源与被测负载之间,测量输出电压电流并用继电器切换输出通路。该装置不替换原有电源,也无需拆机,适合观察设备上电、联网、写 Flash 或进入休眠时的电流尖峰。
PSU-EXT 的测量前端由 INA240A2 电流检测放大器与 ADS1115 ADC 组成,隔离架构采用 ISO1540 与 RFM-0505S 隔离 DC-DC,主控为 ESP32-S3-N16R8 预认证模组。控制侧通过 USB-C 供电与通信,带 USBLC6-2 数据线保护与 AP22818 电源通路保护,另有两路上拉的外部触发输入。
PSU-EXT 的固件基于 ESP-IDF,在 USB CDC 与 TCP 5025 端口上提供 SCPI,上位机为浏览器界面,提供可配置仪表盘、内置 SCPI 控制台、Spring Boot 代理与 JavaScript IDE,可编排多设备自动化场景。官方给出的精度是实验室条件下校准后测得的初步数据,电流精度仍在开发中。硬件原理图、外壳、Gerber 与 BOM、固件、后端与前端代码均在 GitHub 的 PSU-Ext-Org 组织下公开,项目处于预热阶段,未公布价格。
规格:
1、输入输出均为 4 mm 香蕉插座,中心距 3/4 英寸(19.05 mm)
2、工作范围 0 至 25 V、0 至 2.5 A
3、PCB 约 100 × 50 mm,主控为 ESP32-S3-N16R8 预认证模组
4、1 至 24 V 直流电压精度 ±(0.1% 读数 + 2 mV)
5、1 V 以下直流电压精度 ±(0.5% 读数 + 2 mV)
6、电流精度标注为仍在开发中
7、PSRAM 中 100 采样率每秒的电压电流功率环形缓冲
8、支持两点校准、继电器控制、OVP 与 OCP 行为、定时队列与外部触发



4、自制六自由度空间触控笔,定位精度优于 1 mm
Krisjanis Rijnieks / Lighthouse Stylus · GitLab
六自由度空间触控笔面向投影式 CAD/CAM 与人机交互研究,用于替代价格 5000 至 15000 美元的光学动捕方案。它同时输出位置与姿态,可区别于普通的三自由度输入设备,用于倾斜调整参数、指定角度、对齐导入的三维模型或沿轮廓做亚毫米级微调。
笔身由四个消费级 3D 打印件构成,材料为 PLA 与 TPU;内部是 Button Board 与 IO Board 两块自制 PCB,用柔性印制电缆连接。具备 FDM 打印机、PCB 雕刻机与基础电子工作台的 Fab Lab 即可复现,单笔物料成本约 155 美元,含一个 Valve Index 基站的完整系统约 340 美元,双基站配置约 524 美元。
软件侧可运行在 Windows 的 SteamVR 或 Linux 的 libsurvive 上,Python 中间件负责校准与追踪器通信,再以自定义 JSON 协议经 WebSocket 把位置与姿态推送到浏览器应用。外壳、电子与软件均开源,代码托管在 GitLab 而非 GitHub;追踪所依赖的 Lighthouse 基站与 Tundra 模块仍为专有硬件。作者计划用定位精度 ±0.04 mm 的 CNC 机床做更严格评测。
技术要点:
1、定位基于 Valve 的 Lighthouse 追踪技术与 Tundra Tracker 模块
2、位置精度优于 1 mm,同时输出姿态,共六自由度
3、笔身由四个消费级 3D 打印件构成,材料为 PLA 与 TPU
4、内部为 Button Board 与 IO Board 两块自制 PCB,用柔性印制电缆连接
5、单笔物料成本约 155 美元
6、含一个 Valve Index 基站的完整系统约 340 美元,双基站配置约 524 美元
7、软件可运行于 Windows 的 SteamVR 或 Linux 的 libsurvive
8、Python 中间件负责校准,以自定义 JSON 协议经 WebSocket 推送数据


5、掌上多功能工作台仪器:双路电源、信号源、逻辑探针三合一
https://github.com/rcslon3-svg/DOGS2_v1
一款掌上多功能工作台仪器,把双通道可编程电源、逻辑探针、频率计数器与信号发生器集成在同一台设备上,还能充当 UART、RS485、CAN、I2C 等数字接口的协议嗅探器。对经常需要临时搭个电源或抓个串口波形的人来说,这类整合度高的掌上仪器的实用价值高于单一功能的小工具。
输入支持 5 至 90 V 直流或 USB-C,并具备过压、反接与浪涌电流保护,适合在现场用各种现成适配器供电。第一路输出采用低噪声线性稳压器,最高 20 V、1.5 A;第二路使用 DC-DC 转换器,可持续输出 48 V、3 A,短时可达 5 A,两路均带电流监测。
整机由主电源板和控制面板板组成,控制面板以 ESP32-WROOM 模组为核心,配有 LCD 屏与实体按键,并支持蓝牙控制。作者表示第一版已可用,将在测试后继续迭代。
规格:
1、输入支持 5 至 90 V 直流或 USB-C,具备过压、反接与浪涌电流保护
2、第一路输出采用低噪声线性稳压器,最高 20 V、1.5 A
3、第二路使用 DC-DC 转换器,可持续输出 48 V、3 A,短时可达 5 A
4、逻辑探针可测最高 25 V,频率计数器上限 100 kHz
5、信号发生器输出 1 Hz 至 100 kHz 方波,最高 20 V、1 A
6、可作 UART、RS485、CAN、I2C 等数字接口的协议嗅探器
7、控制面板以 ESP32-WROOM 模组为核心,配 LCD 屏与实体按键,支持蓝牙


6、把 LED 调光啸叫从 2 kHz 推到 25 kHz 的替代控制板
https://github.com/AShadyPCB/led-shelf-controller
书架自带 LED 照明,但调光时会发出持续的高频啸叫,于是他逆向分析了原装控制器并设计了一块替代板,替换过程不需要改动灯带本身。示波器测量显示,原控制器用 2 kHz 的 H 桥波形驱动 24 V 可调白光/暖光 LED 灯带,在低亮度时插入输出为 0 V 的时段,从而产生落在人耳最敏感频段的额外谐波。
新方案把开关频率整体移出可听范围:由 STM32F303 微控制器生成 25 kHz 的三电平 H 桥波形,MP6528 栅极驱动器控制四只 MOSFET,在 +24 V、-24 V 和 0 V 之间切换灯带。蓝牙低功耗连接由 Microchip RNBD350 模组提供,可与手机通信;固件把亮度与色温设置保存在 MCU 片内 Flash 中,断电后不丢失。
声学实测显示原先的 2 kHz 谐波梳状谱已完全消失,且整机功耗与原控制器持平。这个项目的思路值得借鉴:遇到电磁或声学噪声问题,先定位到具体的开关频率与谐波,再决定是改频率还是改波形。
技术要点:
1、原控制器用 2 kHz H 桥波形驱动 24 V 可调白光/暖光 LED 灯带
2、低亮度时插入 0 V 时段,产生落在人耳最敏感频段的额外谐波
3、5 厘米处麦克风实测,调光时 4 kHz 谐波声压约高出 16 dB
4、新方案由 STM32F303 生成 25 kHz 三电平 H 桥波形
5、MP6528 栅极驱动器控制四只 MOSFET,在 +24 V、-24 V 与 0 V 之间切换
6、蓝牙低功耗由 Microchip RNBD350 模组提供,可与手机通信
7、亮度与色温设置保存在 MCU 片内 Flash,断电后不丢失
8、实测 2 kHz 谐波梳状谱完全消失,整机功耗与原控制器持平

7、EnCodec 把 MP3 压成 8 张二维码再用 LoRa 发
目标不是塞进 MIDI 序列,而是把任意 MP3 压到一张纸上,再用 LoRa 发送出去。原文说这个方法在搞清原理之前听起来好得难以置信,秘密就在 Meta 的 EnCodec 神经音频编解码器,它用神经网络提取重建所需的最小信息量,把 2.9 MB 的 MP3 压到 21.44 kB。
单个二维码只能容纳 3.3 kB,作者因此把数据拆成 8 个二维码,印在一张纸的正反两面,像唱片一样分 A 面和 B 面,听完一面要翻面继续扫描。也就是说二维码只是载体,真正起作用的是神经编解码器带来的压缩比。
压缩后 21 kB 的体积同时也让 LoRa 传输成为可能:LoRa 带宽远低于 Wi-Fi,但 21 kB 落在其承载能力之内,而『LoRa 不适合传音频』本来是常见说法。局限同样直接:取一首歌要扫 8 次码,过程繁琐;神经编解码是有损压缩,还原的是重建信号而非原始波形,作者承认音质经过重度压缩,但听感明显好于预期。文中未给出编码码率、LoRa 扩频参数与传输耗时。

8、硬件资讯
1、SiLabs BG2B:蓝牙 6 信道探测加 1.1uA 休眠的 Series 2 新低功耗型号
EFR32BG2B Series 2 Bluetooth 6 SoCs - Silicon Labs
Silicon Labs 发布 BG2B,是其 Series 2 蓝牙低功耗家族中功耗最低的一款,同时保留了蓝牙信道探测(Channel Sounding)与安全隔离区等特性。官方数据为微控制器侧工作电流降低 14% 至 15%,BLE 接收模式功耗下降。

2、NXP RW610FML:260 MHz Cortex-M33 的 Wi-Fi 6 与 BLE 组合模块
https://www.nxp.com/products/RW610FML
NXP 发布的 RW610FML 是面向低功耗物联网设备的 Wi-Fi 6 与 BLE 组合模块,基于自家 RW610 芯片。模块内的 M33 内核既可作为专用通信协处理器,也可直接承担硬件控制任务,帮用户省掉外挂 MCU。
Wi-Fi 6 单流双频 2.4 GHz 与 5 GHz,20 MHz 信道带宽
Wi-Fi 峰值速率 114 Mb/s,协议覆盖 IEEE 802.11a/b/g/n/ac/ax

3、沁恒 CH32V407/467:200 MHz RISC-V 集成百兆以太网 PHY 与 8 MB 片上 PSRAM
Nanjing Qinheng Microelectronics Co., Ltd.
沁恒 CH32V407 与 CH32V467 是新的 200 MHz RISC-V 微控制器,内置 10/100 Mbps 以太网 MAC 加 PHY、USB 2.0 高速 480 Mbps 主机 PHY、最高 8 MB 片上 PSRAM,面向工业物联网与边缘 AI 应用。

4、NXP MCX C15/C16:72 MHz Cortex-M23 低成本 MCU,深掉电 320 nA
https://www.nxp.com/company/about-nxp/smarter-world-blog/BL-MODERNIZE-DESIGNS-MCX-C1-FAMILY-MCUS

5、TI 率先推出可量产交付的 CAN XL 收发器TCAN6062,每整帧支持2048字节和20Mbps的数据速率
TI 率先推出可量产交付的 CAN XL 收发器,推动下一代工业系统的发展 | TI.com.cn
TI率先推出了业界可量产交付的 CAN XL 收发器,旨在帮助工业工程师应对现代网络日益增长的数据需求。TI 的 TCAN6062 控制器局域网 (CAN) 扩展数据字段长度 (XL) 收发器支持每帧高达 2048 字节的有效载荷和高达 20Mbps 的数据速率,同时确保优先级消息能够优先、及时地传递,从而满足人形机器人、工业机器人和人机界面 (HMI) 系统对通信性能的需求。

6、BrainChip突破性AKD1500边缘人工智能协处理器,300mW实现800GOPS算力,配套开发板上线
https://brainchip.com/press/brai ... ineering-community/
AKD1500以极低功耗实现卓越性能,在300毫瓦功耗下每秒可完成8000亿次运算,为边缘人工智能能效树立了新标杆。这使其成为电池供电可穿戴设备、智能传感器以及热受限环境中的理想解决方案,这些场景对电池续航和热限制有着严苛要求。

9、软件资讯
1、ThreadX将推出类似CMSIS-Zone的组件zonex,一款面向混合关键性嵌入式系统的确定性组件
https://github.com/eclipse-threadx/zonex
ZoneX 是 ThreadX 家族的新组件,作用是在单颗芯片上把不同安全等级的系统隔离开来运行,且时间行为确定可预测。
当前把仓库已经开好了,但还没有发布

其中隔离的实现,感觉应该是类似CMSIS-ZONE的组件


2、微软vcpkg发布2026.07版,MDK6现在使用的各种exe全部来自vcpkg
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=132103
vcpkg类似MDK PACK软件包管理下载软件,早期微软打算让VSCode和VS进军嵌入式平台,为其配套了大量嵌入式支持exe
vcpkg 是由微软和 C++ 社区共同维护的一款免费开源的 C/C++ 包管理器。
vcpkg 最初于 2016 年推出,旨在协助开发者将项目迁移至新版 Visual Studio,如今已发展为支持 Windows、macOS 和 Linux 的跨平台工具。vcpkg 拥有海量开源库资源及企业级功能特性,可适配任意构建系统和项目体系,全面助力开发流程。其核心采用 C++ 编写,脚本基于 CMake 实现,自诞生之初便致力于解决 C/C++ 开发者特有的痛点。
https://github.com/microsoft/vcpkg
本次更新包括 vcpkg-tool 在 SBOM 方面的重要改进、302 个 port 的更新(含多个主要库的版本升级),以及其他小幅改进和 Bug 修复。


3、Embedded Studio发布V8.30a版本,解决撤销操作的崩溃问题
https://www.segger.com/downloads/embedded-studio/

10、硬件CRC配合REV指令实现Modbus CRC16极致优化
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=132156
之前一直使用的软件CRC,但程序里面调用太频繁了,所以准备优化下。
三种方案实测了性能比较
1、查表法
特点已经简单好用,性能算是软件方案里面不错的
C 纯文本查看 复制代码
?
|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | uint16_t CRC16_Modbus(``const uint8_t *_pBuf, uint16_t _usLen) { uint8_t ucCRCHi = 0xFF; ``/* 高CRC字节初始化 */ uint8_t ucCRCLo = 0xFF; ``/* 低CRC 字节初始化 */ uint16_t usIndex; ``/* CRC循环中的索引 */ while (_usLen--) { usIndex = ucCRCHi ^ *_pBuf++; ``/* 计算CRC */ ucCRCHi = ucCRCLo ^ s_CRCHi[usIndex]; ucCRCLo = s_CRCLo[usIndex]; } return ((uint16_t)ucCRCHi << 8 | ucCRCLo); } |
2、硬件CRC + HAL库API实现
配置:
C 纯文本查看 复制代码
?
|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /* 用于CRC16_Modbus替代 */ crcHandle.Instance = CRC; crcHandle.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_DISABLE; crcHandle.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_DISABLE; crcHandle.Init.GeneratingPolynomial = 0x8005; crcHandle.Init.CRCLength = CRC_POLYLENGTH_16B; crcHandle.Init.InitValue = 0xffff; crcHandle.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_BYTE; crcHandle.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_ENABLE; crcHandle.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES; if (HAL_CRC_Init(&crcHandle) != HAL_OK) { Error_Handler(__FILE__, __LINE__); } 输出使用 uint16_t CRC16_Modbus(``const uint8_t *_pBuf, uint16_t _usLen) { uint8_t ucCRCHi = 0xFF; ``/* 高CRC字节初始化 */ uint8_t ucCRCLo = 0xFF; ``/* 低CRC 字节初始化 */ uint16_t usIndex; ``/* CRC循环中的索引 */ usIndex = HAL_CRC_Calculate(&crcHandle, (uint32_t *)_pBuf, _usLen); ucCRCLo = usIndex >> 8; ucCRCHi = usIndex & 0xFF; return ((uint16_t)ucCRCHi << 8 | ucCRCLo); } |
3、硬件CRC + REV指令
使用REV指令,将4个字节组合发给DR寄存器。
C 纯文本查看 复制代码
?
|-------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | uint16_t CRC16_Modbus_HW(``const uint8_t *_pBuf, uint16_t _usLen) { uint32_t i; uint32_t n; CRC->CR |= CRC_CR_RESET; ``/* 加载 INIT=0xFFFF */ if (((uint32_t)_pBuf & 3u) == 0u) ``/* 4 字节对齐:LDR+REV 快速路径 */ { const uint32_t *p32 = (``const uint32_t *)_pBuf; n = _usLen / 4u; for (i = 0u; i < n; i++) { CRC->DR = __REV(*p32++); ``/* 1×LDR + 1×REV */ } i = 4u * n; } else /* 非对齐:移位 OR 组包(HAL 等价,任何对齐安全) */ { for (i = 0u; i < (_usLen / 4u); i++) { CRC->DR = ((uint32_t)_pBuf[4u*i] << 24u) | ((uint32_t)_pBuf[4u*i + 1] << 16u) | ((uint32_t)_pBuf[4u*i + 2] << 8u) | ((uint32_t)_pBuf[4u*i + 3]); } i = 4u * i; } /* 公共尾部:1~3 字节,BYTES 格式写 DR 低 8 位 */ while (_usLen > i) { *(__IO uint8_t *)(__IO ``void *)&CRC->DR = _pBuf[i]; i++; } return (uint16_t)CRC->DR; } |
输出结果再用REV16切换高低字节
C 纯文本查看 复制代码
?
|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | uint16_t CRC16_Modbus(``const uint8_t *_pBuf, uint16_t _usLen) { return __REV16(CRC16_Modbus_HW((``const uint8_t *)_pBuf, _usLen)); } |
4、实际测试性能比较
软件CRC, 直接HAL
_usLen =16 CRC_ENABLE: cycles=315, 0. 79us
_usLen=131 CRC_ENABLE: cycles=1926, 4. 82us
硬件CRC,直接HAL
_usLen =16 CRC_ENABLE:cycles=196, 0.49us
_usLen=131 CRC_ENABLE:cycles=570, 1.42us
硬件CRC, 配合REV
_usLen =16 CRC_ENABLE:cycles=173, 0.43us
_usLen=131 CRC_ENABLE:cycles= 509, 1.27us
10、H7-TOOL本周进展
H7-TOOL详细介绍:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=89934
经过一个月努力,H7-TOOL完成对串口助手,CAN/CANFD助手和RTT助手无痛使用体验和性能的大幅度提升
1、脱机烧录
更新多款芯片脱机烧录支持
-
增加云途YTM32B1MC0,YTM32B1MD1
-
增加小华半导体HC32F467
-
增加TI的TM4C123和TM4C129系列
-
增加普然PY32F033,32,005
-
支持自动解除S32K14x的安全保护
-
增加Slicon Labs的EFR32MG24xx
-
增加中颖SH32F2601 SH33F2801
-
增加复旦微FM33L0xx
-
增加中颖SH30F9823
-
增加极海APM32E030
-
直接将PY32F002B的SDK保护作为RDP读保护使能和解除
-
增加普然MS32C001和MS32C001B
-
更新GD32C103的选项字节实现
-
更新GD32L23x的算法文件
-
增加Slicon Labs的EFR32BG24xx
-
增加东芝TMPM4G系列
-
增加英飞凌CYT2B支持
-
增加CMS32M67xx
2、H7-TOOL脱机烧录固件管理,批量导入,排序,复制粘贴,删除等操作以及实时日志记录说明
详细帖子介绍:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=132123
感谢大家建议,正式带来固件管理的全面支持机制,TOOL的固件管理是基于FAT文件系统管理实现,所以无论是电脑端的复制粘贴删除等操作,还是手持显示屏端的文件浏览,文件排序,文件擦除等都十分便捷
如果文件超级多,几千个文件,可以做个批处理脚本来管理






3、H7-TOOL串行Flash一拖四分线套件 长线烧录 抗干扰
网线规格:0.5米长、高品质柔性全铜镀金6类、工业级网线
杜邦线规格:硅胶超柔、多股线芯、镀金簧片、5cm
杜邦线可直接插针床探针

4、初步解决H7-TOOL部分电脑打开反应慢问题,感谢多位热心客户帮忙测试
详细介绍帖子:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=132133
第1类,如果是软件启动的时候,日志里面某个启动项卡顿,基本都可以解决,当前已经解决了大部分情况
第2类,电脑加密软件,杀毒软件,电脑长时间运行,电脑降频等情况

5、串口助手无痛使用体验和性能的大幅度提升
-
双硬件串口增加自定义波特率支持,方便使用,对于自定义波特率,TOOL掉电不记录,非自定义的会掉电记录。
-
修改超高速刷新期间,关闭上位机卡死问题。
-
修改暂停刷新,点击任意位置后,调节滚动条不起作用问题。
-
修改滚动条展示比例问题。
-
修改上电后,右下角串口1和串口2选择问题。
-
修改退出串口,还可以定时发送的问题。
-
无痛实时日志记录,不足10万行不再需要手动,记录期间随时可以打开记录文件查看。
-
复制功能也改为正常复制模式。
-
桥接串口增加HEX监控功能。
-
大幅度提升波形控件平移模式速度,并支持水平游标测量
(1)双硬件串口自定义波特率

(2)日志管理
现在的日志管理改为实时记录,需要记录,仅需勾选单选框"日志记录"即可,实时记录,记录期间随时可以打开记录文件查看,改变之前不足10万行需要手动点击保存的繁琐。


(3)复制功能修改
因为这个不是编辑框,是画布实现的编辑框(优势是速度快,无闪烁,无撕裂),所以复制设置有些特殊,鼠标选中后,高亮消失,内容自动进入剪切板。由于高亮消失,很多用户以为没有选中。
现在改成正常编辑模式,选择后(选择粒度以行为单位),高亮不消失,使用不使用Ctrl+C都自动进入剪切板,或者右击复制都可以。

(4)桥接串口增加HEX监控功能,实测抓包STM32CubeProg的串口bootloader交互数据
详细介绍:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=132113


6、CAN/CANFD助手无痛使用体验和性能的大幅度提升
-
无痛实时CSV格式日志记录功能,不足10万行不再需要手动,记录期间随时可以打开记录文件查看。
-
每帧1-64字节数据无需指定位宽,自动匹配DLC
-
复制功能也改为正常复制模式。
-
提升滚动条浏览体验。
-
上位机发送,不再使用LUA小程序,直接做成数据的传输,大大提升用户体验,并且底层了极致的速度优化,无论发送还是接收都做了极致的速度优化
-
大幅度提升波形控件平移模式速度,并支持水平游标测量
(1) 无痛CSV格式日志记录
现在的日志管理改为实时记录,需要记录,仅需勾选单选框"日志记录"即可,实时记录,记录期间随时可以打开记录文件查看,改变之前不足10万行需要手动点击保存的繁琐。


(2)复制粘贴问题,也同步修改了, 和串口一样

(3)CAN/CANFD助手无痛使用体验优化,每帧1-64字节数据无需指定位宽,自动匹配DLC
帧字节数据随意设置,自动匹配DLC值

接收端接收到的都是自动匹配好的DLC

不再需要大家再繁琐的自动这里

这里的两个地方的发送,不再使用LUA小程序,直接做成数据的传输,大大提升用户体验,并且底层了极致的速度优化。无论发送还是接收都做了极致的速度优化

快速的暂停启动

当然,需要实现复杂逻辑,这里LUA小程序可以方便实现

7、RTT助手无痛使用体验和性能的大幅度提升
-
增加\t支持
-
Scope HSS波形模式从1KHz增加到20KHz采样速度,无需用户嵌入代码到目标,全程无需复位芯片检测变量波形
-
加强波形控件平移模式速度,并支持水平游标测量
-
支持MDK工程的BOOT + APP方式,APP有RTT,MDK下载后自动重连支持。
-
解决Trace波形模式关闭后,立即做IDE调试不正常问题
-
增加波形文件记录和加载支持
-
日志管理改为实时记录,需要记录,仅需勾选单选框"日志记录"即可,实时记录,记录期间随时可以打开记录文件查看,改变之前不足10万行需要手动点击保存的繁琐
-
复制功能也改为正常复制模式。
-
提升滚动条浏览体验
-
大幅度提升波形控件平移模式速度,并支持水平游标测量
(1)大幅度提升串口, RTT和CAN波形控件平移模式速度,并支持水平游标测量
这个是100KB字节/S的速度测试:

1KB/S字节

(2)RTT自动重连增加支持BOOT+APP的特殊应用场景
【BOOT+APP场景说明】
BOOT里面不带RTT,而APP里面带RTT,一般我们调试APP程序的方法是先把BOOT下载进去,然后就可以使用MDK调试APP了。
原理是复位后,先运行BOOT,然后跳转到APP运行。
那么这里就有个问题,MDK下载完毕自动重连时,BOOT里面是没有RTT的,会导致检索不到RTT相关信息
【解决办法】
程序里面对这种自动重连场景,做了个超时,多次检测机制,已经可以正常用于到这种BOOT + APP场景。

(3) RTT日志功能也改为无痛实时记录,同时增加波形文件记录和加载支持
现在的日志管理改为实时记录,需要记录,仅需勾选单选框"日志记录"即可,实时记录,记录期间随时可以打开记录文件查看,改变之前不足10万行需要手动点击保存的繁琐。


(4) 支持波形文件实时存储和加载展示

(5) 同时复制功能也做了修改, 和串口助手一样
选中颜色可以自己设置

(6) RTT增加\t支持
