2012-12-26 08:38 PM
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 ram2012-12-27 11:34 AM
The F4 Discovery has 192 KB RAM. How much RAM do you need?
Cheers, Hal2012-12-27 11:37 AM
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 PHYhttp://www.st.com/internet/evalboard/product/252jsp
2012-12-27 04:38 PM
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.2012-12-27 08:10 PM
@ 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 advice2012-12-28 08:09 AM
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 FLASH2012-12-28 10:47 AM
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