New to LPC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

New to LPC

821 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Wed Aug 27 00:43:02 MST 2014
Hi All,

I am new to the LPC family, and the ARM micro controllers. I have many years of experience with PIC microcontrollers and now am looking to get started with ARM. I have gone through some start off information about the LPC family and have decided on the LPC1100 family of controllers. I am looking for suggestions for some start off evaluation boards and tools suitable for a first time user.
0 Kudos
18 Replies

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Mon Sep 22 11:43:08 MST 2014
Got my development setup going and decided to write a blog on for my students on why I recommend LPC for ARM based projects. If you people have time have a look and let me know if I have missed something vital there.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Thu Sep 04 01:54:01 MST 2014
Even this links seems wrong... thanks for the rest of the details. BTW if you were using a 35USD programmer....you could as well have gotten the 37USD 11U37 Xpresso Kit, since that can as well work as a programmer.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Thu Aug 28 12:04:03 MST 2014
When I solder the chip, I always position the chip using a strip of Kapton tape (any width between 3mm and 5mm should be fine).
I usually use a strip that is around 4-5 inches long, pushing it gently over the chip, then moving the chip onto the PCB by holding the tape only.
When I have the chip approximately where I want it, I fasten one end of the tape. I make any corrections needed by moving the other end. If necessary, I move the first end, and repeat until I have a perfect alignment.
When the alignment is perfect, I solder the corner-pins on each side of the tape first.
When done, I take off the tape and solder the remaining pins, either by reflow or by soldering iron.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Thu Aug 28 11:53:07 MST 2014
Woops, I had an incorrect link for the PCB adapter, it can be found here, sorry for the inconvenience.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rocketdawg on Thu Aug 28 09:25:43 MST 2014
LPCExpresso works on Windows, MAC, and Linux.  (I run it on MAC and Windows, no problem)
I have rolled my own Eclipse + tool chain in the past, and have used Yagarto as well.
not that easy and a LPC Link 2 is less costly than any OpenOCD device.

perhaps try LPCExpresso first, then invest in the time/effort to roll your own, if it does not suit you.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Thu Aug 28 06:36:19 MST 2014
Thanks for the correction. I'll remember this for next time. :)
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by whitecoe on Thu Aug 28 05:26:02 MST 2014

Quote: Pacman
For a working GCC toolchain, please use the ready-made Linaro toolchain from launchpad.



If you want to use 'standalone' GCC (rather than say LPCXpresso), then for Cortex-M class development, you would do better using the "GNU Tools for ARM Embedded Processors" available from https://launchpad.net/gcc-arm-embedded. This is the version for M class parts developed and maintained directly by ARM themselves.

HTH!
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Thu Aug 28 02:39:44 MST 2014
For a working GCC toolchain, please use the ready-made Linaro toolchain from launchpad. The only reason I had to build my own, was that no toolchain would bulid on my system.
For programming the LPC microcontroller, I recommend the latest version of OpenOCD, but you can download one, which was built for Windows as well.
The steps to build the latest OpenOCD are...
[list]
  [*]git clone git://git.code.sf.net/p/openocd/code openocd
  [*]./bootstrap
  [*]mkdir  ../Build; cd ../Build
  [*]../configure --enable-internal-jimtcl --disable-shared --enable-dummy --enable-ftdi --enable-usbprog --enable-presto_libftdi --enable-openjtag_ftdi --enable-stlink --enable-jlink --enable-rlink --enable-vsllink --enable-ulink --enable-arm-jtag-ew --enable-ti-icdi --enable-remote-bitbang --enable-osbdm --enable-opendous --enable-cmsis-dap --enable-usb_blaster_libftdi
  [*]make && make install && echo "Success"
[/list]

(use git pull instead of git clone if you've already cloned OpenOCD)

Here's a fairly nice 0.5mm pitch LQFP48 adapter PCB, which should work fine with the above chip from Farnell.
Also get a couple of solderless breadboards. Beware: Although other MB102 look like these, they might not be as good. There are at least 5 different variants, and it's rare that you get the best. Usually you can recognize the good ones on that the power-rails go all the way through and the letters 'a' to 'j' are lowercase.
If you don't have a 3.3V power supply, this power supply module might come in handy.
It may take 2-6 weeks before your breadboards/power supply module arrives. This depends on how quick the mailman runs.
Note: If you're located in the US, you can buy the LPC11E66JBD48E from http://www.newark.com/2433451 (it's the same as Farnell in the UK)

Solder the chip onto the adapter PCB, then cut and solder pin headers onto the adapter PCB.

Get the latest datasheet and the latest User's Manual.

Now you should have the breadboard and the adapter-PCB ready.
Connect all GND pins to your GND power rail and all VCC pins to your VCC power rail on the breadboard.
Place a 100nF capacitor from VCC to GND close to all your VCC pins (it's OK to place them in the power rail).
Place a 10K resistor between RESET and VCC. Optional: Place a 100nF capacitor between RESET and GND.
If you have a SWD capable adapter, connect SWDIO and SWDCLK to your microcontroller. If

For demo-purposes, connect a LED's cathode (negative side) to one of your LPC's GPIO pins, connect the anode to a 1K resistor. Connect the other end of the 1K resistor to VCC.

This should work. I use JTAG-lock-pick Tiny 2, which is a pretty good JTAG + SWD programming adapter.

The disadvantages of using my approach is that it may take a while before you've got everything ready. But the advantages are that the cost is low and you can modify your setup easily.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Thu Aug 28 00:51:15 MST 2014
For connecting a debugger to your target, you should read this:
http://www.lpcware.com/content/faq/lpcxpresso/debug-design
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Thu Aug 28 00:43:25 MST 2014

Quote: rocketdawg
eventually you will want a LPC Link 2 to debug your own boards.  This is the equivalent of the ICD 3, only $25.
Some dev boards have a LPC Link 2 on board, some have the older LPC Link, so you might not need it for a while.
LPCExpresso is based off Eclipse.  The compiler is full C/C++ optimization up to 256K code.
Eclipse is quite different from MPLAB, so you will want to read up on how to set up projects, debug, ...
another great resource is "The Definitive Guide to the ARM Cortex-M0" (also another book for M3/M4)  by Joseph Yiu



Thanks for that information. Its been a while some one recommended a book for a microcontroller...will look at that too.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Thu Aug 28 00:40:18 MST 2014

Quote: Pacman
Welcome to the LPC world of ARM microcontrollers. I hope you'll enjoy your journey just as much as I am enjoying mine (I'm an immigrant myself). :)

You can acquire the chip itself from Farnell:
http://uk.farnell.com/2433451

If you can get a board that's already built, I recommend that for a quick start.
As for myself, I always bought the raw microcontrollers and an adapter-PCB.
I soldered the microcontroller and some pin headers onto the adapter PCB, so I could use them in solderless breadboards bought on eBay. This is probably the most economic way of developing (if you have time for waiting for your parts, that is). If you decide to take this approach, I'll be happy to help you with hints and tips. Also, I use GCC and OpenOCD for my development, because my desktop computer is not running Windows. Setting up GCC/OpenOCD may require a lot of time, before it's working correectly, so I too will recommend one of the ready-to-go packages that you're finding in the other posts here, unless you're on a PowerPC based Mac like me. ;)



Thanks for that... I am myself a DYI person and would like to make my own getting started setup like yours. Could you share the information about the adapter PCB and the breadboard setup you have?

I do have a windows PC and the development software should be a issue. Need information on connecting the PC (USB?) to the microcontroller to program it and get it running.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Wed Aug 27 23:54:59 MST 2014
Thank you all for the awesome information and the links. U guys are so swell.

Will digest this info and come back for more.
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Wed Aug 27 08:01:15 MST 2014
Welcome to the LPC world of ARM microcontrollers. I hope you'll enjoy your journey just as much as I am enjoying mine (I'm an immigrant myself). :)

You can acquire the chip itself from Farnell:
http://uk.farnell.com/2433451

If you can get a board that's already built, I recommend that for a quick start.
As for myself, I always bought the raw microcontrollers and an adapter-PCB.
I soldered the microcontroller and some pin headers onto the adapter PCB, so I could use them in solderless breadboards bought on eBay. This is probably the most economic way of developing (if you have time for waiting for your parts, that is). If you decide to take this approach, I'll be happy to help you with hints and tips. Also, I use GCC and OpenOCD for my development, because my desktop computer is not running Windows. Setting up GCC/OpenOCD may require a lot of time, before it's working correectly, so I too will recommend one of the ready-to-go packages that you're finding in the other posts here, unless you're on a PowerPC based Mac like me. ;)
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rocketdawg on Wed Aug 27 07:46:22 MST 2014
eventually you will want a LPC Link 2 to debug your own boards.  This is the equivalent of the ICD 3, only $25.
Some dev boards have a LPC Link 2 on board, some have the older LPC Link, so you might not need it for a while.
LPCExpresso is based off Eclipse.  The compiler is full C/C++ optimization up to 256K code.
Eclipse is quite different from MPLAB, so you will want to read up on how to set up projects, debug, ...
another great resource is "The Definitive Guide to the ARM Cortex-M0" (also another book for M3/M4)  by Joseph Yiu
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Wed Aug 27 03:02:14 MST 2014
The LPC11E6x is actually a fairly recent part (introduced towards the start of 2014). It is basically the same as LPC11U6x family, but without the USB device peripheral. There is a standard LPCXpresso board for the LPC11U6x family:

http://www.lpcware.com/LPCXpressoV2Boards

and a video demo of using the LPCXpresso IDE with such a board can be found at:

http://www.lpcware.com/lpcxpresso

Regards,
LPCXpresso Support
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by TheFallGuy on Wed Aug 27 01:38:52 MST 2014
LPC11E is not that new - it was announced over 2 years ago! NXP do not seem to refresh their silicon - they just document Errata.

BTW: If you go here:
http://www.nxp.com/products/microcontrollers/cortex_m0_m0/lpc1100/LPC11E66JBD48.html

You can find which distributors have stock...
0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by enggricha on Wed Aug 27 01:08:03 MST 2014
Thanks. Will have a look at that. I have selected LPC11E66JBD48 based on the peripherals, but it looks like this is a new product. Some popular sellers like Mouser dont even have this on their list as of now. Is it a good idea to select such new products.

Reason I ask this is because with PICs new products almost always have silicon problems that are fixed in later revisions. Can I expect similar problems with NXP?

0 Kudos

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by TheFallGuy on Wed Aug 27 00:57:27 MST 2014
Suggest you start with the LPCXpresso IDE (free, and very good) and one of the LPCXpresso boards (cheap - about $20 - and includes a debug probe, so you don't need to buy anything else).

Start here:
http://www.lpcware.com/lpcxpresso

Be aware that there are several sub-families of the LPC1100 family, so make sure you choose the one with the correct mix of peripherals for your target!

Good luck!


0 Kudos