Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE
Hello,
I have an external asynchronous device which is connected to the EMIF with a 32-bits data bus.
The GPIO are configured accordingly.
The EMIF is configured in order to have a 32-bits access to the asynchronous device (ASYNC_CS2_CR.ASIZE = 2)
We suppose that we have a pointer to a 32-bits data Ptr32 and a pointer to a 16-bits data Ptr16.
These pointers are initialized to the same even address corresponding to an address in the external device.
- When I write a 32-bits data, it works:
*Ptr32 = 0x12345678; // => 0x12345678 is correctly written in the external device
- When I write a 16-bits data at the address containing initially 0x00000000, it does not work:
*Ptr16 = 0x5678; // => 0x56785678 is written in the external device.
The MSB are written with the same value as the LSB instead of being unchanged.
Why the CPU has this behavior ? Is it a bug or a configuration problem ?
Thanks for your help
Best regards.