MC56F8014 bootloader

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC56F8014 bootloader

Jump to solution
1,176 Views
chrislynch
Contributor I

Hi,

    We are using a MC56F8014 on a product. The device comes from Freescale pre programmed with a serial port bootloader (v1.3).

According to the serial port bootloader user guide:

http://www.freescale.com/files/dsp/doc/user_guide/56F801xBLUG.pdf

"Bootloader versions 1.3 and lower are unable to fully process data in S3 records if the S-record data field contains an odd number of bytes. These versions of software assumed that all S3 records would contain an even number of actual data bytes. This assumption was based on the fact the 56800/E is a 16-bit architecture with 16-bit program opcodes.

A PERL script is available to modify S-record files containing odd S3 data. After using the script to convert an S-record file, it should be safe to use on all versions of the Bootloader software. Instructions for use are embedded within the script itself, and can be referenced by executing the script with an “-h” or “-help” option in the command line. Please reference the Freescale FAQ website, http://faqts.freescale.net, to obtain this script; see FAQ #25759 "

I cannot find the above FAQ or perl script and hoped someone could provide it for me?

Thanks for the help

Chris

Labels (1)
Tags (2)
0 Kudos
Reply
1 Solution
828 Views
TICS_Fiona
NXP Employee
NXP Employee

Below it the contents in  FAQ #25759

Abstract

Why does the 56F801x serial bootloader progress halt indefinitely during S-record download ?

Problem

A fatal error occurs when the 56F801x serial bootloader encounters S3 records containing an odd number of data field bytes. When an S3 record containing an odd number of data bytes is processed, the bootloader uses the S-record checksum field as the most significant byte of the last word of data to program. This problem exists because the bootloader was developed under the assumption that all S3 records would contain an even number of data field bytes. This assumption is based on the fact that data in S3 records is used to re-program Program Flash, which is not byte accessible on 56800/E-based devices

Solution 

(Solution 1)
56F801x bootloader versions 1.5 and beyond are capable of handling S3 records containing an odd number of bytes in the data field. If the last byte in the S3 record requires padding because of an odd count, the software will pad the data with a value of 0xFF. Since S3 records used with 56800/E-based devices contain word addresses, padding will only be necessary for the last byte in the data field.

(Solution 2)
Use the PERL script available in this FAQ to read an S-record file and re-generate the data to ensure each S3 record contains an even number of data field bytes. The new S-record file can be used with all versions of the bootloader software. It is recommended that all S-record files to be used with bootloader versions less than 1.5 to apply this script to any S-record files intended for download. Usage instructions are embedded within the script itself, and can be referenced by executing the script with a “-h” or “-help” option in the command line.

View solution in original post

0 Kudos
Reply
2 Replies
828 Views
TICS_Fiona
NXP Employee
NXP Employee

PERL script

0 Kudos
Reply
829 Views
TICS_Fiona
NXP Employee
NXP Employee

Below it the contents in  FAQ #25759

Abstract

Why does the 56F801x serial bootloader progress halt indefinitely during S-record download ?

Problem

A fatal error occurs when the 56F801x serial bootloader encounters S3 records containing an odd number of data field bytes. When an S3 record containing an odd number of data bytes is processed, the bootloader uses the S-record checksum field as the most significant byte of the last word of data to program. This problem exists because the bootloader was developed under the assumption that all S3 records would contain an even number of data field bytes. This assumption is based on the fact that data in S3 records is used to re-program Program Flash, which is not byte accessible on 56800/E-based devices

Solution 

(Solution 1)
56F801x bootloader versions 1.5 and beyond are capable of handling S3 records containing an odd number of bytes in the data field. If the last byte in the S3 record requires padding because of an odd count, the software will pad the data with a value of 0xFF. Since S3 records used with 56800/E-based devices contain word addresses, padding will only be necessary for the last byte in the data field.

(Solution 2)
Use the PERL script available in this FAQ to read an S-record file and re-generate the data to ensure each S3 record contains an even number of data field bytes. The new S-record file can be used with all versions of the bootloader software. It is recommended that all S-record files to be used with bootloader versions less than 1.5 to apply this script to any S-record files intended for download. Usage instructions are embedded within the script itself, and can be referenced by executing the script with a “-h” or “-help” option in the command line.

0 Kudos
Reply