NXP LPC1114FN28 is 28pin DIP packaged, 32-bit ARM Cortex-M0, 32kB Flash, 4kB RAM low-cost MCU.
We can buy this @ $2.55 from Mouser, @ $1.5 at Akihabara. :)
- 100ohm x2 (for reset and ISP)
- 330ohm x2 (for LEDs)
- LED x2
- 0.1uF cap x2 (for bypass capacitor)
- 0.01uF cap x2 (for reset and ISP)
- tactile switch x2 (for reset and ISP)
- 6-pin L-angle pin header (to connect FTDI Breakout)
to first trial.
Here is my known free developing environments.
A manufacture of LPC1114FN28, NXP is recommending this IDE.
LPCXpresso IDE is developed by Code Red Technologies, based on Eclipse and gcc, and supporting Windows, Mac OS X, Linux.
You can download this from Code Red's web with user registration.
Without activation you can develop upto 8kB, after activation, you will have full license.
You will need >= 4.2.3, to get support of LPC1114FN28.
Here is brief instruction,
1) Choose “LPC1114FN/102” as target MCU.
2) Change clock source from external XTAL to Internal RC (IRC),
After resetting, ResetISR () in start-up file (startup/cr_startup_lpc11.c) will run before main ().
In case of using CMSIS, clock will be configured on SystemInit ().
Most of us will use LPC1114FN28 with IRC, so, here is how to use IRC as clock source.
To use IRC as clocksource, please edit config/system_LPC11xx.c
#define SYSPLLCLKSEL_Val = 0x00000001; → 0x00000000;
MDK-ARM is ARM's genuine compiler. Maybe it could make well optimized binaries than gcc, but this software only supports Windows.
So, I'm not using this. ;-P
You should better to use after v4.60, this version supports LPC1114FN28.
MDK is expensive software, but they provide free trial edition, MDK-Lite.
MDK-Lite have 32kB limitation, but LPC1114FN28 have 32kB Flash. So, MDK-Lite will works well for LPC1114FN28.
You can download MDK-Lite from here.
eXodusino is Arduino like API environment for LPC1114 MCUs, developed by a Japanese guy Lynx-EyED as his personal project.
To use eXodusino, you just download from github repository and extract it, put it into project folder of LPCXpresso.
For the detail info about eXodusino, please read the Getting started with eXoduino page.
Of cource, we have gcc!! I used this but these days, I'm not using.
If you are gcc lover, try gcc.
How to flash programs
Usually, there are two way to flash your program to LPC1114FN28.
SWD (Serial Wire Debug)
If you don't know SWD, please read ARM's article.
To have SWD interface to your PCs, LPC-Link is easiest way. LPC-Link is a part of LPCXpresso, a NXP's development platform (kind of eval board).
If you really want debugging environment, you can buy that from MOUSER.
ISP (In-circuit programming)
LPC1114FN28 have ISP mode that could enable to make P0_1 LOW when booting after reset. So, LPC will boot from internal ROM bootloader and could receive programs from UART.
To transfer that from PCs, use Flash Magic or lpc21isp.
Flash Magic supports Windows and Mac OS X. lpc21isp supports Linux and so on. When you use lpc21isp with LPC1114FN28, you need to patch lpc21isp.
Patch for lpc21isp is simple, just add an device-code. For detail, please read Brad's web page.
For ISP, you need 3.3V UART cable. Sparkfun's FTDI Basic Breakout - 3.3V would be nice.