Saturday, August 8, 2015

LPCXpresso11U37 board with FatFs


NXP makes a bunch of really interesting ARM microcontrollers. One distinguishing feature is that much of the USB device functionality is contained in ROM, which makes for a very slim USB stack. There is also a USB mass storage bootloader contained in ROM, which makes flashing firmware easy. Combine that with low power operation, and I have been pretty interested in these devices. I first started tinkering with the Cortex M3 LPC1343, and the board pictured above has a Cortex M0 LPC11u37, which is pin compatible with the earlier devices.

A fellow named Kevin Townsend has built several software frameworks for these chips, and maintains them on Github. I like the fact that the ARM GCC toolchain works perfectly with these frameworks, but I noticed that the repository for the LPC11uX devices has not been updated in a while, and lacks support for the LPCXpressso11U37 board, pictured above.  So I forked his repository, and I have been in the process of adding a few changes and corrections to get the FatFs file system up and running.

I have the board enumerating as a composite USB device, with both mass storage (provided by the SD card) and serial port working. Unfortunately, the read and write performance is so far pretty bad. I am getting roughly 70-80 kB/s write and 200 kB/s read for large files. This is well below what should be possible. Debugging will continue...

No comments:

Post a Comment