你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教下,使用st官网的 lwip_iap 历程,更新固件?

[复制链接]
hpdell 提问时间:2017-12-10 20:12 /
本帖最后由 hpdell 于 2017-12-10 22:09 编辑

请教下,使用st官网的 lwip_iap 历程,更新固件?

目前可以使用 http 进行更新固件,tftp 貌似还不行,

现在想先解决 http 的,问题如下:

1、我的bin文件大小为 338709 byte
bin-1.png

2、图片如下:
bin-2.png

图片里面的右边的 第 446 行是st 官网提供的判断条件,但是安装官网的条件,貌似不行,
需要使用 第 447 行的判断条件才行,那么 我想问一下, 这个 size 为何需要增加 54 字节才行啊 ??

目前我的这个增加的 54 字节是 使用 http iap TotalReceived 338968  数据 -  http iap size = 338914   == 54 来的,但是我不知道这个54是怎么来的 ?

程序中的第 439 行计算最终实际接收到的数据 是对的,也就是 TotalData 最终是等于 338709 byte的

3、接收固件更新完成后程序貌似没有重新启动 :
bin-3.png

我已经在 第 496 行加入了程序自动跳转,但是最终是 程序没有执行 ,是何故啊 ????


请教下,使用 iap 跳转功能时,貌似判断的值不对 ?

#define  USER_FLASH_FIRST_PAGE_ADDRESS      0x08080000
void j2a(void)
{
  //检测APP地址是否合法
   // Check if valid stack address (RAM address) then jump to user application
  /*
  // 根据不同的 用户 app 的地址,仿真得到的结果值 这个地方为何会不同啊 ???????????
  JumpAddress = ((*(__IO uint32_t*) 0x08080000 ) & 0x2FFE0000 );   // = 0x20020000

  JumpAddress = ((*(__IO uint32_t*) 0x08060000 ) & 0x2FFE0000 );   // = 0x2FFE0000

  JumpAddress = ((*(__IO uint32_t*) 0x08040000 ) & 0x2FFE0000 );   // = 0x2D700000

  JumpAddress = ((*(__IO uint32_t*) 0x08020000 ) & 0x2FFE0000 );   // = 0x2F3E0000
  */

  if (((*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS ) & 0x2FFE0000 ) == 0x20020000)
  {
    // Jump to user application
    JumpAddress = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4);
    Jump_To_Application = (pFunction) JumpAddress;

    //设置APP程序堆栈指针
    __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS);  //跳转到APP.  程序最终跳转后不能够运行,但是 app 程序如果单独下载运行是没有问题的
    Jump_To_Application();  //跳转到APP.
  }
  else
  {
    printf("jump uaer app run error ??\r\n");
    for(;;)
    {}

  }
}





收藏 1 评论2 发布时间:2017-12-10 20:12

举报

2个回答
longor 回答时间:2018-4-12 18:06:07
不知道你网页是怎么写的啊,能给我参考下吗 455925291@qq.com 谢谢
星星点灯01 回答时间:2021-7-22 19:52:20
签到签到

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版