Я понимаю что тема уже поднималась на форуме, однако ясности в конкретной реализации НЕТ.
Задача следующая :
есть процессор STM32F100RBT6 язык С компилятор Keil
контроллер связан с компом по RS-232 на плате стоит преобразователь MAX232 все чудненько работает
необходимо обновлять прошивку но переставлять перемычки Boot0 / Boot1 не очень хочется
необходимо программно перевести процессор в режим встроенного bootlader получить прошиву и ресетнуться
я и всем известное видео смотрел и форумы читал....все вроде крутится вокруг одного и тогоже но неработает
так вот это вообще возможно...и если можно конкретный кусочек кода глянуть....
я конечно понимаю свой загрузчик это круто....но хотелось бы все это реализовать малой кровью...
к тому же стандартный со своей задачей (ну если камень туда загнать апаратно)...справляется
пока не получается загнать даже в загрузчик.....я делаю это ТАК:
Код
static void BootLoader()
{
void (*SysBootLoaderJmp)(void)=(void (*)(void))(*((uint32_t *)0x1ffff004));
__set_PRIMASK(1);
RCC_DeInit();
SysTick->CTRL=0;
SysTick->LOAD=0;
SysTick->VAL=0;
__set_PRIMASK(1);
__set_MSP(*((uint32_t *) 0x20000001));
SysBootLoaderJmp();
while(1);
}
{
void (*SysBootLoaderJmp)(void)=(void (*)(void))(*((uint32_t *)0x1ffff004));
__set_PRIMASK(1);
RCC_DeInit();
SysTick->CTRL=0;
SysTick->LOAD=0;
SysTick->VAL=0;
__set_PRIMASK(1);
__set_MSP(*((uint32_t *) 0x20000001));
SysBootLoaderJmp();
while(1);
}
заранее благодарен