Why is the uDMA Control table declared as uint8_t and not as uint32_t in the Tivaware examples?
According to the datasheet the "registers" for the target address and so on are 32bit long.
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.
Why is the uDMA Control table declared as uint8_t and not as uint32_t in the Tivaware examples?
According to the datasheet the "registers" for the target address and so on are 32bit long.
Hi,
I think the reason is that uDMA control table must be aligned to 1024 bytes. In order to satisfy this requirement, the software developer for the example uses the pragma DATA_ALIGN as follows to force the alignment. I suppose uint32_t can be used for pui8ControlTable[256] to achieve the same thing.
#pragma DATA_ALIGN(pui8ControlTable, 1024)
uint8_t pui8ControlTable[1024];
As a heads-up, I'm currently on vacation. Please expect delay in my response.