Hello JWW, first I would like to thank you for taking the time to participate in this thread, your suggestions are most welcome!

Yes, my board has a single 16 bit SDR memory module and a 16 bit flash (but I think the latter doesn't count in this matter).
I am using a custom-made MCF5373 based board, I only do the software part, another student designed the hardware.
What I want to do: make CodeWarrior upload my code into the SDRAM and run it from there (it works from the internal SRAM). I know that there can be lots of things I don't know about, please feel free to point out mistakes / misunderstandings in my thinking.
What I did:
- I configured the external bus width to 16 bit via the .CFG file, the relevant source line is:
writemem.l 0xFC0B8004 0xC1082002 # SDCR config
- I also modified the memory configuration .MEM file, I added:
range 0x40000000 0x41ffffff 2 ReadWrite # 16 bit SDRAM
Unfortunately I don't understand how CodeWarrior uploads the data (and I haven't found any documentation about it yet).
I think this (or something like this) should happen:
- CodeWarrior uploads a 32bit value like 0x12345678, the SDRAM controller writes that value into the SDRAM as two 16bit value, 0x1234 and 0x5678;
- CodeWarrior fetches a 32 bit value to verify, the controller fetches two 16bit values (0x1234 and 0x5678), assembles it into a 32 bit value (0x12345678) then gives it to CodeWarrior;
- CodeWarrior sees that the write was successful and repeats;
Clearly it doesn't happen that way, I conclude from the error message (see my first post in the thread) that CodeWarrior tries to upload a 32bit value into SDRAM, but upon verifying it receives back only one half of the data. Like it tries uploads 0x12345678 then downloads only 0x00005678.
What may be my mistake?
Thanks in advance, Richard