远程升级详细说明
升级分为三个部分:1.bootload,2.app,3.待加载的bin文件.
其先后关系是:首先下载bootload,然后下载app,最后通过app工程的串口加载bin文件.其详细点的步骤说明如下:
1.Bootload制作过程
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//失能JTAG功能--以便使用其复用脚
USART_Config();//Usart3 串口打印调试
printf("bootloader\r\n");
/* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)//flash后半扇区有程序更新,将这后半扇区程序移植到前边扇区
{
FLASH_If_Erase(APPLICATION_ADDRESS_run,APPLICATION_ADDRESS);//擦除16k到56k扇区
Move_code(APPLICATION_ADDRESS_run,APPLICATION_ADDRESS,30*1024);//max 40k
FLASH_If_Erase(APPLICATION_ADDRESS,APPLICATION_ADDRESS+30*1024);//擦除56k到30k扇区--否则每次重启将重新加载
}
/* Test if user code is programmed start