2017-09-12 07:52 AM
Hi,
I'm using STM32F415 with treadX OS and Netxduo
When I want to allocate some data, it crash when I'm over 64 Kb
I have try to configure OPENOCD with this configuration but no changes:
configure -work-area-phys 0x20000000 -work-area-size 0x15000 -work-area-backup 0
Ludo
#sram #stm32f4 #memory #openocd2017-09-13 05:33 AM
Ok thanks for this information
When you ask to move the statics in CCM, you means .bss ?
I have try to move .bss in CCM
.bss : /* Zero initialised memory used for zero initialised variables */
{ link_bss_location = ALIGN(., 4); *(.bss*) *(COMMON) link_bss_end = .; . = ALIGN(., 4); }> CCMSRAM AT>SRAM :bssI have 20 Kb more but UART receiver doesn't work
2017-09-13 05:40 AM
UART receiver doesn't work
DMA-based? DMA can't reach CCM in F4xx; DMA buffers have to be in SRAM1/SRAM2.
OTOH, stack ought to be located in CCM.
JW
2017-09-14 06:53 AM
Yes it is.
If I want to move Heap PROVIDE( _eheap = ALIGN( ORIGIN( CCM_SRAM ) + LENGTH( CCM_SRAM ) - 8, 8 ) );
Same problem.
Have you an other solution ?
Is it possible to move all data except DMA value ?
2017-09-14 06:58 AM
Here is a small
http://www.openstm32.org/Using+CCM+Memory?structure=Documentation
on using the CCM memory with STM32 and GCC for different purposes.2017-09-14 10:30 AM
Thanks but I have already follow this process but I haven't '_estack' i my ld script
and I don't know how to move all data in CCM except DMA.