2020-12-29 10:27 PM
Hello, In my project I need to have MCU that can handle lot's of data and be power efficient when I need to.
In first, i was running STM32L562, but it looks like I will need tones more performance to complete many tasks in time.
I use DMA alot, for sending and receiving data so I don't have to waste time for manually writing to data register ( I will be running 3 UARTS with AT commands, GPS, Bluetooth, GSM module) On top of that i need CANBUS decoding that is running 0.5Mbps and is nearly saturated with messages, so tones interrupts as well as other things.
I found that STM32H735ZGT6 Is nearly the same price, but has at least 6x performance compared to STM32L5 (Cortex M33 running at 110MHz vs Cortex A7 Running at 550MHz)
What will be difference running this MCU in terms of DMA, I never had any real work with DMA on this chip, I see many questions of DMA not working, cache alignment and invalidation. And also placing data for DMA into correct memory location.
Any advice ? How much different coding will be compared to L5 part
Thank you for any thoughts
2020-12-30 06:28 AM
The coding will largely be the same except in the H753 you will need to manage or disable the data cache. They both have a DMAMUX, so that part is the same.
> Cortex A7 Running at 550MHz
The STM32H753 has an M7 core, not A7.
> I see many questions of DMA not working, cache alignment and invalidation. And also placing data for DMA into correct memory location.
You'll need to ensure your DMA buffers are aligned to the 32-byte cache pages, clean cache before sending on DMA, and invalidate cache before the CPU reads received data.
Placing data into the right location is of course something you'll need to do regardless of the chip.
2020-12-30 07:24 AM
Hi Linas L,
I try to provide you with necessary documentation:
Hope this is hopeful.
Best Regards,
Ons.