2019-09-18 11:54 AM
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.
2019-09-18 12:43 PM
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
2019-09-18 01:49 PM
You can find a ready implementation of ymodem in STM32H7 or F7 Cube examples.
-- pa
2019-09-18 02:57 PM
Pretty sure that wasn't the question. And ST's IAP example of it isn't that good/robust as I recall.