Skip to main content
JChan.0
Associate II
September 18, 2019
Question

YMODEM Header Meaning?

  • September 18, 2019
  • 2 replies
  • 962 views

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.

This topic has been closed for replies.

2 replies

Tesla DeLorean
Guru
September 18, 2019

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 VenmoUp vote any posts that you find helpful, it shows what's working..
Pavel A.
Super User
September 18, 2019

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

-- pa

Tesla DeLorean
Guru
September 18, 2019

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 VenmoUp vote any posts that you find helpful, it shows what's working..