Обеспечь единый процесс обновления для STM32F103/F407/G474 и TMS320F2812/F28335: discovery, служебные ответы, BUSY, тайм-аут сессии и подтверждение приложения. Добавь самостоятельные проекты CCS, аппаратные хранилища и Python-клиент. Совместимость: структуры конфигурации и порта расширены, поэтому потребители должны пересобраться и обнулить новые поля. Для C28x callbacks используют pcan_boot_byte_t; периодический pcan_boot_poll обслуживает discovery и настроенный тайм-аут.
19 lines
876 B
C
19 lines
876 B
C
#ifndef F28335_BOOT_PLATFORM_H
|
|
#define F28335_BOOT_PLATFORM_H
|
|
#include "f28335_boot_store.h"
|
|
#include "f28335_flash_app.h" /* Общий handoff различает EEPROM A/B, защищённое Flash-приложение и неизвестный запуск. */
|
|
#ifndef F28335_BOOT_LOADER
|
|
#define F28335_BOOT_LOADER 0
|
|
#endif
|
|
bool F28335Boot_Read(void *u,uint32_t address,pcan_boot_byte_t *p,unsigned int n);
|
|
bool F28335Boot_Write(void *u,uint32_t address,const pcan_boot_byte_t *p,unsigned int n);
|
|
uint32_t F28335Boot_Now(void);
|
|
void F28335Boot_Reset(unsigned int session);
|
|
unsigned int F28335Boot_RunningSlot(void);
|
|
unsigned int F28335Boot_RequestedSession(void);
|
|
void F28335Boot_SetRunning(unsigned int slot);
|
|
void F28335Boot_StartupWatchdog(void);
|
|
/* Application hook must stop outputs before reset. No EEPROM operations here. */
|
|
void F28335Boot_Quiesce(void);
|
|
#endif
|