target/image: Add support for S6 record in Motorola SREC files 45/4645/2
authorBohdan Tymkiv <bhdt@cypress.com>
Fri, 10 Aug 2018 08:31:29 +0000 (11:31 +0300)
committerTomas Vanek <vanekt@fbl.cz>
Sun, 18 Nov 2018 08:21:25 +0000 (08:21 +0000)
S6 record is equivalent to S5 but it uses 24-bit value (instead of 16-bit)
to store total number of data records. It can be found in big srec files
with total number of data records bigger than 65535

Handle S6 record in the same way as S5 (simply ignore it)

Change-Id: I3e15a4e8f784fd38803c00accf422f803e8469cd
Signed-off-by: Bohdan Tymkiv <bhdt@cypress.com>
Reviewed-on: http://openocd.zylin.com/4645
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
src/target/image.c

index 0d98c57..9bd8f6b 100644 (file)
@@ -643,8 +643,8 @@ static int image_mot_buffer_complete_inner(struct image *image,
                                        section[image->num_sections].size += 1;
                                        full_address++;
                                }
-                       } else if (record_type == 5) {
-                               /* S5 is the data count record, we ignore it */
+                       } else if (record_type == 5 || record_type == 6) {
+                               /* S5 and S6 are the data count records, we ignore them */
                                uint32_t dummy;
 
                                while (count-- > 0) {