afry-south / dragonfly-fcb

ÅF Dragonfly Quadrotor UAV Project
Other
7 stars 3 forks source link

Make appropriate use of the CCM RAM #70

Open stenbergd opened 9 years ago

stenbergd commented 9 years ago

Make some use of the Core-coupled Memory in RAM.

Perhaps run critical or often run code from this RAM section or store commonly updated variables in it? Run RTOS from it? Perhaps run Extended Kalman and other heavy algorithms from it? Such as the calibration optimization problems also.

Overview and tips for using STM32F303/328/334/358xx CCM RAM with IAR EWARM, Keil MDK-ARM and GNU-based toolchains http://www.st.com/web/en/resource/technical/document/application_note/DM00083249.pdf

The STM32F303xB/C and STM32F358xC CCM RAM is tightly coupled with the Cortex™ core. it is primarily intended to execute code at maximum system clock frequency (72 MHz) without any wait state penalty. It thus allows to significantly decrease critical task execution time, compared to code execution from Flash memory. CCM RAM is typically used for real-time and computation intensive routines, such as: • Digital power conversion control loops (switch mode power supplies, lighting) • Field-oriented 3-phase motor control • Real-time DSP tasks

adam-at-epsilon commented 8 years ago

pushed some experimentation to remote branch issue70_ccm. Some more investigation is needed to determine if initialised arrays allocated to CCM keep their initialised values at run time.

useful link: https://community.arm.com/thread/7191