久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1560|回復: 3
收起左側

完整的STM32單片機bin文件后面加入多余的數據會導致程序出錯?

[復制鏈接]
ID:585428 發表于 2022-9-23 22:10 | 顯示全部樓層 |閱讀模式
完整的bin文件后面加入多余的數據會導致程序出錯是什么原因。


疑惑來源:

最近在做stm32 iap升級。用的sd卡升級。
因為在最后一個包處理的時候偷懶了,所以有了疑惑。
sd卡讀取升級包時,讀取固定長度2048個字節的數據+2字節校驗,然后寫入2048個字節數據。最后一個包讀取時,通過取余獲取最后一個包的長度x,然后x個字節寫入到數組,最后仍舊寫入2048個字節的數據。
這樣最后寫入到flash中的最后一個包,x字節后的數據時上一個包的,沒有覆蓋。
升級后的現象是開機了,然后菜單也能操作,但是到·某些動作就白屏卡死了。

后來我做了處理,最后一個包時,整個數組先memset一下置0xff,但是多寫了2個字節的校驗,有的程序出錯,有的程序可以運行。



回復

使用道具 舉報

ID:879348 發表于 2022-9-24 08:25 | 顯示全部樓層
不懂你在說什么,只要把bin文件完整下載到flash就行,如果沒有完整就是boot程序本身有問題,至于你說的X后面是任何數據,對整個程序沒有任何影響
回復

使用道具 舉報

ID:94031 發表于 2022-9-24 09:39 | 顯示全部樓層
升級包數據的形成與讀取都是事前約定好的,在沒有弄清原理前是不能隨便改數據的。
回復

使用道具 舉報

ID:514901 發表于 2022-9-24 14:05 | 顯示全部樓層
程序寫得不規范唄,按理說程序范圍外的地址是不會運行到的。按照你說的出現這種情況更可能是中斷向量表沒設置好的原因
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品爱久久久久久久 | 久久国产精品久久国产精品 | 国产精品毛片在线 | 久久高清 | 亚洲女优在线播放 | 韩日一区 | 中文字幕视频在线观看 | 国产一级视频在线观看 | 亚洲高清成人在线 | 毛片在线免费 | 色免费视频 | 欧美日韩久久精品 | 欧美精品在线免费观看 | 久产久精国产品 | 麻豆国产一区二区三区四区 | 亚洲成人av | 欧美成人一区二区 | 欧美一级毛片在线播放 | 欧美精品一区在线 | 日韩三区在线观看 | 国产精品高清在线 | 中文字幕蜜臀 | 天天夜干 | 欧美a√| 亚洲一区二区免费视频 | 成人在线视频一区二区三区 | h免费观看 | 精品综合 | 国产一区二区 | 丝袜 亚洲 另类 欧美 综合 | 久久99这里只有精品 | 欧美中国少妇xxx性高请视频 | 中文字幕av在线播放 | 欧美专区在线 | 国产高潮av | 国产一区二区三区 | 一区精品视频在线观看 | 97久久久久久久久 | 国产精品视频www | 精品国产一区二区三区久久久蜜月 | 日韩中文欧美 |