10 Commits

Author SHA1 Message Date
evan.liu
3d6567819a CLI 新增 pinset 管脚高低电平命令 (Boot V1.00.07 / APP V1.00.31)
- pinset <pxN> [0|1]: 设置 GPIO 输出高低 / 读当前电平 (pa0-6/pb0-13)
- Boot/src/boot_cli.c + mcm-ddc-ble/src/cli_core.c 各加一份同名命令
- 对 SWD(PA4/PA5) / 控制台(PB6/PB7) 重配前打印 warning
- Boot V1.00.06 -> V1.00.07; APP V1.00.30 -> V1.00.31 (0x0001001F)
- docs/开发日志.md: 新增 §59
2026-09-12 09:58:55 +08:00
evan.liu
e74751634b YF30137 七脚数码管显示驱动(Charlieplexing) + 取消 Boot strap 下载检测 (APP V1.00.30 / Boot V1.00.06) 2026-09-06 20:11:53 +08:00
evan.liu
5917cafb0c CLI help 增加运行模式标识 + Boot 版本号改 1.00.XX
- help 首行打印 mode: Boot 用 'mode: BOOT download' / App 用 'mode: APP'
- Boot/src/boot_version.h: V1.01.04 -> V1.00.05 (版本格式对齐 APP 的 1.00.XX)
- mcm-ddc-ble: app_version V1.00.28 -> V1.00.29 (0x0001001D)
- docs/开发日志.md: 新增 §57
2026-09-06 09:09:18 +08:00
evan.liu
8b1744744e boot V1.01.04: download CLI 移植 UP/DOWN 历史导航
- Boot/src/boot_cli.c: 命令历史环形缓冲(8条) + ESC [ A/B 箭头历史导航,
  回车入栈/重画提示符+整行, shownLen 同步维护
- help 提示串更新为 'keys: TAB = complete, UP/DOWN = history' (与 APP 一致)
- Boot/src/boot_version.h: V1.01.03 -> V1.01.04
- docs/开发日志.md: 新增 §56
2026-09-06 08:58:01 +08:00
evan.liu
17e814a883 boot V1.01.03: download CLI help 追加 'keys: TAB = complete' 提示串
- Boot/src/boot_cli.c: CmdHelp 无参分支在命令表后打印 keys 提示串(对齐 APP 的 help)
- 撤回 ready banner 临时加的 (TAB = complete),提示只放 help,与 APP 风格一致
- Boot/src/boot_version.h: V1.01.02 -> V1.01.03
- docs/开发日志.md: 新增 §55
2026-09-06 08:50:00 +08:00
evan.liu
9dad3daf61 boot V1.01.02: 3.3V strap 进入 download + CLI TAB 命令补全
- Boot/src/main.c: PB5 3.3V strap 引脚 (输入+内部下拉), 拉高即进 download 并跳过 2s 回车窗口 (dev log §53)
- Boot/src/boot_cli.c: 从 APP 移植 TAB 命令名自动补全 (单匹配补全+空格, 多匹配公共前缀/列候选) (dev log §54)
- Boot/src/boot_version.h: V1.01.00 -> V1.01.02
- docs/开发日志.md: 新增 §53/§54
- 出包: mothercup_ble_prod.hex/bin 更新 (boot bin 13580B)
2026-09-06 06:40:55 +08:00
evan.liu
f4faf68ed8 boot V1.01.00: UART download mode (CLI + OTA frame upgrade in bootloader)
- boot_usart: bare-metal USART1 460800, polled TX, 3KB DMA ring RX, SysTick millis
- boot_cli: polled line editor + mini printf + command subset; wire-compatible
  with the app UART CLI (prompt/devinfo cur bank/ota marker) so
  ble_ota_update.py --uart works unchanged against the bootloader
- share app_ota.c/app_bootset.c into the Boot build via BOOT_FIRMWARE ifdef
  (single OTA engine source); frame constants moved to shared Boot/src/ota_wire.h
- entry: 2s Enter window after the boot banner, or forced when no jumpable
  image (invalid bootsetting + APP1 vector sanity fail) - brick recovery path
- OTA target in boot = inactive bank per bootsetting (APP1 when invalid)
- merge_image.py: hard-fail when boot bin exceeds the 16KB region
- APP V1.00.28 (shared-source touch only, behavior unchanged)
- tested: normal boot / download CLI / OTA APP1<->APP2 round trip / bricked
  recovery (bootsetting+APP1 sector erased -> forced download -> OTA restore)
- docs: dev log sec.52, ble_protocol sec.6.8, AGENTS.md
2026-09-05 17:25:53 +08:00
evan.liu
b5186aa30f 修复Boot跳转后BLE失败:Boot跳转前__enable_irq( PRIMASK继承问题),APP/Boot的IRAM改从0x20004000起(低16KB为ROM/BLE保留区,踩了必HardFault);bootsetting增加start_address,Boot按地址跳转;merge_image.py生成缺省bootsetting并支持参数化;make_package改-r全量重建;mcm-ddc-ble重链接到0x01008000并出caiic_ble_full整包;HardFault加栈帧打印 2026-09-02 21:04:08 +08:00
evan.liu
5d5c1d827c Boot改为跳转时不校验镜像CRC(校验移到OTA升级过程),修复Keil下载后无法调试;新增debug_app.ini调试旁路;补充开发日志(第19节)与mcm-ddc-ble工程日志 2026-09-02 08:22:53 +08:00
evan.liu
bcd307db92 接入BLE:自定义GATT服务(CAIIC-MCM)+CLI-over-BLE帧协议+双bank直写OTA;新增自写bootloader(Boot工程,512KB布局);器件改N32WB031KEQ6-2 2026-09-01 23:00:00 +08:00