- 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
25 lines
657 B
C
25 lines
657 B
C
/**
|
|
* @file cli_core.h
|
|
* @brief Bootloader-side shim of the application's CLI output interface
|
|
* (mcm-ddc-ble/inc/cli_core.h). Only the output helpers exist here;
|
|
* the download-mode line editor and command table live in
|
|
* boot_cli.c. Lets shared modules (app_bootset.c, app_ota.c) compile
|
|
* unchanged in the BOOT_FIRMWARE build.
|
|
*/
|
|
#ifndef __CLI_CORE_H__
|
|
#define __CLI_CORE_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Output helpers: straight out on USART1 (polling TX, boot_usart.c) */
|
|
void cli_write(const char* str);
|
|
void cli_printf(const char* fmt, ...);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __CLI_CORE_H__ */
|