-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
F7 optimizations #4263
F7 optimizations #4263
Conversation
Main gains came from ensuring critical functions go into fast instruction RAM |
@DieHertz yes, this is what I'm expecting. Small steps tho |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from required verification that D-Cache doesn't break DMA - LGTM
I recommend placing dma buffers into dTCM ram on F7 to avoid having to think about it |
@@ -154,7 +154,7 @@ __IO uint32_t uwTick; | |||
HAL_StatusTypeDef HAL_Init(void) | |||
{ | |||
/* Configure Flash prefetch and Instruction cache through ART accelerator */ | |||
#if (ART_ACCLERATOR_ENABLE != 0) | |||
#if (ART_ACCLERATOR_ENABLE != 0U) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not necessary, I thought I have removed it to not introduce any changes into lib
folder
👍 |
Tested LED and DSHOT, both are still working so looks like there is no DMA problems |
Cool! |
This reverts commit 3ceb2dc.
@DzikuVx What's up with your taskbar on the left? Are you some kind of MONSTER? 😉 |
@teckel12 this is the best place for taskbar on widescreen. It just takes less space than on the bottom |
F745 tested on OmnibusF7. Todo:
|
By pure coincidence tested on F722-STD with DSHOT600 and 4kHz mode (GPS and mag). All fine |
@DzikuVx Nice work! |
Things that @DieHertz did in betaflight/betaflight#5674 or at least some of them.
So far, after enabling caches, prefetch and ART, load at 8kHz went from 1200% to 900%. Let's say it's a porgress.
As a goal I would like to see 8kHz mode on F7 working.
I'm also considering decoupling some tasks from main loop again but this time without really giving users much options about them