当前位置: 首页 > article >正文

ESP32 各型号远程 OTA 分区表建议与实战说明

ESP32 各型号远程 OTA 分区表建议与实战说明1. OTA 分区表核心概念ESP32 系列做远程 OTA核心不是看“ESP32、ESP32-S3、ESP32-C3”这些名字而是看Flash 容量、固件大小、是否需要文件系统、是否需要回滚保护。ESP-IDF 的分区表默认烧录在 Flash 的0x8000地址占用一个完整 4KB 扇区普通 App 默认从0x10000开始。分区表每一项包含Name、Type、SubType、Offset、Size、Flags等字段。([Espressif Systems][1])OTA 项目通常至少需要otadata, data, ota ota_0, app, ota_0 ota_1, app, ota_1其中otadata用来记录当前应该启动哪个 OTA 分区ota_0和ota_1是两个 App 槽位设备运行其中一个分区时可以把新固件写入另一个分区。ESP-IDF/Arduino-ESP32 文档都说明基础 OTA 一般需要两个 OTA App 分区和一个 OTA data 分区。([Espressif Systems][1])2. 各型号 OTA 分区表推荐说明同一套分区表格式适用于 ESP32、ESP32-S2、ESP32-S3、ESP32-C3、ESP32-C6、ESP32-H2 等 ESP-IDF 支持的芯片。真正影响分区表的是 Flash 大小。芯片型号常见 Flash推荐 OTA 分区方案建议ESP32 / ESP32-WROOM / ESP32-WROVER4MB / 8MB / 16MB4MB 基础 OTA 或 8MB 平衡 OTA普通 WiFi 设备 4MB 可用带 HTTPS、Web 配置页、日志建议 8MBESP32-S24MB / 8MB / 16MB4MB 或 8MB OTA只有 WiFi无蓝牙USB 相关项目建议 8MB 起ESP32-S38MB / 16MB 常见8MB 或 16MB OTA摄像头、语音、LVGL、AI、Web 资源建议 16MBESP32-C22MB / 4MB2MB 勉强 OTA推荐 4MB2MB 只能做极简 OTA不建议放复杂 HTTPS 固件ESP32-C34MB / 8MB4MB 基础 OTA小型 IoT、传感器、开关类设备很适合ESP32-C58MB 常见8MB OTA新项目建议 ESP-IDF多协议功能建议预留更大 App 分区ESP32-C64MB / 8MB / 16MB8MB 或 16MB OTAWiFi 6、BLE、Thread、Zigbee 项目建议 8MB 起乐鑫模块页列出 C6 WROOM 有 4/8/16MB 规格。([Espressif Systems][2])ESP32-H24MB / 8MB4MB 或 8MB OTAH2 主要是 BLE/Thread/Zigbee不自带 WiFi远程 OTA 通常依赖网关ESP32-P416MB / 32MB 常见外部 Flash16MB 或 32MB OTAP4 偏 HMI、视觉、边缘计算建议大 Flash3. 分区表选择原则3.1 远程 OTA 最少要两个 App 分区OTA 的基本逻辑是当前运行 ota_0 下载新固件到 ota_1 校验成功 修改 otadata 重启进入 ota_1 下一次更新再写回 ota_0所以远程 OTA 不建议只有一个 App 分区。一个 App 分区只能串口升级或者做非常复杂的临时下载方案不适合普通远程 OTA。3.2 建议去掉 factory 分区ESP-IDF 默认 OTA 表经常是factory ota_0 ota_1但是factory分区不会被 OTA 更新。官方文档也说明如果想节省 Flash可以去掉 factory 分区直接使用ota_0作为默认应用分区。([Espressif Systems][1])推荐新项目使用ota_0 ota_1而不是factory ota_0 ota_1原因是 4MB Flash 很紧张去掉 factory 可以让两个 OTA 分区更大。3.3 App 分区必须够大判断方法单个 OTA 分区大小 当前 firmware.bin 大小 未来增长空间例如当前固件 1.1MB 建议单个 OTA 分区至少 1.5MB 更推荐 2MB 以上如果你的固件包含HTTPS OTA 蓝牙 WiFi 配网 WebServer LVGL 摄像头 音频 证书 字体 图片资源就不要用太小的 1MB App 分区。4. 推荐分区表一2MB Flash 极限 OTA适合ESP32-C2 2MB 极简传感器 无复杂 Web 无大资源 固件小于 900KB不推荐HTTPS 很复杂 BLE WiFi 大量库 WebServer 文件系统 LVGL 摄像头文件名建议partitions_ota_2mb.csv# ESP-IDF Partition Table # 适用场景2MB Flash 极限 OTA # 注意2MB 做 OTA 非常紧张只适合极简固件 # Name, Type, SubType, Offset, Size, Flags # NVS保存 WiFi、参数、设备配置 nvs, data, nvs, 0x9000, 0x3000, # OTA 选择信息固定 8KB otadata, data, ota, 0xC000, 0x2000, # PHY 校准数据一般保留 4KB phy_init, data, phy, 0xE000, 0x1000, # 第一个 OTA App 分区960KB ota_0, app, ota_0, 0x10000, 0xF0000, # 第二个 OTA App 分区960KB ota_1, app, ota_1, 0x100000, 0xF0000, # 崩溃转储可选如果固件太大可以删除 coredump, data, coredump,0x1F0000, 0x10000,5. 推荐分区表二4MB Flash 基础 OTA适合ESP32-WROOM-32 4MB ESP32-C3 4MB ESP32-S2 4MB ESP32-C6 4MB 普通 WiFi 远程升级项目特点两个 App 分区接近 1.8MB 适合普通 OTA 不放 SPIFFS / LittleFS文件名建议partitions_ota_4mb_basic.csv# ESP-IDF Partition Table # 适用场景4MB Flash最大化 App 空间 # Name, Type, SubType, Offset, Size, Flags # NVS保存 WiFi、设备配置、Token 等 nvs, data, nvs, 0x9000, 0x5000, # OTA 选择信息必须有固定 8KB otadata, data, ota, 0xE000, 0x2000, # 第一个 OTA App 分区约 1.8125MB ota_0, app, ota_0, 0x10000, 0x1D0000, # 第二个 OTA App 分区约 1.8125MB ota_1, app, ota_1, 0x1E0000, 0x1D0000, # 崩溃转储用于保存 panic 信息调试阶段建议保留 coredump, data, coredump,0x3B0000, 0x10000, # 预留参数区可以保存设备 SN、出厂参数、校准数据 factory_param,data,nvs, 0x3C0000, 0x40000,如果你的固件超过 1.8MB这个方案就不够了建议换 8MB Flash。6. 推荐分区表三4MB Flash 带文件系统 OTA适合需要少量网页资源 需要存日志 需要 LittleFS / SPIFFS 固件控制在 1.5MB 以内文件名建议partitions_ota_4mb_storage.csv# ESP-IDF Partition Table # 适用场景4MB Flash同时需要 OTA 和文件系统 # 缺点App 分区比 basic 方案小 # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xE000, 0x2000, # 每个 App 分区 1.5MB ota_0, app, ota_0, 0x10000, 0x180000, ota_1, app, ota_1, 0x190000, 0x180000, # 文件系统区约 896KB spiffs, data, spiffs, 0x310000, 0xE0000, # 崩溃转储64KB coredump, data, coredump,0x3F0000, 0x10000,如果是 ESP-IDF 新项目也可以把spiffs改成fat具体看你用 SPIFFS、LittleFS 还是 FATFS。7. 推荐分区表四8MB Flash 平衡 OTA适合ESP32-S3 8MB ESP32-C6 8MB ESP32-C5 8MB ESP32-WROVER 8MB 需要 HTTPS OTA 需要 Web 配置页 需要日志、图片、证书、资源文件Arduino-ESP32 官方示例中也给出了 8MB OTA Storage 的常见布局例如两个约 2MB App 分区加文件系统。([Espressif Systems][3])这里给一个更偏向 ESP-IDF 项目的 8MB 平衡方案文件名建议partitions_ota_8mb.csv# ESP-IDF Partition Table # 适用场景8MB Flash推荐大多数正式 OTA 项目使用 # Name, Type, SubType, Offset, Size, Flags # NVS32KB用于 WiFi、配置、Token nvs, data, nvs, 0x9000, 0x5000, # OTA 选择信息8KB otadata, data, ota, 0xE000, 0x2000, # App03.1875MB ota_0, app, ota_0, 0x10000, 0x330000, # App13.1875MB ota_1, app, ota_1, 0x340000, 0x330000, # 文件系统约 1.5625MB spiffs, data, spiffs, 0x670000, 0x180000, # 崩溃转储64KB coredump, data, coredump,0x7F0000, 0x10000,这个方案比较适合WiFi MQTT HTTPS OTA BLE 配网 WebServer 传感器数据缓存 小型 UI 资源8. 推荐分区表五16MB Flash 大型 OTA适合ESP32-S3-N16R8 ESP32-S3 摄像头项目 LVGL 项目 大字体 图片资源 离线网页 音频提示 复杂 Web 面板文件名建议partitions_ota_16mb.csv# ESP-IDF Partition Table # 适用场景16MB Flash大型 OTA 项目 # Name, Type, SubType, Offset, Size, Flags # NVS64KB nvs, data, nvs, 0x9000, 0x7000, # OTA 选择信息8KB otadata, data, ota, 0x10000, 0x2000, # 为了 App 分区 64KB 对齐这里预留一小段 reserved, data, 0x40, 0x12000, 0xE000, # App06MB ota_0, app, ota_0, 0x20000, 0x600000, # App16MB ota_1, app, ota_1, 0x620000, 0x600000, # 文件系统约 3.75MB spiffs, data, spiffs, 0xC20000, 0x3D0000, # 崩溃转储64KB coredump, data, coredump,0xFF0000, 0x10000,注意如果你不想手动计算偏移也可以把 App 之后的 Offset 留空让工具自动对齐。ESP-IDF 文档说明CSV 中 Offset 留空时gen_esp32part.py会根据前一个分区和对齐要求自动计算App 分区偏移需要 64KB 对齐。([Espressif Systems][1])9. 推荐分区表六16MB 自动偏移写法这种写法更安全不容易算错地址。# ESP-IDF Partition Table # 自动偏移版本推荐给不想手算地址的项目 # 注意第一个分区建议保留 0x9000 # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x7000, otadata, data, ota, , 0x2000, phy_init, data, phy, , 0x1000, # App 分区 Offset 留空工具会自动 64KB 对齐 ota_0, app, ota_0, , 6M, ota_1, app, ota_1, , 6M, # 文件系统区 spiffs, data, spiffs, , 0x3C0000, # 崩溃转储 coredump, data, coredump,, 0x10000,10. 为什么不建议 1MB 1MB OTAESP-IDF 默认示例中常见factory, 1M ota_0, 1M ota_1, 1M这个表适合早期简单项目但现在很多项目很容易超过 1MB例如WiFi BLE HTTPS MQTT JSON 证书 NVS WebServer 日志 OTA 回滚如果固件超过分区大小编译时会报类似app partition is too small或者烧录后无法正常启动。所以实际项目建议4MB Flash每个 OTA App 至少 1.5MB 8MB Flash每个 OTA App 建议 2MB ~ 3.2MB 16MB Flash每个 OTA App 建议 4MB ~ 6MB11. ESP-IDF 具体怎么配置 OTA 分区表11.1 创建 CSV 文件在项目根目录创建partitions_ota.csv例如your_project/ ├── CMakeLists.txt ├── main/ │ └── main.c ├── partitions_ota.csv └── sdkconfig11.2 menuconfig 配置执行idf.py menuconfig进入Partition Table选择Custom partition table CSV然后填写partitions_ota.csv再进入Serial flasher config确认 Flash 大小4MB / 8MB / 16MBFlash 大小必须和你的开发板真实 Flash 一致否则会出现分区超出 Flash 的问题。11.3 查看分区表执行idf.py partition-table它会输出最终生成的分区布局。ESP-IDF 构建系统会检查 App 是否能放入可用 App 分区如果固件太大会在构建阶段报错或警告。([Espressif Systems][1])11.4 第一次烧录如果你改过分区表建议先擦除整片 Flashidf.py-pCOM3 erase-flash然后烧录idf.py-pCOM3 flash monitorLinux / macOS 示例idf.py-p/dev/ttyUSB0 erase-flash idf.py-p/dev/ttyUSB0 flash monitor12. ESP-IDF 远程 HTTPS OTA 代码框架12.1 CMakeLists.txt 加依赖idf_component_register( SRCS main.c INCLUDE_DIRS . REQUIRES esp_https_ota esp_http_client app_update )12.2 简化 OTA 代码#includeesp_https_ota.h#includeesp_log.h#includeesp_system.h#defineOTA_URLhttps://your-server.com/firmware.binstaticconstchar*TAGOTA;externconstcharserver_cert_pem_start[]asm(_binary_server_cert_pem_start);voidstart_https_ota(void){esp_http_client_config_thttp_config{.urlOTA_URL,.cert_pemserver_cert_pem_start,};esp_https_ota_config_tota_config{.http_confighttp_config,};ESP_LOGI(TAG,Starting OTA from: %s,OTA_URL);esp_err_tretesp_https_ota(ota_config);if(retESP_OK){ESP_LOGI(TAG,OTA success, restarting...);esp_restart();}else{ESP_LOGE(TAG,OTA failed: %s,esp_err_to_name(ret));}}esp_https_ota()会建立 HTTPS 连接、读取固件、写入 OTA 分区并完成 OTA 流程成功后需要调用esp_restart()重启进入新固件。([Espressif Systems][4])13. OTA 回滚建议正式产品建议开启CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE开启后新固件第一次启动时需要主动确认自己可用#includeesp_ota_ops.hvoidapp_confirm_if_pending(void){constesp_partition_t*runningesp_ota_get_running_partition();esp_ota_img_states_tota_state;if(esp_ota_get_state_partition(running,ota_state)ESP_OK){if(ota_stateESP_OTA_IMG_PENDING_VERIFY){// 这里可以检查 WiFi、传感器、配置、任务是否正常bool oktrue;if(ok){esp_ota_mark_app_valid_cancel_rollback();}else{esp_ota_mark_app_invalid_rollback_and_reboot();}}}}ESP-IDF 的回滚机制会在新 App 第一次启动后等待确认如果没有确认且发生重启Bootloader 会把它标记为失败并回滚到上一个可用 OTA 分区。([Espressif Systems][5])建议在app_main()前期调用voidapp_main(void){app_confirm_if_pending();// 后续初始化 WiFi、MQTT、业务逻辑}14. Arduino / PlatformIO 怎么用自定义 OTA 分区表14.1 Arduino IDE在.ino同级目录放partitions.csvArduino-ESP32 文档说明可以在草图同目录创建partitions.csv构建系统会使用这个自定义分区表。([Espressif Systems][3])示例目录MyOtaProject/ ├── MyOtaProject.ino └── partitions.csv4MB OTA 示例# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xE000, 0x2000, app0, app, ota_0, 0x10000, 0x1D0000, app1, app, ota_1, 0x1E0000,0x1D0000, spiffs, data, spiffs, 0x3B0000,0x50000,14.2 PlatformIO在项目根目录放partitions_ota.csv然后修改[env:esp32dev] platform espressif32 board esp32dev framework arduino board_build.partitions partitions_ota.csv board_upload.flash_size 4MBESP32-S3 示例[env:esp32-s3-devkitc-1] platform espressif32 board esp32-s3-devkitc-1 framework arduino board_build.partitions partitions_ota_8mb.csv board_upload.flash_size 8MB15. 分区表注释写法建议CSV 文件中推荐这样写注释# 这是注释 # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000,不建议这样写nvs, data, nvs, 0x9000, 0x5000, # 保存 WiFi原因是不同构建环境对行尾中文注释兼容性不一定一致。最稳妥的方式是# NVS保存 WiFi、Token、设备参数 nvs, data, nvs, 0x9000, 0x5000,16. 常见错误和解决办法16.1 固件太大错误现象app partition is too small解决1. 换 8MB 或 16MB Flash 2. 增大 ota_0 / ota_1 3. 删除 factory 分区 4. 减少 SPIFFS / LittleFS 空间 5. 关闭不必要组件16.2 OTA 成功但重启后还是旧版本可能原因1. 没有 otadata 分区 2. OTA 写入后没有设置 boot partition 3. 没有 esp_restart() 4. 分区表不是 OTA 分区表 5. 实际运行的是 factory 分区如果用esp_https_ota()成功后它会处理切换逻辑但仍然需要你调用esp_restart();16.3 改了分区表后运行异常解决idf.py erase-flash idf.py flash monitor原因是旧分区数据还残留在 Flash 里。ESP-IDF 文档也提醒更新分区表不会自动擦除旧数据必要时要整片擦除。([Espressif Systems][1])16.4 4MB Flash 放不下 HTTPS OTAHTTPS OTA 需要 TLS、证书、HTTP Client、OTA 组件固件会明显变大。建议ESP32-C3 / ESP32 普通项目4MB 勉强够 ESP32-S3 / C6 / 复杂项目建议 8MB 起 带 UI / 摄像头 / Web 资源建议 16MB16.5 开启 Flash Encryption 后 OTA 失败注意事项1. app 分区会被自动加密 2. otadata 也会被加密 3. OTA 写入必须走 ESP-IDF OTA API 4. 不要自己乱写 Flash 偏移ESP-IDF 文档说明开启 Flash Encryption 后Bootloader、分区表、otadata、所有 app 分区等会默认加密。([Espressif Systems][6])17. 我的实际推荐17.1 新手 / 普通项目ESP32 / ESP32-C3 / ESP32-S2 Flash4MB 分区表4MB basic OTA推荐partitions_ota_4mb_basic.csv17.2 正式联网产品ESP32 / ESP32-S3 / ESP32-C3 / ESP32-C6 Flash8MB 分区表8MB balanced OTA推荐partitions_ota_8mb.csv17.3 摄像头 / 屏幕 / LVGL / 复杂项目ESP32-S3 Flash16MB PSRAM8MB 分区表16MB large OTA推荐partitions_ota_16mb.csv17.4 ESP32-H2 / Zigbee / Thread 设备ESP32-H2 Flash4MB 或 8MB OTA 方式通常通过网关或 BLE / Thread 传输 分区表4MB basic OTA 或 8MB OTA注意ESP32-H2 不适合直接做 WiFi HTTPS OTA因为它本身不是 WiFi 芯片。18. 最终建议总结如果你不知道怎么选直接按下面来2MB Flash不建议 OTA除非极简固件 4MB Flash可以 OTA但不要放太多资源 8MB Flash最推荐正式项目够用 16MB FlashESP32-S3 / UI / 摄像头 / 大资源项目首选最推荐的通用方案ESP32-C3 / ESP324MB basic OTA ESP32-S3 / ESP32-C68MB OTA 起步 ESP32-S3 屏幕 / 摄像头16MB OTA不要盲目使用默认factory ota_0 ota_1更推荐ota_0 ota_1这样 OTA 分区更大后期不容易因为固件变大而爆分区。

相关文章:

ESP32 各型号远程 OTA 分区表建议与实战说明

ESP32 各型号远程 OTA 分区表建议与实战说明 1. OTA 分区表核心概念 ESP32 系列做远程 OTA,核心不是看“ESP32、ESP32-S3、ESP32-C3”这些名字,而是看 Flash 容量、固件大小、是否需要文件系统、是否需要回滚保护。 ESP-IDF 的分区表默认烧录在 Flash 的…...

别急着重装!遇到NVIDIA驱动“Building kernel modules”错误,先试试这3个“软”修复方案

别急着重装!遇到NVIDIA驱动“Building kernel modules”错误,先试试这3个“软”修复方案 当你看到屏幕上跳出ERROR: An error occurred while performing the step: "Building kernel modules"时,那种感觉就像开车时突然亮起发动机…...

Claude 4.7 Opus MAX会员深度测评:旗舰级AI的开发者适配升级,高效编码与复杂推理利器

在大模型向“高精度、强适配、可落地”迭代的当下,Anthropic于2026年4月正式推出的Claude 4.7 Opus MAX会员,精准锚定开发者、技术从业者及专业科研人员核心需求,以自验证架构升级、编程能力迭代、多模态性能突破为核心,成为旗舰级…...

AI自动生成Git提交信息:Dish AI Commit扩展深度配置与应用指南

1. 项目概述:一个全能的AI提交助手 如果你和我一样,每天都要在Git或SVN仓库里提交几十次代码,那么写提交信息(Commit Message)绝对是个让人头疼的活儿。写得过于简单,过几个月自己都看不懂;想写…...

虚拟鼠标库实战:用代码控制光标,提升屏幕录制与演示效率

1. 项目概述:为屏幕录制注入灵魂的虚拟鼠标如果你做过产品演示、软件教程或者功能讲解类的视频,肯定遇到过这样的烦恼:录屏软件捕捉到的鼠标指针移动轨迹是生硬的、跳跃的,甚至因为手抖而显得不够专业。一个流畅、精准、可控的鼠标…...

终极R3nzSkin国服特供版:英雄联盟皮肤自由切换完整指南

终极R3nzSkin国服特供版:英雄联盟皮肤自由切换完整指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server R3nzSkin国服特供版是一款专为中国服…...

视频对象中心学习:SlotContrast与SlotCurri解决过分割问题

1. 视频对象中心学习的挑战与机遇 在计算机视觉领域,视频对象中心学习(Object-Centric Learning)正逐渐成为理解动态场景的关键技术。这项技术旨在从视频序列中自动发现并表征其中的独立对象实体,为后续的跟踪、行为分析等任务奠定…...

Hearthstone-Script:解放双手的炉石传说自动化对战工具

Hearthstone-Script:解放双手的炉石传说自动化对战工具 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 你是否厌倦了重复的炉石传说日常任务…...

【不喜欢运动的人可以放心了】一生心跳10亿次:从鼩鼱到大象,一个跨越230物种的生命数学不变量

论文来源:arXiv:2604.27856 (2026) | Mesfin Taye 一、开篇:两种极端的生命,同一个心跳总数 想象一只侏儒鼩鼱(Suncus etruscus)。它体重约2克,比一个回形针还轻。为了维持这具微小身体的运转,…...

5分钟快速上手:Cat-Catch浏览器资源嗅探工具完全指南

5分钟快速上手:Cat-Catch浏览器资源嗅探工具完全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页上的视频无法下载而烦恼…...

将 Claude Code 编程助手的后端无缝切换至 Taotoken 提供的 Anthropic 通道

将 Claude Code 编程助手的后端无缝切换至 Taotoken 提供的 Anthropic 通道 1. 准备工作 在开始配置之前,请确保您已经拥有 Taotoken 平台的 API Key 和访问权限。登录 Taotoken 控制台,在「API 密钥」页面可以创建新的密钥或使用现有密钥。同时&#…...

Xilinx Spartan-3E与Intel StrataFlash的FPGA配置方案

1. 项目概述 作为一名从事FPGA开发多年的工程师,我深知配置存储方案对整个系统成本和可靠性的重要性。今天要分享的是Xilinx Spartan-3E系列FPGA与Intel StrataFlash存储器的无缝连接方案,这个技术在我们团队多个消费电子项目中已经验证了其稳定性和经济…...

快马平台助力fireworks-tech-graph:三步生成可交互技术架构原型

最近在做一个技术架构可视化的项目,发现从设计到落地验证的过程特别耗时。传统的做法需要先画草图,再用专业工具建模,最后还要写代码实现交互,整个过程至少要花上几天时间。直到尝试了InsCode(快马)平台,发现可以用更简…...

【C++ STL】探索STL的奥秘——vector底层的深度剖析和模拟实现!

vector的基本成员变量在模拟实现vector之前我们首先要了解vector的基本成员变量,然后在逐步进入到vector的一些核心接口的实现。如何知道这些成员变量呢?下面通过源码一探究竟:在这里插入图片描述有了上面的认识,那么我们模拟实现…...

别再傻傻分不清!LM193/LM393/LM2903电压比较器选型指南(附典型应用电路)

LM193/LM393/LM2903电压比较器实战选型手册:从参数解密到电路设计 在嵌入式硬件设计中,电压比较器就像电路中的"裁判员",时刻判断着输入信号的胜负。但当面对LM193、LM393、LM2903这些"孪生兄弟"时,不少工程师…...

三步解锁全球最大同人创作平台:AO3镜像站完全使用指南

三步解锁全球最大同人创作平台:AO3镜像站完全使用指南 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site 当你在深夜灵感迸发,想要阅读或创作同人作品时,却发现AO3网站无法访问&#x…...

拯救者笔记本性能调校终极指南:Lenovo Legion Toolkit完全使用教程

拯救者笔记本性能调校终极指南:Lenovo Legion Toolkit完全使用教程 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

3步搞定QMC加密音乐:qmc-decoder音频解密完全指南

3步搞定QMC加密音乐:qmc-decoder音频解密完全指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过这样的烦恼:在QQ音乐上精心收藏的…...

YOLOv11 改进 - C2PSA C2PSA融合DML动态混合层(Dynamic Mixing Layer)轻量级设计优化局部细节捕获与通道适应性,提升超分辨率重建质量

前言 本文介绍了动态混合层(DML),并将相关改进模块集成进YOLOv11。DML是SRConvNet核心组件,用于解决轻量级图像超分辨率任务中特征捕捉和通道适应性问题。它通过通道扩展拆分、多尺度动态深度卷积、通道洗牌与融合等步骤&#xf…...

Luxonis OAK-D 2代相机:机器人视觉与AI深度集成方案

1. Luxonis OAK-D系列2代相机深度解析Luxonis OAK-D系列2代相机是专为机器人视觉应用设计的革命性设备。作为一名长期从事计算机视觉开发的工程师,我第一次接触这个系列的产品就被其独特的设计理念所吸引。这不仅仅是一个简单的摄像头,而是将3D深度感知、…...

如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 ?基于LangChain创建Excel大文件分析技能

如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 目录 如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 核心原则(不可突破) 第一步:零成本前置降token(不碰原话,直接砍掉冗余) 第二步:…...

如何高效提升英雄联盟游戏体验:智能本地自动化助手完整指南

如何高效提升英雄联盟游戏体验:智能本地自动化助手完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari 是一款专…...

文件大小和token 的 256k 是一回事吗?NO

文件大小和token 的 256k 是一回事吗 目录 文件大小和token 的 256k 是一回事吗核心结论先给清楚一、核心计算:1MB Excel到底对应多少Token?二、不同模型的可行性判断1. 常规主流模型(90%用户的日常使用场景):完全不可…...

Arm Neoverse V1定时器架构与看门狗机制详解

1. Arm Neoverse V1定时器架构深度解析在Arm Neoverse V1架构中,定时器系统采用分层设计理念,通过硬件级的时间管理单元为不同安全等级和功能域提供精准的时间基准。整个定时器网络由系统参考时钟(REFCLK)驱动,其典型频率范围在10-100MHz之间…...

2026届学术党必备的降AI率工具实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下的这一学术写作场面里边,把人工智能辅助工具进行合理性运用,能够…...

2025届必备的十大AI科研神器推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,学术写作辅助技术已然有了很大进展,“一键生成论文”的功能随之…...

AI助力快速原型:用快马平台十分钟生成你的第一个谷歌浏览器截图扩展

最近在做一个需要频繁截图的工作,突然想到如果能有个浏览器扩展一键搞定截图和下载就好了。作为一个前端小白,本以为开发浏览器扩展会很复杂,没想到用InsCode(快马)平台十分钟就搞定了原型开发,这里分享一下具体实现思路。 扩展功…...

裸土数据集1117张VOC+YOLO格式

裸土数据集1117张VOCYOLO格式数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1117 标注数量(xml文件个数):1117 标注数量(txt文件…...

AI学术写作技能库:模块化设计赋能精准高效科研创作

1. 项目概述:一个为AI写作助手定制的学术写作技能库如果你是一名经常需要和论文、报告、基金申请书打交道的研究生、学者或者科研工作者,那你一定对AI写作助手不陌生。无论是Claude Code、Cursor还是Gemini CLI,它们都能在你卡壳的时候提供思…...

AI大模型网关存在SQL注入、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)

0x01 简介 近期,开源大语言模型网关 LiteLLM 中发现了一个严重的 SQL 注入(CVE-2026-42208)。该存在于 LiteLLM 1.81.16 到 1.83.7 版本之间,这一版本广泛用于许多大语言模型的前端接口,如 OpenAI 和 Anthropic 等模型…...