mothercup/mcm-ddc-ble/inc/app_version.h
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

21 lines
589 B
C

/**
* @file app_version.h
* @brief Firmware version string.
* Both macros may be overridden per Keil target (-DAPP_FW_VERSION=...):
* the "APP2" target builds the same sources one version up, linked at
* the APP2 bank base (see tools/make_dual_package.bat).
*/
#ifndef __APP_VERSION_H__
#define __APP_VERSION_H__
#ifndef APP_FW_VERSION
#define APP_FW_VERSION "V1.00.28"
#endif
/* Numeric form used by the BLE info query / OTA records: 0x00MMmmpp */
#ifndef APP_FW_VERSION_NUM
#define APP_FW_VERSION_NUM 0x0001001Cu
#endif
#endif /* __APP_VERSION_H__ */