cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4: 64 kB SRAM inaccessible to all peripherals?

infoinfo989
Associate III
Posted on November 03, 2011 at 03:37

We've been looking at the new STM32F4x because we could really use some additional internal memory, and the F4x family advertises up to 192 kB. Sounds great. So today I attended our local STM32F4x roadshow presentation, and in the process got quite the shock. The F4 block diagram showed this juicy big 64 kB SRAM hanging off the processor data bus, and the presenter said this RAM (named the ''CCM data RAM'') is inaccessible to the DMA controllers or peripherals. He said it can only be accessed by read and write instructions from the processor.

What?? You're kidding right?

Apparently he wasn't kidding, and the F4x datasheet has this to say on the subject:

 

 

The 64-Kbyte CCM (core coupled memory) data RAM is not part of the bus matrix (see Figure 1: System architecture). It can be accessed only through the CPU.

I'm sure that ST did this for a reason, and perhaps some people will be dancing in the streets with joy. But for us, where our application involves DMA'ing large amounts of data between various peripherals, that 64 kB of SRAM might as well be located on the moon.

Before we throw in the towel on the F4, I thought I'd throw out a crazy question to this board and ask if anyone knows any different to the above? Is there some way to get data into and out of that block of SRAM without needing to execute load and store software operations for every single word? How do we get data into and out of that big chunk of SRAM in an efficient manner? I'm just hoping there's some trick or piece of information I'm missing here, something that perhaps the presenter today wasn't aware of.

Many thanks.
11 REPLIES 11
rmteo
Associate II
Posted on November 09, 2011 at 02:30

This might be of interest

http://media.freescale.com/phoenix.zhtml?c=196520&p=irol-newsArticle&ID=1627466&highlight=

The new Kinetis X series shares the same powerful ARM Cortex-M4 core (with DSP and floating point instructions) used for other Kinetis devices, but with an increased operating frequency up to 200 MHz - the fastest of any Cortex-M-class MCU. Kinetis X series internal memories include 1-4 Mbyte of flash and 0.5 Mbyte of SRAM, with multiple off-chip memory options also available for expansion headroom.

John F.
Senior
Posted on November 09, 2011 at 09:22

''

Freescale plans to provide Kinetis X series alpha samples and development tools to select customers in Q2 2012, with production quantities available in Q1 2013.

''