2013-01-10 05:12 PM
1-i'm confused in datasheet i see 4x64mb per bank . it's means maximum of each nand flash is 64mbyte .
2- in the AN2790 Application note about lcd with fsmc. read from NAND Flash 11 fps read fron sd card 12fps why the sd card faster than nand flash sd card is serial and. nand flash is parallel and read time is 25ns per byte it means 40mbyte per second read speed.2013-01-10 06:17 PM
NAND memories access as block devices, they don't provide linear access like NOR. You access them through a window, and can therefore provide huge amounts of storage in a much smaller address space.
Accessing the blocks within a NAND is relatively slow, you must request that it retrieves data, wait for it to be ready, and then pull it out. Pulling it out relates to the bandwidth of your bus. You should review your NAND docs/specs and understand the block/page read/write times. SD cards place a NAND controller in front of the NAND memories, this can provide for additional buffering, caching, and prefetch, along with error correction. Aspects of which you'll have to get painfully involved in by talking to the NAND memories directly.2013-01-11 06:08 AM
thank you :)
what about this question 1-i'm confused in datasheet i see 4x64mb per bank . it's means maximum of each nand flash is 64mbyte ? .2013-01-11 06:54 AM
what about this question
1-i'm confused in datasheet i see 4x64mb per bank . it's means maximum of each nand flash is 64mbyte ? .
Count the number of available address pins in the FSMC interface, and you know why.
2013-01-11 06:57 AM
64 MB x 4 = 256 MB (0x10000000)
This is the size of the address decode bank within the STM32, this has NO bearing on the capacity of the attached NAND if you understand how the memory is accessed. The NAND is NOT a byte addressable memory.2013-01-11 07:32 AM
thank all for fast reply :)
i will buy 512mbyte very fast nand flash. and execute programm code from it .2013-01-11 08:20 AM
i will buy 512mbyte very fast nand flash. and execute programm code from it .
Again, it's not byte addressable, you can't execute code from it. Think of it like a hard drive, or other block device. If you want code execution use SRAM or NOR.2013-01-15 11:50 AM
i see some data sheet about nor flash and sram. but all very slow .compared with internal flash and sram . if i use two sram and two nor flash it will increase speed and capacity. or will increase capacity only
2013-01-15 01:12 PM
Well you have a couple of issues, the Cortex-M3 is designed to used tightly coupled memories for rapid execution, it does not have a cache mechanism to defray the slow speed of external memories. The ART cache which masks the intrinsic slowness of the internal flash is tailored to that specific architecture, and represent a critical path for prefetch accesses. External memory accesses on ST parts have historically been slow, driving the bus also takes a lot of power as it has to escape the core, and boost the current/voltage. ST parts (STR9, STR7, STM32) do not support SDRAM, so you are pushed into more expensive and lower capacity parts when adding external memory.
Consider a 2MB FLASH version of the STM32F4 family.http://www.st.com/internet/com/press_release/p3357.jsp
If that still isn't enough, start considering other architectures. Perhaps an ARM9 core, with caching and SDRAM support. Or an A-series part targeting phones/tablets.2013-01-20 10:37 AM
thank you for your help and full support :) .
when i add an external nor flash. can i make some function execute from external nor memory . and some function execute from internal flash memory.