2021-10-27 09:52 AM
I'm using YMODEM in TeraTerm to transfer my internal and external firmware and my goal is to make this a single file. I have already combined the two files into a .bin and when I transfer them via YMODEM, the transfer stops once it reaches the end of what would have been the first file, it it wasn't combined. I'm also doing this with SBSFU, which may complicate things.
One potentially easier part of the troubleshooting problem I'm having is that when TeraTerm is transferring the files with YMODEM, I can't see any status other then a progress bar. Is there another program or some way to see all the messages going back and forth? Maybe see the actual error messages happening or any printf statements I have the code send, while a transfer is taking place?
2021-10-27 10:42 AM
Block zero of the transfer should provide the length. The binary being transfers might also carry it's own size meta-data. The target side code might need to be modified to understand the internal memory size/address limits, and manage the transition from internal to external memory spaces.
YModem isn't a hard protocol, one should be able to write an app on a Windows box to open the COM port and move the data appropriately.
2021-10-28 06:22 AM
Teraterm provides a progress bar and packet counter for the user.
But the ST implementation of X/Y modem has communication interweaved with flash writes which makes it harder to understand and modify (as per your requirement to split the file to several parts).
So you may want to massage the ST code a little and add whatever you miss & debug prints to other UART or ITM.