This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430 output file formats for Data I/O programmers, 128KB devices

Other Parts Discussed in Thread: MSP430F5418A, MSP430F5418

I have a customer (Ricoh) who is using the MSP430F5418A device which has 128KB od code memory. In production they plan to Use a Data I/O FlashPak III programmer at their facility in Asia. I have attached to this post a copy of the file formats supported by Data I/O. This raises some questions.

1 - Is the .out file from CCS4 COFF ?

2 - What is the format of the .obj file? it looks unique to TI.

3- Which Intel hex file format is used when Intel hex is choosen? It appears to be the original 8-bit Intel Hex format which has a limit of 64KB of code space.

Do you have any answer to address the needs of this customer? My customer would appreciate a quick response, if possible.

Thanks - Bill

File_Formats.pdf
  • William Houghton said:
    1 - Is the .out file from CCS4 COFF ?

    Yes.

    William Houghton said:
    2 - What is the format of the .obj file? it looks unique to TI.

    The same COFF as the .out file.  But please see this Wiki article for critical details.

    William Houghton said:
    3- Which Intel hex file format is used when Intel hex is choosen? It appears to be the original 8-bit Intel Hex format which has a limit of 64KB of code space.

    I presume you are talking about the hex utility hex430.  For details on the Intel Hex format hex430 outputs please see the MSP430 Assembly Tools book, the section titled Intel MCS-86 Object Format.

    Thanks and regards,

    -George

  •  In CCS4 C/C++ Build , Build Steps, you select "Create flash image: Intel-Hex".  I have no idea if this launches the hex430.exe converter or not. I'm quite familar with the original Intel hex (aka MCS-80) and the MCS-86 hex. (BTW, the MSP430 Assembly Tools book has an error in it's diagram on the MCS-86 hex records).

    My question was not about the format details but WHICH ONE DOES CCS4 USE WITH A 128KB MSP430 MCU ?

    What do I need to do to make CCS4 produce an MCS-86 hex file for the MSP430F5418 (and not an MCS-80 file) ?

    Thank you.

  • I've never used this feature in CCSv4.  But I can deduce what is going on.  The only way any kind of Intel hex output can be produced is with hex430.  And hex430 only supports one Intel format; the MCS-86 format I refer to earlier.  Moreover, this format does support 32-bit addresses.  Note the paragraph about record type 04, which specifies the upper 16-bits of the 32-bit address.

    Thanks and regards,

    -George

  • George,

    I created a very small test program and built it. Here is the entire contens of the hex file:

     

    :205C00003140005C0018F240405C001C0018F240405C041CB013385C0C43B013225CB01305

    :025C20003C5CEA

    :205C2200318006001F4104001F510200814F00003150060010011C4310010343FF3F100168

    :02FFFE00005CA5

    :00000001FF

    Where is the '04' record to specify the extended linear address ? A tool cannot ASSUME that it should be zero.

     

     

  • George,

     

    I did an experiment by creating a large array and it does seem to add the extended address record if needed. Here is an example piece:

    :02FFFE00005CA5

    :020000040001F9

    Note the use of the record type 04, extended LINEAR ADDRESS record.

    I believe that this is not MCS-86 format, but instead Intel Hex-32 also sometimes called MCS-386 Hex. If it was MCS-86 format, it would have used an EXTENDED SEGMENT ADDRESS record (record type 02), something like :020000000100FB

    Bill

     

  • Does the "Data I/O FlashPak III programmer" work with the variation of Intel hex format emitted by hex430?

    Thanks and regards,

    -George

  • Yes, it should. The customer has not confirmed this yet.