Cerb40 Code/RAM space

I read somewhere (between the spec page and the forums) that the free resources on Cerb40 will be:

  • 112 kb RAM
  • 300 kb flash
    I’m looking to use cerb40 as a NETMF module (no gadgeteer), and I’m interested in squeeszing as much as possible.
    I’m looking for clarification whether:
  • this numbers include Gadgeteer support (and can it be removed)
  • this numbers include Ethernet+TCP/IP support (and can it be removed)

Can you provide an estimate of what space would be without those features and if there is a way to strip even more ?
Do you plan to support external RAM and/or external LCD (for those who will use the 100+ pin versions of the STM32F4 ?
Also do you plan to provide a chip (SoC) version like the USBizi ?

Because it’s OSH, you can remove anything you’d like and free up flash. You could also (presumably) compile it with something like RVDS, and that would make more flash available as well.

Does it mean that those numbers are for GCC build.

I assume that, but I don’t know for sure. The reason I assume that is the USBizi100, which has 512 KB of flash on-board, has 148 KB free for user use, when compiled by RVDS (I assume…).

The Cerb40, which has 1024KB of flash on-board, has ~300 KB free. If it was compiled with RVDS, you would expect to have ~650 KB free.

Let me ask you this, why do you need to squeeze it more? The FLASH and RAM you have is very much plenty for most applications suited for Cerberus/Cerb40. If this 112K RAM is not enough for an application, then even double that will not be enough.

Because my project might (very likely) require a lot of native code (math), which will be 16/32 bit Thumb2 with using the DSP extensions of the Cortex M4, and this usually takes a lot of space, and 300 KB does not sound like too much (comparing to 1 MB total Flash). I was hoping for 500-600 KB. Maybe if I’m told that the gadgeteer and networking code is not included and the NETMF really needs this 700 KB code to run, I would feel better that there’s no wasted space.

Still like the Cerb40 a lot.

In fact, I had been thinking since the Cerb40 announcement of ways to take advantage of all that RAM. Seems like my sprinkler controller could do a whole lot more than sample a few sensors and turn some solenoids on and off a few times a week :wink:

Your DSP code will need 500KB?! WOW I would love to see what you are doing!

I cannot estimate it properly maybe.
Anyway it does not look the answer is here, I’ll have to get the source code and play with it and the compiler.
Thanks anyway.


first the code is compiled with RVDS there are no success reports yet compiling the code with GCC, we got pretty far also but still not all the way

if you look the scaterfile and memory map then

128 K is used (wasted) for small config data block
CLR is above 256K so it takes 3 block, that is 384 K
first 128K that is made of smaller blocks is used/reserved

so what we have left out of 1M for the user code?

384K max…