I am using DMASS in a HS-FS device AM6442 in the aerospace industry. we need to simplify the code to reduce the cost as much as possible. And I have a question about Ring definition in the memory.
I see that in example codes and the TRM, it is mentioned that the Packet Descriptor, the data buffers, and the rings have to be aligned with the cache line for optimal transfer.
I see in the example that the packet descriptors and data buffers are defined as non-cachable but the rings are cachable. Can you please explain to me why they need to be cachable?
I am using HS-FS device AM6442, therefore DMSC (core M3) is playing a role on my board, however, the only core I directly use is R5f_0_0.
Since I am only using directly only one core (not considering the DMSC) along with the DMASS, can I define it as non-cachable as well? In that case,
- I will not need to use memory fences when queuing/dequeuing (CSL_archMemoryFence)
- I will not need to use the functions CacheP_wb and CacheP_inv to write-back or invalidate the cache.
Thanks,
Boshra