如何用W25Q128芯片做IAP升级呢?

2020-01-01 17:37发布

APP现用tftp协议将bin文件发送到STM32F407,接收到数据写进W25Q128,IAP从W25Q128读取bin文件数据然后写进内部flash,做了CRC校验,断点在线调试,查看写进W25Q128里和读取到的数据都是正确的,但写完内部flash后IAP跳转到APP时就死机了,跳转前有将全部中断都关掉的,这是什么原因呢,有人用过外部flash芯片做IAP升级的吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
31条回答
风中答案
2020-01-03 16:59
wind2100 发表于 2017-1-18 14:21
外部FLASH 只要你检测CRC校验值就好了,32自带32BIT CRC啊,很好用。
打印出来看就对了,
对不对全部CRC ...

有做CRC检验的,tftp接收到每包数据后,在每一包最后都做了CRC16校验才写到W25Q128,读出来时都先判断CRC再把数据写到内部flash里。现在碰到问题是,当我用J-Link烧写IAP和APP程序,能正常运行,用J-Link烧写完后,不修改APP程序,能进行升级,IAP跳转APP没问题,但当我随便修改了APP程序后,再升级的话,IAP跳转APP时就死机了,没任何反映应了,在跳转APP那断点看memory,就是上面的图片所示,和bin文件数据比较,是正确的。跑的是freeRTOS系统,跳转前有把全部中断关掉的。

一周热门 更多>