Search found 78 matches

by tridge
Mon Mar 18, 2019 2:24 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

My problem is that I don't understand under which condition the TX FIFO is not empty on entry, all SPI operations synchronize of received frames, if you receive a frame then it means that you also transmitted one and the TX FIFO needs to be empty. I can re-test it if you like. I see what you mean a...
by tridge
Sun Mar 10, 2019 12:08 pm
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

Giovanni wrote:The SPI driver should allow for mixed DMA and non-DMA operations, is leaving those 2 bits enable a problem? DMA channels are disabled. It is not a problem apparently for other SPI implementations.

you're right, it works fine to leave those enabled, and that means we can mix DMA and non-DMA.
by tridge
Sun Mar 10, 2019 11:17 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

About the SPI patch posted before, I am not sure it is correct, it disables SPI_CFG1_RXDMAEN and SPI_CFG1_TXDMAEN which are not more re-enabled. Following operations would fail. Do you mean the patch to fix spi_lld_polled_exchange()? That disables SPI_CFG1_RXDMAEN | SPI_CFG1_TXDMAEN, but only when ...
by tridge
Sun Mar 10, 2019 11:06 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

fix dummy byte handling in SPIv3 for H7

I attach a patch which fixes an issue with spiSend() and spiReceive() for SPIv3 on H7. The problem is that the dummyrx and dummytx variables may not be DMA safe, depending on where static data is declared and which SPI bus you are using. The patch adds dummyrx and dummytx pointers in the SPIv3 confi...
by tridge
Sat Mar 09, 2019 7:20 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

I think that crossing domains has an impact, you take bandwidth in all matrices you cross and add wait states. If the CPU is mostly using data in DTCM and ITCM then I expected it to not add any wait states, as those don't go via the shared matrices. So basically I was relying on putting all the per...
by tridge
Sat Mar 09, 2019 6:51 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

I think SRAM4 is not very efficient for anything except BDMA What impact does this have? Does it mean it uses more memory bandwidth? Stalls DMAs? Affects the cpu usage? Uses more power? I can see from the bus diagram that it means memory transfers are crossing a bunch of interconnects, but as long ...
by tridge
Sat Mar 09, 2019 3:26 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

memory domains and DMA on H7

Hi All, One of the more interesting aspects of the H7 is how memory is setup to be in domains, with different DMA controllers able to talk to different domains. I thought I'd explain how I've got this setup, and hope that others will post their strategies as well. First the basics. There are 7 built...
by tridge
Mon Mar 04, 2019 11:45 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

small fix for ADCSEL bug on H7

Here is a small fix for the ADCSEL values on H7
by tridge
Fri Mar 01, 2019 12:25 am
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

here is a version that only uses IDMA, and simplifies the structure a bit. It still has the bouncebuffer hooks in it. The bouncebuffer API is defined here: https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ChibiOS/hwdef/common/bouncebuffer.h @Giovanni, would you consider having a H...
by tridge
Thu Feb 28, 2019 10:31 pm
Forum: STM32 Support
Topic: Where to start STM32H7 support
Replies: 146
Views: 11625

Re: Where to start STM32H7 support

I will give a DMA driver a try after I am back from travel. I had another go at it this morning, and IDMA now works! Yipee!! The order of register setup is really quite critical. I attach the working driver. It has defines for polled, interrupt driven and IDMA modes. Only polled and IDMA work at th...

Go to advanced search