ST官方代碼——YModem協議部分c代碼分析
1-實驗結論:
對比標準Ymodem協議,ST官方IAP代碼中YModem協議少了以下部分:
發送端(secureCRT) 接收端(開發板)
EOT---->
NAK----<
2-YModem
YModem協議是由XModem協議演變而來的,每包數據可以達到1024字節,是一個非常高效的文件傳輸協議。參考資料如下
https://baike.baidu.com/item/Ymodem?fr=aladdin
https://blog.csdn.net/qingzhuyuxian/article/details/80769163
3-ST官方IAP工程代碼
https://pan.baidu.com/s/1_3R5iDKTMsbhj2Fv60mAvQ
4-修改後STM32f103ZET6工程(ymodem.c添加註釋和調試代碼)
串口1用於與secureCRT 8.5通信,串口2用於打印調試代碼
https://pan.baidu.com/s/1NVYjwqt-Mq9CB7NovLWASA
5-ymodem.c文件代碼分析,請見工程中
6-不錯的STM IAP文章
https://blog.csdn.net/yazhouren/article/details/73385580
7-實驗結果:
8-YModem協議部分代碼分析
第一幀數據
數據幀
結束幀
ST官方IAP代碼中YModem協議怎麼少了一部分呢?
在阿莫論壇修復了問題,詳細請見 https://www.amobbs.com/thread-5705496-1-1.html
修改代碼,符合標準YModem協議,具體如下
1-接收端在第一次收到EOT時,發送NAK。那麼發送端會再一次發送EOT,此時接收端發送ACK應答
————————————————