glxcl-359163 发表于 2016-7-1 19:04:00

stm32f407_IAP问题

有时IAP下载失败,只能开机重新下载,请问各位有没有遇到这样的问题?

me浩 发表于 2016-7-5 08:35:23

没有遇到过

myfocus-2048857 发表于 2016-7-5 09:15:24

没有遇到过

wofei1314 发表于 2016-7-5 09:29:45

/****
    *   执行用户程序
    *
    */
void ExeAPP(u32 appaddress)
{
    //若没写这个if,程序容易跑飞
   
    // 判断栈定地址值是否在0x2000 0000 - 0x 2000 2000之间
    if (((*(__IO uint32_t*)appaddress) & 0x2FFE0000 ) == 0x20000000)
    {
      printf("找到栈地址,0x20000000\r\n");
      //__set_FAULTMASK(1);//关闭所有中断,不知道这个是不是要加
      JumpAddress = *(__IO uint32_t*) (appaddress + 4);
      //跳转至用户代码
      Jump_To_Application = (pFunction) JumpAddress;
      //初始化用户堆栈指针
      __set_MSP(*(__IO uint32_t*) appaddress);
      Jump_To_Application();
    }
    else
    {
      //程序不合法,去掉更新成功标志,转为需要更新的状态
      printf("程序不合法,理应继续往下执行 \r\n");
      //程序不合法,复位
      //Sys_ReBoot();
    }
}

农夫水0533 发表于 2016-7-5 12:41:29

你是BOOT下载失败还是通过BOOT下载应用程序失败啊
我建议你把应用程序中跳转回BOOT的指令直接换成软复位指令

286005374 发表于 2016-7-5 15:21:46

没有遇到过

yu0405jie 发表于 2016-7-5 20:34:28

没有遇到过

xiaoyustm32 发表于 2016-7-9 14:49:43

刚开始接触。
页: [1]
查看完整版本: stm32f407_IAP问题