CCM ( core coupled memory ) on stm32f4

ChibiOS public support forum for topics related to the STMicroelectronics STM32 family of micro-controllers.

Moderators: barthess, RoccoMarco

jscott
Posts: 129
Joined: Tue Jul 03, 2012 3:50 pm
Location: Middle Georgia, USA
Contact:

CCM ( core coupled memory ) on stm32f4

Postby jscott » Sun Feb 16, 2014 3:00 pm

I am working on dumping everything out of the DMA accessible memory that I can to maximize DMA speed.

In my makefile I have switched the section that was:

Code: Select all

# Define linker script file here
LDSCRIPT= $(PORTLD)/STM32F407xG.ld
#LDSCRIPT= $(PORTLD)/STM32F407xG_CCM.ld


to read

Code: Select all

# Define linker script file here
#LDSCRIPT= $(PORTLD)/STM32F407xG.ld
LDSCRIPT= $(PORTLD)/STM32F407xG_CCM.ld


Now Chibios puts its stacks and such into the CCM :D :D

I have also moved some data frequently accessed data buffers
to CCM using something like:

Code: Select all

#define intoCCM  __attribute__((section(".ccmbuf")))  __attribute__((aligned(4)))

Code: Select all

volatile framebuffer_t framebuffer[STRINGS][LEDS] intoCCM;


It looks like things are working right because in my .map file I now find:

Code: Select all

 *(.ccmbuf)
 .ccmbuf        0x10000968      0x200 build/obj/lightshow.o
                0x10000968                framebuffer
                0x10000b68                PROVIDE (_cmm_end, .)


HOWEVER ( you just knew there had to be a catch... )

While linking I get this odd message that I have not been able to figure out what it means...

Code: Select all

Linking build/ch.elf
c:/chibistudio/tools/gnu tools arm embedded/4.7 2013q2/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/bin/ld.exe: warning: section `.ccm' type changed to PROGBITS
Creating build/ch.bin


Anyone got an idea just what this means??? Is it a problem??

Thanks
-John Scott

User avatar
Giovanni
Site Admin
Posts: 13012
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 745 times
Been thanked: 621 times
Contact:

Re: CCM ( core coupled memory ) on stm32f4

Postby Giovanni » Sun Feb 16, 2014 3:07 pm


jscott
Posts: 129
Joined: Tue Jul 03, 2012 3:50 pm
Location: Middle Georgia, USA
Contact:

Re: CCM ( core coupled memory ) on stm32f4

Postby jscott » Sun Feb 16, 2014 5:54 pm

I found this information of what the "nobits" and "progbits" do. It may not be complete, but it tells us we don't need to worry about that warning.

From:
http://psomas.wordpress.com/2011/02/25/ ... nel-macro/

3) When using the section attribute on a variable, in order to change the section it belongs, you cannot change the section’s type to nobits, it’ll be progbits by default. progbits means that the section will actually get space allocated inside the executable(like text and data sections), in contrast to nobits sections like bss for example.


-John Scott


Return to “STM32 Support”

Who is online

Users browsing this forum: No registered users and 4 guests