cancel
Showing results for 
Search instead for 
Did you mean: 

YMODEM Header Meaning?

JChan.0
Associate II

I am trying to implement IAP on a Nucleo F429ZI, and have been working on adapting some YMODEM code into an application. I haven't been able to find full documentation on YMODEM headers. When I transmit a file with YMODEM to the controller, I get the following heading:

"\001\0ÿfilename.txt\02067 13540157757 100644"

Effectively:

SOH 0x00 0xFF filename.txt 0x00 2067 13540157757 1006 CRC CRC

I understand 2067 is the length in bytes. I believe 13540157757 is some sort of date format (please correct me if I'm wrong). But I can't seem to find out what 1006 is. I can't find it clearly stated in any documentation, especially unsure what the 6 means. Does anyone know what this header section signifies? Or where I can find out?

This is not exclusively relevant to STM32, but I thought someone on here might know.

3 REPLIES 3

Not sure of the CRC translation

0x43 = C , but these are two '4' characters, 0x34

100644 are file attributes in octal, a UNIX thing

(100644): Regular non-executable file

The modification date is also in octal.

http://pauillac.inria.fr/~doligez/zmodem/ymodem.txt

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Pavel A.
Evangelist III

You can find a ready implementation of ymodem in STM32H7 or F7 Cube examples.

-- pa

Pretty sure that wasn't the question. And ST's IAP example of it isn't that good/robust as I recall.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..