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.

OMAPL-138 16-bit write



Dear E2E:

Thank you for your support.

I use OMAPL-138 and work a lot with emulator "Blackhawk-560M".

1.  I use GEL file to write and read the data to some memory locations.

2.  I found that emulator performs always 32-bit writes - even the variable in GEL is defined as 16-bt "short" or 8-bit "char" .

3.  As soon as I make the 16-bit "write" in GEL - emulator is doing 32-bit "read" first then writing two 16-bit word replacing the changed field and repeating "unchanged" 16-bit. It looks like "read-modify-write" 32-bit command. I did it with emulator memory window closed but still saw the same "Read before Write".

4.  Is it the emulator specific behavior or OMAPL-138 does it himself?

5.  It is hard to believe that OMAPL-138 can't make simple 16-bit write - especially because OMAPL-138 uses 16-bit data bus.

6.  Is there a way to set emulator or OMAPL-138 to the mode when the simple 16-bit write is done as a single write avoiding the "Read before Write"?

Thank you for your help,

Boris Ruvinsky

  • Hi Boris,

    What is the full version number of your CCS install? (ex: the latest is 5.2.1.00018)

    Thanks

    ki

  • Hi Ki.

    Thank you for your support.

    I use CCS:  Version: 4.2.4.00033.

    Will my problem be fixed if I update CCS to Version: 5.2.1.00018?

    Can this update create any problem with my existing project files?

    I am affraid - I can loose some time if I update CCS.

    Thank you,

    Boris

  • Boris,

    The CCS debugger will try to align memory access to the word size of the target. You can override this behaviour by defining a memory map and specifying the Access Size parameter in GEL_MapAddStr. Have a look at the documentation for GEL_MapAddStr() and "Memory Map Overview" from the Help -> Help Contents.