cancel
Showing results for 
Search instead for 
Did you mean: 

external RAM STM32F4

its
Associate II
Posted on December 27, 2012 at 05:38

hi

I have memory constraints to hold image data greater than 32768 bytes. Can I use external RAM/memory for that to overcome this limitation so that I can get high resolution image data? will that fast enough for DMA to write there from DCMI_DR?

external ram

6 REPLIES 6
raptorhal2
Lead
Posted on December 27, 2012 at 20:34

The F4 Discovery has 192 KB RAM. How much RAM do you need?

Cheers, Hal

Posted on December 27, 2012 at 20:37

You should be able to test 128KB on an F4, there is 64KB of CCM you could use for program data space.

External memory via FSMC supports up to 60 MHz, not sure that translates to usable bandwidth with 8/16-bit external memories.

You really need to get a board, like the STM3240G-EVAL, which would allow you to experiment before committing to a hardware design. This eval board has 1MB (16-mbit) of external RAM. And a High-Speed USB PHY

http://www.st.com/internet/evalboard/product/252jsp

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
michaelmccartyeng
Associate II
Posted on December 28, 2012 at 01:38

I'm doing basically the same thing as you in many ways. You might want to look at cameras which have onboard jpeg or mpeg compression. They are not very expensive and reduce the size of the image greatly ! 

Yes you could make this huge bandwidth hog without compression but if you had compression you could have multiple cameras and use less bandwidth, and have less memory constraints. 

its
Associate II
Posted on December 28, 2012 at 05:10

@ Hal

I need 615Kbytes of space.

@clive

ok i will look for the board u mentioned.

how can I use 128kb ? when i declare array of large size , i got compile time error!!

@michael.thanks for advice

Posted on December 28, 2012 at 17:09

A compiler or linker error? Can you be more specific about the exact error and tool chain?

You perhaps need to look at what Target CPU you have selected, how much RAM that specifies, and the memory map used by the linker script or scatter file. You should pick a Target CPU that has the 192K RAM, and 1MB FLASH

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
michaelmccartyeng
Associate II
Posted on December 28, 2012 at 19:47

I remember I would get all kinds of errors when creating huge arrays too. more than likely you cant use all of the mem for your array you will still have other requirments. When you finish compiling the compiler prints this

Program Size: Code=17044 RO-data=320 RW-data=148 ZI-data=5412  

This tells you how much you are already using, you have to subtract your max mem from that to get the amount still available. I think its the ZI data that is the memory you are using and already allocating for arrays and such. Note i'm using kiel and stm32 which you are not but you should have similar output.

gl