Summary
Currently I am working on a project about IAP, using uart to download firmware to the other bank on my STM32.
After reading some online ST docs:
1. AN4767 STM32 on the fly update for dualbank
2. The famous "XMODEM/YMODEM protocol reference" by Chuck Forsberg, 1988
And started to write my own sender, I found problems never mentioned. I do think nowadays' IOT scenario is very similar to the times where internet had just emerged. Low band width, low handling speed of terminals. So I think YModem would be the exactly standards.
Problems I met
1. AN4767 use 32 bit CRC for CRC-16 calculation
So I will never pass the CRC packet verification in ymodem.c source code. Will the source code work with any ymodem sender? I tried with minicom, nope!
2. This old doc talk about outdated info only
Ymodem should be simple and consistent. But no. In this doc, CRC algorithm is not the same as the standard XMODEM-CRC online. What a pity.
Things let:
1. I am using node.js for a JS version sender.
It should be used as a means of downloading on MAC.
2. Standard YMOEM today