Peripheral drivers ported to LPC1227 are now available. (Update_07/05/15)

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by fjrg76 on Tue Apr 21 23:40:49 MST 2015
(Updates are at the end.)


I've ported the drivers for this chip from Keil tools to LPCXpresso 7.6.2. Although they must be tested thoroughly, they look promising as well.

The project can be downloaded from here.

For now there is only a single example in the project, blinky. The plan is to add the standard examples from NXP for this chip, but I'll do it later.

In LPCXpresso you can import this project as usual: In the Quickstart tab->Import project(s)->Project archive (zip)->Browse. Then browse the LPC1227_examples_0.1.zip file, and go on as with any other imported project. This is important that you select the three projects and choose the CMSISv2p00 library when you are asked for the CMSIS one.

The base projects CMSISv2p00_LPC12xx and Drivers_LPC1227 are compiled with the -Os flag because it's not expected that the regular user debug them. The example project blinky is compiled with the -O0 flag. However you can change those flags to fulfill your needs any time. (An interesting fact: with the mentioned flags the code size for the blinky project is only 1500 bytes. If all flags are set to -O0 then the code size grows three times that figure: 4500 bytes).

The drivers' documentation is found in: Drivers_LPC1227/Doc/lpc12xx.cmsis_.driver.library/LPC1200 Peripheral Drivers Library Manual.chm. This help file was generated with Doxygen with the internal source code documentation (already included as part of the Keil's pack). However, in Linux there are not chm readers, so the plan is to create a doxyfile so each user can generate the documentation in html format. Meanwhile, if you're a Linux geek you can get a chm reader through Wine, or better off you can create the doxyfile and share it!

If you find this project useful please drop me a line. And if errors are found please advice me. Any comment is welcomed.


  Such a library doesn't include any example; however, the good news are that in the .chm documentation file (inside the Doc folder) there exist a lot of examples for each peripheral. Therefore, when you are in doubt in regards how a particular peripheral or chip feature is used, then you can look at this documentation. You might try to copy and paste the examples for your own workspace (these examples are not copy and paste friendly, but it's better than starting from scratch).

There exist a good CHM reader in and for Linux: xCHM. You can download it from your apps store.