Mar 12, 2020
08:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 12, 2020
08:40 AM
Hello,
to improve the performance of my application on a
XMC4500F100K1024AC, I tried to use the CCM but I
did't find any hints in the web.
In the STM32F4xx-world they use a special variable
declaration to place them into the CCM.
So I started to declare my variables step by step
in this way, e. g.:
static float xyz __attribute__((section(".ccmram")));
DAVE's compiler/linker passed without trouble
and there was an ascertainable gain of performance.
But if I exceed a certain number of variables declared
in this way, the application suddenly crashes.
Does the CCM have to be specially initialized or
are other preparations required?
Best regards
to improve the performance of my application on a
XMC4500F100K1024AC, I tried to use the CCM but I
did't find any hints in the web.
In the STM32F4xx-world they use a special variable
declaration to place them into the CCM.
So I started to declare my variables step by step
in this way, e. g.:
static float xyz __attribute__((section(".ccmram")));
DAVE's compiler/linker passed without trouble
and there was an ascertainable gain of performance.
But if I exceed a certain number of variables declared
in this way, the application suddenly crashes.
Does the CCM have to be specially initialized or
are other preparations required?
Best regards
- Tags:
- IFX
1 Reply
Mar 13, 2020
03:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 13, 2020
03:58 AM
Hi,
Have a look to the linker file, you need to use the following attribute:
/* functions with __attribute__((section(".ram_code"))) */
Regards,
Jesus
Have a look to the linker file, you need to use the following attribute:
/* functions with __attribute__((section(".ram_code"))) */
Regards,
Jesus