forked from EmbeddedTeam/app_photomagnetic
- 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
51 lines
1.8 KiB
Plaintext
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
|