我正在开发一个系统,我有2个从属外设和一个主控制器。我想使用主控制器对这2个从外设进行编程。是否有任何标准协议或架构用于此类编程。
答案 0 :(得分:1)
否 - 但您可以使用内置的bootloader。在您自己的协议中,发送命令进入引导加载程序,然后按照STM应用程序说明中的说明发送程序。我在很多设备中这样做。
如何进入bootloader?互联网上有很多信息,但有些建议质量很差。您需要在重置后将微控制器切换到舞台 - 然后调用引导加载程序。如果您使用HAL示例,则routime可能如下所示(STM32F303):
void __attribute__((noreturn)) StartBootLoader(void) {
void (*BootLoad)(void) = (void (*)(void))0x1FFFD804;
HAL_RCC_DeInit();
HAL_DeInit();
SysTick -> CTRL = 0;
SysTick -> LOAD = 0;
SysTick -> VAL = 0;
__set_PRIMASK(1);
__set_MSP(*(uint32_t *)0x1FFFD800);
BootLoad();
while(1);
}