单片机 > 单片机程序设计 > 详情

stm32f030代码升级总结

发布时间:2024-11-08 发布时间:
|

bootloader设置:

static void check_boot_mode(void)

{

uint32_t JumpAddress;

void(*Jump_To_Application)(void);

if (((*((__IO uint32_t*)(APP_SEGA_START_ADDRESS+8))) & 0x2FFE0000 ) == 0x20000000)

    { 

     

      JumpAddress = *(__IO uint32_t*) (APP_SEGA_START_ADDRESS + 12);

      Jump_To_Application = (void *)JumpAddress;

      

     

      __set_MSP(*((__IO uint32_t*) (APP_SEGA_START_ADDRESS+8)));

      

     

      Jump_To_Application();

    }

}

application设置:

const uint8_t eh[8] __attribute__((at(0x08004000)));这个是使应用代码加载首地址向后推移8字节;

下图是应用代码加载地址和内存设置:

stm32f030代码升级总结

下面是中断向量表映射配置:

#define APPLICATION_ADDRESS     (uint32_t)0x08004008

__IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));

for(i = 0; i < 48; i++)

  {

    VectorTable[i] = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));

  } 


关键字:stm32f030  代码升级

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STC89C52RC单片机的NRF24L01无线通信程序.收发一体