zhangyisong 27ae21bbea Add UID management, LED strip debug, and MCUboot signing updates
- Add UID encoding/decoding with flash storage and CRC16 validation
- Add write UID (0x07) and LED strip color (0x08) protocol commands
- Add debug LED strip configuration option
- Switch MCUboot signing from RSA-2048 to ECDSA-P256
- Add SMP serial client for firmware upload over UART
- Add firmware version output on boot
- Update upgrade documentation with ECDSA key generation steps
2026-08-20 21:16:30 +08:00

51 lines
1.8 KiB
Plaintext

# ── MCUboot 日志 ──
# 裁掉多余驱动后有 ~14KB 余量,恢复 INF 日志方便排障(usart3 调试口可见)
CONFIG_LOG=y
CONFIG_MCUBOOT_LOG_LEVEL_INF=y
# ── Serial Recovery 配置(Nordic 教程 Step 3.1)──
CONFIG_MCUBOOT_SERIAL=y
CONFIG_BOOT_SERIAL_UART=y
# 禁用 UART console,避免与 Serial Recovery 争用 UART(Nordic 教程 Step 3.2)
# 注意:教程里 console 和 serial recovery 共用同一个 UART 才需要禁。
# 本板 console 在 usart3(调试口)、serial recovery 在 usart1(协议口),
# 两个 UART 互不冲突,打开 console 才能看到 MCUboot 的启动日志,便于排障。
CONFIG_UART_CONSOLE=y
# 禁用 GPIO 按钮检测(我们通过升级命令触发,不需要按钮)
CONFIG_BOOT_SERIAL_ENTRANCE_GPIO=n
# 等待 mcumgr 命令触发进入 serial recovery
CONFIG_BOOT_SERIAL_WAIT_FOR_DFU=y
CONFIG_BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT=3000
# 喂狗(避免升级过程中看门狗复位)
CONFIG_BOOT_WATCHDOG_FEED=y
# ── 签名验证 ──
# 签名类型由 sysbuild.conf 的 SB_CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256 决定
# (写在这里的 CONFIG_BOOT_SIGNATURE_TYPE_* 会被 sysbuild 强制覆盖,无效)
# ── 优化 ──
CONFIG_BOOT_ERASE_PROGRESSIVELY=y
# ── 裁掉板级 dts 引入、但 MCUboot 用不到的外设驱动 ──
# MCUboot 只需要 UART(serial recovery)+ GPIO(pinctrl)+ FLASH + WATCHDOG(喂狗),
# 其余驱动(ADC/SPI/PWM/传感器/灯带/协议栈等)全部关掉,把体积压进 48KB boot 分区。
CONFIG_ADC=n
CONFIG_SPI=n
CONFIG_PWM=n
CONFIG_SENSOR=n
CONFIG_LED=n
CONFIG_LED_STRIP=n
CONFIG_LED_STRIP_INDICATOR=n
CONFIG_RTC=n
CONFIG_HWINFO=n
CONFIG_INPUT=n
CONFIG_GODTEK_TEMP_UART=n
CONFIG_UART_COM_PROTOCAL=n
CONFIG_UART_COM_SIMPLE_PROTOCAL=n
CONFIG_UART_COM_NORMAL_PROTOCAL=n
CONFIG_UART_COM_MODBUS_BRIDGE_PROTOCAL=n