远程升级

本文详细介绍了基于STM32F103RC的远程固件升级过程,包括Bootloader、应用程序(App)的制作和配置,以及目标程序的编译和.bin文件生成。升级步骤涉及Bootloader检测并迁移程序,App工程中断向量的设置,以及使用Ymodem协议通过串口进行阻塞式更新。
摘要由CSDN通过智能技术生成

                                                         远程升级详细说明


升级分为三个部分: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);//擦除16k56k扇区

      Move_code(APPLICATION_ADDRESS_run,APPLICATION_ADDRESS,30*1024);//max 40k

     FLASH_If_Erase(APPLICATION_ADDRESS,APPLICATION_ADDRESS+30*1024);//擦除56k30k扇区--否则每次重启将重新加载

}

/* Test if user code is programmed start

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值