I am using 52259 to develop an HTTP server + an application.
The server will be like the one of a commercial Internet Modem + Dynamic variables changing.
I am planning on adding an external MRAM memory (4MegaBits) but I am not really sure if I should or should not add it.
Any comments will be appreciated.
Hi Jaime
I think that this is mainly a question of price. A 4Meg MRAM costs about $17 in 1000 quantity. A 4Meg SPI FLASH will cost maybe $1. And if you want much larger memory it is only a bit more.
For a web server (to store web pages and graphics etc.) the 35ns access time of the MRAM is no real advantage. Serial SPI access, although much slower in comparison, is adequate considering the other delays involved with data transmission.
Where the MRAM can't be beaten is that it also writes and deletes [if even needed] this quickly (SPI FLASH writes take several us and block deletes several ms). SPI FLASH has also wear-out so, in some applications, needs refresh and wear-out avoidance. MRAM doesn't have these restrictions.
The last point to consider is the connection. MRAM requires the FlexBus and so it limits the choice of M5225X parts to the larger ones with these pins - see an overview here: http://www.utasker.com/forum/index.php?topic=256.0
- SPI FLASH requires only 4 QSPI pins.
See the following where I tested a file system in MRAM on the M52259EVB: http://www.utasker.com/forum/index.php?topic=504.0
Regards
Mark
Thank you for your anwer Mark,
I thought that I needed more RAM memory in order to have dynamic web pages. Isn't this correct? I am new with Coldfire architecture and Ethernet and I believed dynamic WebPages needed to be loaded in RAM in order to make the proper changes. I thought I would run out of RAM since I will have main application running. Are the 64k internal RAM enough to manage http server?
If RAM is not a requirement for the HTTP server, I will be more than happy to just add a SPI Flash Memory.
Jaime R wrote:Thank you for your anwer Mark,
I thought that I needed more RAM memory in order to have dynamic web pages. Isn't this correct? I am new with Coldfire architecture and Ethernet and I believed dynamic WebPages needed to be loaded in RAM in order to make the proper changes. I thought I would run out of RAM since I will have main application running. Are the 64k internal RAM enough to manage http server?
If RAM is not a requirement for the HTTP server, I will be more than happy to just add a SPI Flash Memory.
In my application, used ROM size is under 100K bytes and used RAM size is under 32K bytes. It has a web-server with dynamic content and lots of other functionality too. Dynamic content is done with simple string substitution on-the-fly, so very little extra RAM is required for that. Lwip was used for TCP/IP stack, and I put together my own simple and resource-efficient http server. I suppose, memory requirements depend greatly on which TCP/IP stack and http server you'll be using.
Also I recommend reading this recent thread on the lwip-users mailing list:
There are a few interesting points there.
The MQX package included with the 52259 includes a web server with dynamic content running in less than 64K ram as well. Your actual requirements will depend on how much space you need for dynamic content, and how many simultaneous connections to the server you want to support.
Hi Jaime
Take a look at : http://demo.uTasker.com
This is running on the M52259DEMO board and there are various dynamic content pages. This demo includes also USB (athough not testable over the internet) and it all works from 32k SRAM (so that it would also run on the smallest device in the family).
All web pages are in FLASH. The program size is about 87k - you can also Telnet to it at that address and access a command line menu which is basically a large chunk of strings, otherwise it would be a fair bit smaller. The remaining FLASH is used for a file system where new pages can be uploaded to via FTP, and there are a few larger images loaded.
By adding cheap SPI FLASH you can increase the file system size [it can overflow from internal FLASH to external SPI FLASH - or multiple SPI FLASH chips {it presently supports ATMEL AT45, ST25 and SST types}] to several MByte). The SRAM requirements don't change.
Regards
Mark