OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3360|回复: 4

F407 IAP 烧写不成功

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
发表于 2018-3-8 16:28:04 | 显示全部楼层 |阅读模式
   各位好! 我用原子的例程Flash烧写程序,烧写几个字节当作E2PROM用时,没问题,可以正确读写。我用的IAP的数据是用网线下载 ,数据核对过,没错。一共约24K数据,用40K的SRAM来接收,开始地址是:0X20001000,IAP引导程序12K大小,APP应用程序约24K,IAP引导程序从0x08000000开始,APP程序设在0x08010000开始。我在F105的板子上设置几乎一样,F105的板子能正确用IAP引导程序烧写。但现在换了F407就不行了。同样的bin文件,我用ST-LINK烧写,开始地址设置为0x08010000,程序可以运行。但选择没有校验的烧写时,烧写后的程序不会自动运行,要手动关电再上电才可以,而带有校验的烧写却可以自动运行。当用网线下载bin用IAP程序烧写后,程序毫无反应, 下载的bin数据我用ST-LINK断点看了,好像没错,现在一直找不出问题出在哪里,谢谢各位能否解惑?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2018-3-8 16:28:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2018-3-8 17:10:55 | 显示全部楼层
本帖最后由 Jackwu 于 2018-3-8 17:15 编辑

自己先分析下:1、能读写Flash向个字节,证明读写程序没问题
2、能用ST-LINK烧写BIN文件成功,证明BIN文件也没问题。
3、问题是用IAP烧写不对,不对有两种情况:1、烧进的数据不对,2、烧写的地址不对,但我只定义烧写的起始地址:0x08010000,以及APP程序的开始第一句:SCB->VTOR = FLSH_BASE | 0X10000,其中FLSH_BASE =0x08000000。没有其它地址的设置。这点也应该没问题。剩下就是数据不对了。但数据写之前也核对过的,所以问题本身的原因就有点晕了。希望各位不晕,帮我想想办法了。谢谢各位!
回复 支持 反对

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2018-3-10 18:39:18 | 显示全部楼层
帮顶!!!
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2018-3-11 21:37:59 | 显示全部楼层
谢谢各位,问题查清楚了。是传送数据出问题,问题出在TCP传送数据出错。本来TCP传送不会出错的,因为我看了数据的前面几百个字节及后几十几字节以及总的字节数都没错,没想到的是中间一小部分数据出错,出错的数据变成是上一帧数据开头部分。出现这种情况是接收数据socket缓冲区里的数组最大值及传送协议里所设置的不一样,接收数组最大值大于设置值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 13:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表