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

请教下,使用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 评论1 发布时间:2017-12-10 20:12

举报

1个回答
风语者1991 回答时间:2018-4-12 18:06:07
不知道你网页是怎么写的啊,能给我参考下吗 455925291@qq.com 谢谢

所属标签

相似问题

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