I wanted to bring this to your attention -- a great, easy, platform-independent way of interacting with embedded devices:
Make the embedded device appear to be a USB memory stick. This allows interactions like drag and drop of log files off of the device, drag and drop firmware updating, and simple upload/download of configuration files.
It works like this: The user downloads the firmware update file from your website. He plugs in the computer and sees the "Dynon D100" drive on his computer. He drags-and-drops the firmware image into that drive. The user then unplugs the computer and cycles the power. On bootup, the device looks at its USB-available memory space for a firmware image file. The device does a CRC and begins the update process. At this point, a computer is no longer necessary to carry out the update. When the update is finished, the firmware file is deleted and the system reboots into the new version.
Log files are written as they are acquired to the USB-accessible memory. When the user wants to grab them, He then drags all *.log files off. Configuration files could be some text format and editable using a utility program, a web tool, or a text editor.
Examples of devices using this scheme or something similar:
The SparkFun KinetaMap http://www.sparkfun.com/commerce/product_info.php?products_id=8725
Also, the Amazon Kindle DX works similarly, with drag-and-drop support for book and PDF files.
The KinetaMap uses an NXP LPC2148 ARM7 processor. I'm currently using this processor and scheme in a project, and it works quite well.
Make the embedded device appear to be a USB memory stick. This allows interactions like drag and drop of log files off of the device, drag and drop firmware updating, and simple upload/download of configuration files.
It works like this: The user downloads the firmware update file from your website. He plugs in the computer and sees the "Dynon D100" drive on his computer. He drags-and-drops the firmware image into that drive. The user then unplugs the computer and cycles the power. On bootup, the device looks at its USB-available memory space for a firmware image file. The device does a CRC and begins the update process. At this point, a computer is no longer necessary to carry out the update. When the update is finished, the firmware file is deleted and the system reboots into the new version.
Log files are written as they are acquired to the USB-accessible memory. When the user wants to grab them, He then drags all *.log files off. Configuration files could be some text format and editable using a utility program, a web tool, or a text editor.
Examples of devices using this scheme or something similar:
The SparkFun KinetaMap http://www.sparkfun.com/commerce/product_info.php?products_id=8725
Also, the Amazon Kindle DX works similarly, with drag-and-drop support for book and PDF files.
The KinetaMap uses an NXP LPC2148 ARM7 processor. I'm currently using this processor and scheme in a project, and it works quite well.