Adam's Foolish Projects

Just a place to keep links to my foolish projects.

Development Tools

MRI: The Monitor for Remote Inspection allows you to debug your LPC1768 based mbed device. Link your mbed executable with the mri library, attach the GNU debugger (gdb) to your mbed over the serial port, and start debugging. Supports many of the same debugging features as found in full flown JTAG debuggers: breakpoints, single stepping, variable inspection/modification, watchpoints, etc.

GCC4MBED: A project to allow mbed code to be compiled with GCC. It even maintains the convenience of the mbed libraries. Supports Windows, OS X, and Linux.

mbed-LPC1768 (Cortex-M3) Projects

Green's Weather Station: Web server based weather station using Sparkfun Weather Meters.
Prototype Case: Case to hold mbed with Ethernet breakout.

mbed-LPC11U24 (Cortex-M0) Projects

Joystick as USB Mouse: Not a very useful project but fun first project with the mbed-m0 beta hardware. It uses an analog thumb stick from Sparkfun to control the absolute position of the mouse cursor on a PC.
Blackberry Trackball as USB Mouse: Demonstration of using the Blackberry trackball breakout board from Sparkfun and exposing it as a mouse on a PC.

File Systems

As I work on my lwip based HTTP server, I have found the need for different files systems at various stages of its development and testing. This is a list of some file systems that I have used so far.

FAT File System: Updated FAT File System driver to latest R0.09 - Sep 06, 2011 release of ChaN's code, bugs fixes from Stéphane Bausseron, and long filename support.

FLASH File System: The file system image itself is appended to the program binary generated by the compiler and loaded into the FLASH of the mbed device along with the code. This allows for the remaining 512K of device FLASH to be used as a fast read-only source of file data. The read performance is >38 MB/second.

Fake File System: There are no actual files in this file system. It just allows an application to open a file of any name and pretends that all files are the same length. No actual data is read from the files but they will return EOF at the appropriate point. Useful to simulate an ultra-fast read-only source of file data.


5 comments on Adam's Foolish Projects:

12 Jan 2012

Nice work. How fast is the FLASH file system? Have you done any testing on it? How long would it take for example to save a 32kB file?

12 Jan 2012

I guess if I am going to use the fast descriptor for that file system, then I should actually measure it :) I will write a simple test to actually calculate its read speed.

user Martin Smith wrote:

How long would it take for example to save a 32kB file?

Yeah, I didn't make that very clear, this is actually a read-only file system. It is sort of like creating an ISO for a CD-R and then burning it to disc. You create the file system image on your PC and then append it to your program binary before uploading to the mbed device. The mbed code can only read from the resulting file system image. It can't be written to from the mbed. Even on the PC, there is no support for updating the file image once it is created. You just create a new file system image each time you want to change its contents.

26 Feb 2012

Martin, I finally created a little test which would read a test file multiple times and then calculate the average read speed of the FLASH File System. Here is the output from that test:

/flash/testfile.bin is 176406 bytes in length.
Running 1000 test iterations.
Read 176406000 bytes in 4317 milliseconds.
40863100.000000 bytes/second.
38.970089 MB/second.
11 Aug 2012

Could you pleas supply a 'DUMMIES' program for your new file system,

I am extreaml interested in long file names for a future project,

I have skimmed through your code (realy quickly)

but cannot find if it is:

1.Local file system,

2.SC card,

or what i am realy looking for .. is a seperate memory chip (atmel 45..... similare to the one attached to Majic Chip)

Cheers

Ceri

12 Aug 2012

The documentation is here: http://mbed.org/users/AdamGreen/code/FlashFileSystem/docs/a3cb118c4f6e/classFlashFileSystem.html

user ceri clatworthy wrote:

but cannot find if it is:

1.Local file system,

2.SC card,

None of the above! This file system lives in the same 512K of FLASH as the currently executing code.

Please login to post comments.