The first prototypes for the 1343 Reference Design came in this morning, and we put two of them together to test. Everything looks to be OK, but the only real question mark was the USB interface ... which thankfully seems to be the same as what's found on many ARM7 chips like the LPC2148. We had previously mentionned that the LPC1343 includes a built-in USB bootloader that allows you to enumerate the board as a Mass Storage Device, in addition to the classic UART-based ISP. With the USB bootloader you can simply drag and drop your compiled binary file onto the device as you would with any USB flash drive, and it will update itself accordingly. No more messing around with FlashMagic, which is nice, but more importantly this significantly lowers the barrier for updating devices in the field if you don't want to implement your own custom in-application programming code. (For reference sake, you can control whether the drive that appears is write-only, or whether the firmware can be both read/written on the device.)
We've designed the 1343 reference board so that if you have a USB cable plugged in when you enter ISP mode, it will automatically select the USB bootloader. If a USB cable is not connected when you enter ISP mode, the classic UART-based interface will be enabled, allowing you to update your device using FlashMagic (or any comparable software). You can see a screenshot below of the 1343 enumerating as a Mass Storage Device:
The newly enumerated mass storage device will have the same size as the flash on the chip, which is 32KB in the case of the LPC1343:
Given the convenience of the new USB bootloader, we've made some changes to the LPC1343 Reference Design to make accessing ISP mode as easy as possible. Rather than setting an ISP jumper, resetting the device with the reset button, and then going into ISP mode we've add a single 'bootloader' button that when pressed will reset the device and automatically go into ISP-mode (whether USB or UART-based). We should get the new prototypes back in a week or so, but if everything looks alright we'll update the schematics and probably put together an initial batch of fully assembled boards.
While the new USB bootloader isn't a life-changing addition, it's definately a little detail that goes a long way to making the LPC1343 (and presumably any new USB-enabled devices in the same Cortex M3 family) easier to use, with less time and effort involved on the developpment side for people working with these chips!
Note for LPCXpresso Users:
There is a bug in version 3.1 or lower of LPCXpresso that adds the incorrect checksum to binary files. We've made a blog post with a quick work-around for this until Code Red puts out an updated version of their conversion utility: Creating Valid LPC1343 Binaries in LPCXpresso