[应用方案] 新唐 M451系列APROM与LDROM间跳转

[复制链接]
 楼主| t60yz 发表于 2023-4-25 10:37 | 显示全部楼层 |阅读模式
APROM与APROM区别。
M451系列单片机的FLASH分为APROM和LDROM,APROM较大,存放应用程序,LDROM较小,一般只有4K,存放bootoader。

APROM开始地址0x00000000,LDROM开始地址0x00100000。

IAP升级时,可以将应用程序下载到APROM。复位后,跳转到LDROM,LDROM的bootloader复制程序到0x00000000地址,再复位,跳转到APROM启动。

跳转代码

从APROM跳转到LDROM

  1. void OTA_BootFromLDROM(void)
  2. {
  3.     SYS_UnlockReg();
  4.     FMC_Open();
  5.    
  6.     __set_PRIMASK(1);
  7.    
  8.     FMC_SetVectorPageAddr(FMC_LDROM_BASE);

  9.     log_raw("System reset now.\r\n");
  10.     NVIC_SystemReset();
  11. }

————————————————
版权声明:本文为CSDN博主「AVmilan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/imzhujun/article/details/127607903

 楼主| t60yz 发表于 2023-4-25 10:37 | 显示全部楼层
从LDROM跳转到APROM
  1. void OTA_BootFromAPROM(void)
  2. {
  3.     SYS_UnlockReg();
  4.     FMC_Open();
  5.    
  6.     __set_PRIMASK(1);
  7.    
  8.     FMC_SetVectorPageAddr(FMC_APROM_BASE);

  9.     log_raw("System reset now.\r\n");
  10.     NVIC_SystemReset();
  11. }
 楼主| t60yz 发表于 2023-4-25 10:38 | 显示全部楼层
MDK要注意地址设置
APROM
141964473d417778e.png
 楼主| t60yz 发表于 2023-4-25 10:39 | 显示全部楼层
 楼主| t60yz 发表于 2023-4-25 10:39 | 显示全部楼层
LDROM
434664473d5a99f07.png
 楼主| t60yz 发表于 2023-4-25 10:39 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

1189

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部