
It is not exactly _parsing_ the record, but storing the decoded data to it's final destination, which usually includes flash programming cycles.
Whenever some code takes a ASCII string (in my case an S-record), extracts fields from it, converts these to numeric values, then I call that parsing.
- People that use Kermit under Linux seem to have no problem, but I
do not know in what sense their systems differ from mine.
Kermit binary protocol is not only much more eficient than S-Records, but also much more robust nd reliable.
Yes, there is the Kermit program and the Kermit protocol implemented by many terminal programs. Kermit protocol works great for us for transferring binary files (using both Teraterm and Hyperterminal). It is my understanding that we cannot use Kermit PROTOCOL to transfer S-record files with loads command. I though you indicated that in your previous email and it simply doesn't work when I try.
The question was not about how to transfer binary files using Kermit protocol (works for us) but transferring S-record files.
I am aware that you have suggested in many places AGAINST the use of S-record, but there is a genuine use for it. When using U-boot in a non-Linux bareboard embedded system, you need a way to give your users the capability to upload now software. An embedded software image is not a 'file' like in Linux but a memory image where data needs to reside at fixed addresses. In an multi-megabyte address space, the 'executable image' can consist of chunks of data spread over a wide range. 2 options here: (1) create a binary image of the entire Flash area, (2) a file that specifies which byte go in which address, i.e. an S-record file. Option (1) results in a big file with very little. Unless you break it up in smaller pieces and ask your user to burn image 1 at offset x and image 2 at offset y, ...
- The system I work on is a bareboard embedded system using U-boot
to start up. That is why we are trying to use S-record files for uploading new programs, and not the more efficient FTP used in Linux.
So you do have a network interface on your board? Heck, why don;t you use TFTP then???
I didn't say that. I was trying to say that our bareboard system doesn't support Ethernet and does not have TCP/IP stack (like Linux). If our system was a Linux system, we wouldn't be having this conversation.