- added patch by Øyvind Harboe to Intel Hex Start Segment Address Record (Type 3)
- added support to parse Motorola Record Count (S5) git-svn-id: svn://svn.berlios.de/openocd/trunk@241 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
02f3765351
commit
62e65b9fde
|
@ -265,6 +265,19 @@ int image_ihex_buffer_complete(image_t *image)
|
||||||
full_address = (full_address & 0xffff) | (upper_address << 4);
|
full_address = (full_address & 0xffff) | (upper_address << 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (record_type == 3) /* Start Segment Address Record */
|
||||||
|
{
|
||||||
|
u32 dummy;
|
||||||
|
|
||||||
|
/* "Start Segment Address Record" will not be supported */
|
||||||
|
/* but we must consume it, and do not create an error. */
|
||||||
|
while (count-- > 0)
|
||||||
|
{
|
||||||
|
sscanf(&lpszLine[bytes_read], "%2x", &dummy);
|
||||||
|
cal_checksum += (u8)dummy;
|
||||||
|
bytes_read += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (record_type == 4) /* Extended Linear Address Record */
|
else if (record_type == 4) /* Extended Linear Address Record */
|
||||||
{
|
{
|
||||||
u16 upper_address;
|
u16 upper_address;
|
||||||
|
@ -578,6 +591,18 @@ int image_mot_buffer_complete(image_t *image)
|
||||||
full_address++;
|
full_address++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (record_type == 5)
|
||||||
|
{
|
||||||
|
/* S5 is the data count record, we ignore it */
|
||||||
|
u32 dummy;
|
||||||
|
|
||||||
|
while (count-- > 0)
|
||||||
|
{
|
||||||
|
sscanf(&lpszLine[bytes_read], "%2x", &dummy);
|
||||||
|
cal_checksum += (u8)dummy;
|
||||||
|
bytes_read += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (record_type >= 7 && record_type <= 9)
|
else if (record_type >= 7 && record_type <= 9)
|
||||||
{
|
{
|
||||||
/* S7, S8, S9 - ending records for 32, 24 and 16bit */
|
/* S7, S8, S9 - ending records for 32, 24 and 16bit */
|
||||||
|
|
Loading…
Reference in New Issue