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.

MSP430F5324:MSP430 CLI programmer write direct memory address

Part Number: MSP430F5324
Other Parts Discussed in Thread: UNIFLASH

Hi Sir,

        As below are my request, please kindly to reply.

        1.First, we programmer main code to MSP430

        2. 2nd, We would to direct write data to memory range [4400h-45FFh] and can't destroy main code.

        3. This is for factory MP. so, we would to use CLI to re-package to GUI for operator work.

        SO, CLI can be completed write direct memory address??would you have any example??

BR,

Neal Huang.

  • Hi Neal

    We have the Uniflash to support the CLI to program the MSP430
    For more information you can refer to processors.wiki.ti.com/.../UniFlash_v4_Quick_Guide
  • Hi Gary,
    Thank you for your reply.
    processors.wiki.ti.com/.../UniFlash_v4_Quick_Guide

    Checked the CLI command can't found write direct address data command.
    Would you get me example "write data to memory range [4400h-45FFh] CLI command?"

    BR,
    Neal Huang
  • I guess that you can during run time generate short TI txt file for your requested write command, for example...

    @4400
    12 34
    q

    and than this file can be used by TI CLI tool for direct address write command.

  • Hi zrno soli,

               I programmer main code before. Base on your suggestion, we create mod_addr.txt file to programmer memory range 0x4400. The screen show as below.

    As below screen show are before & after memory comparison. but the data after @4420 will be set to “FF” to the end of memory.

    Would you and suggestion how to not modify other flash??

  • I see that you want to update part of flash memory. I don't know how, but I guess that uniflash can be configured (maybe it is by default) just to erase flash segment requested by txt file memory area. In this case you can leave empty (erased) hole (segment size)  in your program with initial setup on 04000h. Later only this segment will be updated (erase/write). Other solution is to read original segment contest from device, generate text file (segment size) with updated/replaced data, and write it back to device

  • Hi zrno soli,

                        OK! We have two ways to solve. 

    In this case you can leave empty (erased) hole (segment size)  in your program with initial setup on 04000h. Later only this segment will be updated (erase/write).

    A: Would you have example? or any document?

    Other solution is to read original segment contest from device, generate text file (segment size) with updated/replaced data, and write it back to device

    A: This way end customer does not like the reason is the time to waste the factory line. BTW, would you have any example or document?

  • I am coding in assembler, and not using TI software / hardware tools, so I don't have example for you. I would chose 1st option, and in assembler I would declare segment like...
    org 04000h
    dw 0FFFFh, 0FFFFh... initial data ... 0FFFFh, 0FFFFh ; initial fill for updatable flash segment

    For both options, flasher will erase / write one segment. 2nd option will do segment read before update. Any FET should do this job in 1 second with automated script, so I don't see from where you get wasted time in the factory line.

**Attention** This is a public forum