news 2026/9/19 11:58:53

Matter NXP RW61x 平台应用开发指南:FreeRTOS 下的构建、烧录、调试与安全配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Matter NXP RW61x 平台应用开发指南:FreeRTOS 下的构建、烧录、调试与安全配置

Matter NXP RW61x 平台应用开发指南:FreeRTOS 下的构建、烧录、调试与安全配置

【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip

本指南以 connectedhomeip(Matter / Project CHIP)仓库中的 docs/platforms/nxp/nxp_rw61x_guide.md 为核心,系统讲解 Matter 应用在 NXP RW61x(RW610/RW612)平台上的完整开发流程。文章覆盖 CMake 与 GN 两套构建系统、Wi-Fi/Thread/Ethernet/Border Router 多种网络配置、制造数据加密与 DAC 私钥硬件包裹(blob)、JLink 烧录调试、Matter CLI 测试以及 SE05x 安全元件扩展,读者可以据此从零搭建环境并产出可运行的 Matter 设备固件。

平台概述与支持配置

RW61x 示例应用是建立在 Project CHIP 代码库与 NXP MCUX SDK 之上的 RW610/RW612 板级集成演示,展示了设备配网(commissioning)与多 Cluster 控制能力。RW61x 平台在仓库中的示例代码路径包括 examples/thermostat/nxp(含 RT/FreeRTOS 与 Zephyr 两套端口)以及 examples/all-clusters-app/nxp 等。

支持的网络配置

RW61x 示例支持以下三种主要配置:

  • Matter over Wi-Fi:Wi-Fi 直连,BLE 配网;
  • Matter over OpenThread:Thread 低功耗 mesh 网络;
  • Matter over Wi-Fi + OpenThread Border Router:Wi-Fi 作为主干,同时承担 Thread Border Router 职责。

注意:使用 CMake 构建时,若未在west build命令中指定prj_<flavour>.conf文件,默认配置为 Matter over Wi-Fi(详见下文 CMake 构建)。

此外,RW61x 还支持Matter over Ethernet配置(仅限 FRDM-RW612 开发板,RD-RW612-BGA 不支持,官方建议使用frdm板卡)。

支持的两套构建系统

RW61x 平台同时支持两套构建系统,二者在工程组织上存在差异:

  • GN:基于 examples/thermostat/nxp/rt/rw61x/BUILD.gn 等rt_executable目标组织整个项目,直接产出固件;
  • CMake:使用 NXP MCUX SDK 的 CMake + Kconfig 体系(west build命令)构建应用与 SDK,Matter 协议栈部分仍由 GN 编译后链接进应用。CMake 工程入口见 examples/thermostat/nxp/zephyr/CMakeLists.txt。

硬件需求

不同网络配置对天线的要求如下:

配置RD-RW612-BGARD-RW610-BGAFRDM-RW612
Matter over Thread需外接 BLE/15.4 天线(插 Ant2)无需外接天线(板载 PCB 天线)
Matter over Wi-Fi需 BLE 天线(Ant2)+ Wi-Fi 天线(Ant1)需 BLE 天线(Ant2)+ Wi-Fi 天线(Ant1)无需外接天线(板载 PCB 天线)
Wi-Fi + Border Router需 BLE/15.4 天线(Ant2)+ Wi-Fi 天线(Ant1)无需外接天线(板载 PCB 天线)
Matter over Ethernet不支持,建议改用frdm板卡板载以太网接口,无需额外处理

构建环境准备

在开始构建前,需要按照 CHIP NXP Examples Guide for FreeRTOS platforms 中 "Set-up the build environment" 一节完成环境搭建。核心步骤如下:

Step 1:检出 NXP 相关子模块

user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive

Step 2:激活 Matter 环境

首次配置或本地环境过期时运行:

user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/bootstrap.sh -p all,nxp

环境已就绪时可直接激活:

user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/activate.sh

Step 3:安装 NXP MCUX SDK

user@ubuntu:~/Desktop/git$ third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common

Step 4:source mcux-env.sh

user@ubuntu:~/Desktop/git/connectedhomeip$ source <path to mcux sdk>/mcux-env.sh

Step 5:导出 ARMGCC_DIR(仅 CMake 构建需要)

CMake 构建要求ARMGCC_DIR指向 ARM GCC 工具链根目录,可使用 Matter 环境安装的工具链:

user@ubuntu:~/Desktop/git/connectedhomeip$ export ARMGCC_DIR=/path/to/connectedhomeip/.environment/cipd/packages/arm

提示:Step 1 和 Step 3 在环境已更新时可跳过;Step 2、4、5 需要在每个新的终端会话中重复执行。系统级依赖(git、ninja、python3-venv 等)请参照 docs/guides/BUILDING.md 的前置要求安装。

CMake 构建系统

CMake 构建的通用命令格式为:

user@ubuntu:~/Desktop/git/connectedhomeip$ west build -d <build_dir> -b <board> examples/<example_name>/nxp -DCONF_FILE_NAME=<prj_flavour.conf>

其中:

  • <build_dir>:构建输出目录;
  • <board>:目标板卡名称,RW61x 平台可选rdrw612bga(RD-RW612-BGA)或frdmrw612(FRDM-RW612);
  • examples/<example_name>/nxp:应用入口 CMakeLists.txt 所在路径;
  • CONF_FILE_NAME:指定位于examples/platform/nxp/config下的项目配置文件名称,构建系统会自动拼接为examples/platform/nxp/config/${CONF_FILE_NAME}

常用构建命令示例

以 All-Clusters 应用 + Matter over Wi-Fi 为例(frdmrw612板卡):

user@ubuntu:~/Desktop/git/connectedhomeip$ west build -d build_matter -b frdmrw612 examples/all-clusters-app/nxp -DCONF_FILE_NAME=prj_wifi.conf

Ethernet 配置的 CMake 构建示例(prj_eth.conf,使用 Thermostat 应用):

user@ubuntu:~/Desktop/git/connectedhomeip$ west build -d build_matter -b frdmrw612 examples/thermostat/nxp -DCONF_FILE_NAME=prj_eth.conf

可用项目配置文件与平台兼容性

CONF_FILE_NAME可取的配置在 nxp_examples_freertos_platforms.md 中有完整清单,与 RW61x 相关的核心配置如下:

配置文件描述支持平台
prj_wifi.confWi-FiRW61x, RT1060, RT1170
prj_wifi_fdata.confWi-Fi + factory dataRW61x, RT1060, RT1170
prj_wifi_ota_fdata.confWi-Fi + factory data + OTARW61x, RT1060, RT1170
prj_wifi_ota.confWi-Fi + OTARW61x, RT1060, RT1170
prj_wifi_onnetwork.confWi-Fi onnetwork(无 BLE)RW61x, RT1060, RT1170
prj_thread_ftd.confThread FTDRW61x, RT1060, RT1170, MCXW71, MCXW72
prj_thread_ftd_fdata.confThread FTD + factory dataRW61x, RT1060, RT1170, MCXW71, MCXW72
prj_thread_ftd_wifi_br_ota.confWi-Fi + Thread Border Router + OTARW61x, RT1060, RT1170
prj_thread_ftd_wifi_br_ota_fdata.confWi-Fi + Thread Border Router + OTA + factory dataRW61x, RT1060, RT1170
prj_eth.confEthernetRW61xfrdm
prj_eth_fdata.confEthernet + factory dataRW61xfrdm
prj_eth_ota.confEthernet + OTARW61xfrdm

prj_*配置实际位于 examples/platform/nxp/config,不同 flavor 通过叠加启用 Wi-Fi/Thread/factory data/OTA 等能力,构建产物位于build_dir/app.elf

CMake 构建的自定义

如需进一步定制,可直接修改应用的prj.conf,或在命令行通过-DCONF_FILE指定自定义配置文件(支持多个,以分号分隔):

user@ubuntu:~/Desktop/git/connectedhomeip$ west build -d <build_directory> -b <board> <path/to/examples> -DCONF_FILE="/path/to/prj_<custom1>.conf;/path/to/prj_<custom2>.conf"

也可以在命令行直接设置 Kconfig 符号,例如-DCONFIG_CHIP_DEVICE_DISCRIMINATOR=0xF01将 discriminator 设为 0xF01(十进制 3841)。其他常用参数:

  • --config release:release 模式构建,默认是 debug;
  • -Dcore_id:多核板卡指定目标核;
  • -DCHIP_ROOT:out-of-tree 应用指定 connectedhomeip 仓库根路径。

关于 BLE 与 Matter CLI:CMake 构建的 Matter 应用默认启用 BLE 和 Matter-CLI。需要禁用时,参照 nxp_examples_freertos_platforms.md 中 "How to customize the CMake build" 一节调整 Kconfig。以 Zephyr 端口为例,BLE/CLI 相关的源文件选择逻辑位于 examples/thermostat/nxp/zephyr/CMakeLists.txt(如CONFIG_CHIP_CUSTOM_BLE_ADV_DATACONFIG_CHIP_LIB_SHELL条件编译块)。

GN 构建系统

GN 构建通过在gn gen命令行传递参数来配置应用。RW61x 的 GN 示例在仓库中的对应目录为 examples/thermostat/nxp/rt/rw61x(rt表示 FreeRTOS/RT 端口),其工程结构由 BUILD.gn 定义。

说明:原文档中的 GN 命令示例使用了examples/all-clusters-app/nxp/rt/rw61x路径;在当前仓库快照中,RW61x 的 RT 工程位于examples/thermostat/nxp/rt/rw61x,GN 命令应在此类包含rt/rw61x/BUILD.gn的目录下执行,并将目录替换为你实际使用的示例工程。

Matter over Wi-Fi(BLE 配网)

user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x$ gn gen --args="chip_enable_wifi=true" out/debug user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x$ ninja -C out/debug

Matter over Thread(BLE 配网)

user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x$ gn gen --args="chip_enable_thread=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" out/debug user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x$ ninja -C out/debug

其中chip_inet_config_enable_ipv4=false关闭 IPv4(Thread 仅需 IPv6),chip_config_network_layer_ble=true启用 BLE 配网通道。

Matter over Wi-Fi + OpenThread Border Router

该配置支持通过Thread Border Router management cluster下发 Thread 凭据。建议(非必需)同时启用 Matter CLI,以便通过otcli命令控制 Border Router 上的 Thread 网络,并支持 Thread 凭据共享等扩展功能。

注意:Thread Border Router management cluster 目前仅在thermostat 应用中支持。

user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw610$ gn gen --args="chip_enable_wifi=true chip_enable_thread=true nxp_enable_matter_cli=true" out/debug user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rw610$ ninja -C out/debug

从 BUILD.gn 可以看到,同时启用chip_enable_wifichip_enable_thread时,构建会额外定义CHIP_DEVICE_CONFIG_ENABLE_TBR=1并把 FreeRTOS 堆扩大到 250 KB,以满足 Border Router 处理大量 mDNS 报文的需求。

GN 通用选项与 RW61x 特有选项

GN 构建产物位于out/debug/chip-rw61x-all-cluster-example。常用 GN 选项完整列表见 nxp_examples_freertos_platforms.md 中的 "General information" 表格,例如:

GN 参数说明
chip_enable_wifi=true启用 Wi-Fi
chip_enable_thread=true启用 Thread
chip_enable_ble=false禁用 BLE(默认启用)
nxp_enable_matter_cli=true启用 Matter-CLI
is_debug=true optimize_debug=falsedebug 模式构建
nxp_use_factory_data=true使用预置的制造数据分区(证书/密钥)
chip_enable_ota_requestor=true启用 OTA Requestor(RT1060/RT1170/RW61x 需同时加no_mcuboot=false

RW61x 特有的 GN 选项:

  • board_version:选择板卡变体。默认选择NXP RD-RW612-BGA;切换为NXP FRDM-RW612时,需在gn gen命令中加入board_version="frdm"。对应代码分支见 BUILD.gn:frdm时引入frdmrw612/下的clock_config.cboard.c,否则使用rdrw612bga/版本。

此外,BUILD.gn 还暴露了wifi_auto_connect_at_boot(配合wifi_auto_connect_at_boot_ssid/wifi_auto_connect_at_boot_password在启动时自动连接指定 Wi-Fi)与setup_discriminator(默认 3840)等参数。

制造数据与 DAC 私钥安全

关于制造数据(factory data)的写入流程,请参阅 Guide for writing manufacturing data on NXP devices。

RW61x 应用演示了加密的 Matter 制造数据存储:Matter 制造数据在烧录到设备 Flash 前,应使用 AES 128 软件密钥加密。

安全 DAC 私钥使用(实验性)

RW61x 支持将 DAC(Device Attestation Certificate,设备认证证书)私钥放入 S50 安全子系统中安全使用,但该功能为实验特性,存在已知限制:

  • 并发访问风险:对ELS(EdgeLock Subsystem)密码模块的多次访问之间缺少保护,DAC 私钥签名操作可能存在并发访问问题;
  • 启用方式:在gn gen命令中加入nxp_enable_secure_dac_private_key_storage=true,且必须已设置nxp_use_factory_data=true
  • DAC 私钥生成:若需要将明文私钥转换为带 S50 的 blob,还需在gn gen中加入chip_convert_dac_private_key=1(前提是nxp_enable_secure_dac_private_key_storage=1已设置)。

ELS并发访问风险必须在其修复之前保持禁用,官方不推荐默认开启该功能。

DAC 私钥 blob 生成(DAC private key blob generation)

RW61x 提供一种"静态安全"(at rest)保护机制:将存储在制造数据分区中的32 字节明文 DAC 私钥转换为48 字节的 ELS 硬件包裹 blob。该 blob 是设备唯一的,只能由创建它的同一 S50 硬件实例解包,从而防止私钥被从 Flash 中提取。

这是一个产线一次性操作(provisioning-time operation),需要先烧录一个专用的中间二进制。整个流程分为三步:

Step 1:构建 blob 生成专用固件

使用启用CONFIG_NXP_FACTORY_DAC_BLOB_GENERATION的配置构建专用 Matter 应用二进制。CMake 构建示例:

west build -d build_matter_blob -b frdmrw612 examples/all-clusters-app/nxp \ -DCONF_FILE_NAME=prj_wifi_fdata.conf \ -DCONFIG_NXP_FACTORY_DAC_BLOB_GENERATION=y

该 Kconfig 符号的作用可以从 examples/all-clusters-app/nxp/zephyr/CMakeLists.txt 的源码得到印证:当CONFIG_NXP_FACTORY_DAC_BLOB_GENERATION为真时,构建会额外加入gn_build/rt_sdk/sdk_hook/els_pkc/ELSFactoryData.c及其头文件路径,这正是执行 ELS 私钥转换的钩子实现。

Step 2:烧录并运行 blob 生成固件

将专用固件烧录到应用的 Flash 区域(不要擦除 factory data 分区)并启动设备。UART 日志会依次打印:

SSS: convert DAC private key to blob SSS: extracted blob from DAC private key SSS: replaced DAC private key with secured blob SSS: updated factory data

Step 3:烧录正式 Matter 应用固件

重新烧录未启用CONFIG_NXP_FACTORY_DAC_BLOB_GENERATION的正式 Matter 应用固件。由于 factory data 分区中已是包裹后的 blob,应用启动时不会再做转换,而是通过 S50 硬件解包 blob 并执行 DAC 签名操作——明文私钥全程不会出现在可访问内存中。

前提与限制:执行该转换前,factory data 二进制必须已烧录进 Flash(步骤见上文 制造数据 链接);除非覆盖 factory data 分区,此转换只需执行一次

烧录与调试

官方推荐使用 SeggerJLink进行烧录与调试。安装完成后,在终端运行JLink进入交互界面:

$ JLink

交互操作如下:

J-Link > connect Device> ? # 弹出对话框 -> 选择 `RW612` Please specify target interface: J) JTAG (Default) S) SWD T) cJTAG TIF> S Specify target interface speed [kHz]. <Default>: 4000 kHz Speed> # <enter> J-Link > exec EnableEraseAllFlashBanks J-Link > erase 0x8000000, 0x88a0000

烧录 ELF 可执行文件:

J-Link > loadfile <application_binary>

若以二进制格式烧录,则使用loadbin并指定加载地址:

J-Link > loadbin <application_binary>.bin 0x8000400

注意:erase 0x8000000, 0x88a0000会擦除整个 Flash 区域;如需保留 factory data 分区(例如执行 DAC blob 转换流程),请勿擦除对应地址范围。

测试示例应用

完整的测试方法请参考 nxp_examples_freertos_platforms.md 中的 "Testing the example" 一节,测试通常配合 CHIP Tool 控制器完成:

  • Matter over Wi-Fi:使用ble-wifi配对方式完成配网;
  • Matter over Thread:使用ble-thread配对方式;
  • Wi-Fi + Border Router:通过 TBR management cluster 或 Matter CLI 的otcli命令创建/加入 Thread 网络(详细步骤见 nxp_otbr_guide.md),设备本身通过ble-wifi配网。

UART 连接细节

启用 CLI 后测试需要同时连接 UART1 与 UART2:

端口硬件接口连接方式
UART1Flexcomm3直接插入 USB 线查看输出
UART2Flexcomm0引脚接到 USB-to-UART 适配器

UART2 引脚位置:

  • NXP RD-RW612-BGA:使用连接器HD2 pin 03
  • NXP FRDM-RW612:使用J5 pin 4(mikroBUS 的 TX)。

两个串口参数均为:波特率 115200、8 数据位、1 停止位、无校验、无流控。UART1 用于输入 CLI 命令,UART2 用于打印 Matter 运行日志。

Matter CLI 附加命令

NXP 应用在默认 Matter CLI 之外支持以下附加命令(默认命令列表见 examples/shell/README.md):

> help [...] mattercommissioning Open/close the commissioning window. Usage : mattercommissioning [on|off] matterfactoryreset Perform a factory reset on the device matterreset Reset the device
  • matterfactoryreset:完全擦除文件系统(所有 Matter 设置被清除);
  • matterreset:设备重启但保留设置。

通过 otcli 启动 Thread 网络(Border Router)

由于 OpenThread 协议栈更新,直接设置 channel/panid/network key 已不足以组网,需先初始化新的 dataset:

> otcli dataset init new Done > otcli dataset Active Timestamp: 1 Channel: 25 Channel Mask: 0x07fff800 Ext PAN ID: 42af793f623aab54 Mesh Local Prefix: fd6e:c358:7078:5a8d::/64 Network Key: f824658f79d8ca033fbb85ecc3ca91cc Network Name: OpenThread-b870 PAN ID: 0xb870 PSKc: f438a194a5e968cc43cc4b3a6f560ca4 Security Policy: 672 onrc 0 Done > otcli dataset panid 0xabcd Done > otcli dataset channel 25 Done > otcli dataset commit active Done > otcli ifconfig up Done > otcli thread start Done > otcli state leader Done

state返回leader即表示当前设备已成为 Thread 网络中的 Leader。

OTA 软件升级

RW61x 示例支持 Over-The-Air 软件升级,具体操作流程(包括 MCUBoot、SW v2 等变体)请参阅专用指南 Matter Over-The-Air Software Update with NXP RW61x example applications。

在 GN 构建中启用 OTA 时,需要同时设置chip_enable_ota_requestor=trueno_mcuboot=false。从 BUILD.gn 可以看出:当启用 OTA 且使用 MCUBoot 时,链接器会为 bootloader 预留0x20000(128 KB)空间;若设置no_mcuboot=true,应用会链接在 Flash 基址,构建时会打印警告提示这将导致无法应用软件更新。CMake 侧可选用prj_wifi_ota*.confprj_thread_ftd_ota*.confprj_eth_ota*.conf等配置组合(见前文配置表)。

Thread Border Router 概览

启用 Thread Border Router 支持的方法见上文构建一节(Wi-Fi + Thread 双栈,CHIP_DEVICE_CONFIG_ENABLE_TBR=1)。完整的 Border Router 指南位于 nxp_otbr_guide.md,其中包含 TBR management cluster 的使用方法以及 secondary network commissioning interface 的启用方式(后者需在 GN 参数中增加chip_enable_secondary_nwk_if=truechip_device_config_thread_network_endpoint_id=2,且目前仅在 thermostat 应用的 Wi-Fi + OTBR 配置下支持)。

扩展:启用 SE05x 安全元件

RW61x 可将密码学运算(crypto operations)卸载到外接的 NXP SE05x 安全元件。

硬件连接

使用 OM-SE051ARD 扩展板时的连接关系如下:

信号FRDM-RW612 引脚OM-SE051ARD 引脚
I2C SDAJ1_2J2_9
I2C SCLJ1_4J2_10
3V3J3_8J8_4
GNDJ3_14J8_7
ENA(可选)J1_12J1_6

构建选项

使用 CMake 配置,通过-DCONFIG_CHIP_SE05X=y将密码学运算卸载到 SE05x:

ubuntu@ubuntu-Latitude-5420:~/matter/connectedhomeip$ west build -d <out_dir> -b frdmrw612 examples/thermostat/nxp/ -DCONF_FILE_NAME=prj_wifi.conf -DCONFIG_CHIP_SE05X=y

注意:如需通过使能引脚(enable pin)控制安全元件,需将 OM-SE051ARD 板上的跳线 J14 接到 3-4 引脚,并额外使用-DCONFIG_SE05X_HOST_GPIO=y构建,以允许 frdm-rw61x 的 GPIO 按需控制使能引脚。

SE05x 的更多配置细节(如安全通道协议-DCONFIG_SE05X_SCP03)请参阅 SE05x 指南。SE05x 集成在 CMake 侧通过 app_se05x.cmake 与third_party/simw-top-mini模块接入(见 examples/thermostat/nxp/zephyr/CMakeLists.txt)。

参考资料

  • CHIP NXP Examples Guide for FreeRTOS platforms:环境搭建、配置文件总表、GN/CMake 通用选项、测试流程
  • NXP Manufacturing Flow:制造数据生成与写入
  • Matter OTA with RW61x:OTA 升级完整流程
  • NXP OpenThread Border Router Guide:Border Router 配置与 TBR management cluster
  • NXP SE05x Guide:SE05x 安全元件配置
  • 源码参考:examples/thermostat/nxp/rt/rw61x/BUILD.gn、examples/all-clusters-app/nxp/zephyr/CMakeLists.txt、examples/platform/nxp/config

【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 11:58:42

Rust 工具链入门:rustup、cargo 与 rust-analyzer 配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 11:56:37

全息投影与AR全解析:从360度展示柜到Vuforia交互开发

简介&#xff1a;这是一份完整的《全息投影方案》范文文档&#xff0c;面向需要撰写全息投影、虚拟成像或多媒体展示方案的技术人员、项目策划人员及高校学生。文档系统梳理了全息投影基于光干涉与衍射的记录、再现技术原理&#xff0c;并结合博物馆文物展示、历史场景复现等案…

作者头像 李华
网站建设 2026/9/19 11:56:18

Claude Code 里 Haiku 与 Sonnet 轮着干活?TaoToken 这样改 settings.json

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 11:56:16

vtkResliceCursorWidget 设计还原,把 Codex 通道改到 TaoToken 再对照源码

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 11:55:55

链游投资新范式:N+联盟与链上行为分析方法论

1. N投资联盟不是新基金&#xff0c;而是链游生态的“联合体实验”看到标题里“Galaxy、Republic、Alameda成立N投资联盟”&#xff0c;很多人第一反应是&#xff1a;又一家新VC诞生了&#xff1f;募资多少&#xff1f;LP是谁&#xff1f;GP团队背景如何&#xff1f;——但如果…

作者头像 李华
网站建设 2026/9/19 11:54:05

Raspberry Pi Pico GPIO实战:从点亮LED到8种工作模式解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华