circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

May 2006, Issue 190

ARM-Based Modern Answering Machine
Philips ARM Design Contest 2005 First Prize


WEB SERVER

The uIP stack relies on a memory-based file system. Because the TAM-TAM includes a flash memory file system, I had to modify the web server to use the existing FAT system. The process ended up being more involved than I had initially anticipated.

The way in which web browsers access a web page is interesting. For example, when downloading a file, the web browser attempts to download the beginning of the file by looking for the Content-Length (size) header. It then aborts the file download and restarts it immediately. Although this process is easy to handle with a memory-based file system, it has to be handled carefully with the FAT system. The Content-Length header is added to the original web server, and it requires the addition of a FAT function to discover the size of a given file.

The web page I ended up displaying was simple. It shows a list of messages with the time, name, and phone number. Such messages are automatically downloaded and played when a user clicks on a hyperlink. This is one aspect of the TAM-TAM project where some work would improve the quality of the prototype.

The file streaming process can be slower than real time, and Windows doesn’t always cache enough data to take this into account. The problem occurs because the queue isn’t always full. An open file is read only when the file system is starving for data.