1 This repository provides support and example code for LPC82x based boards.
3 It has support for the LPC82x micro-controller and the peripherals used on
5 Support for various other cool stuff is added when we play with it.
7 Example applications are created in the apps/[module name] directories for
8 each module, with one sub-directory for each application. These are (and must
10 Each module has it's own directory under apps/.
12 More usefull stuff is up to you. Creating an app is *very* simple. Copy
13 an example from apps/[module name]/ to the name you want and start coding.
14 ** Please, no spaces (or special characters) in the directory names ! **
20 Build has been tested using gcc, and only gcc, in the version provided by
21 Debian GNU/Linux distribution, and a few other binary versions available for
22 download on the Internet, but any ARM gcc toolchain should do.
24 In order to get the debian ARM gcc cross-toolchain you should install the
25 following packaages : gcc-arm-none-eabi, binutils-arm-none-eabi
27 There's no need for the related libc package here, the libc does not fit
28 in our micro-controller memory. Instead have a look at the content of the
29 lib/ directory, and add stuff there.
31 Once done you should build using the provided makefile by running the
32 simple "make" command in the base directory, which will build all apps, or
33 run "make <module_name>/<app_name>" to build a specific application. You can
34 also run the simple "make" command in the specific app subdirectory to compile
35 this application alone.
37 To flash the binary (the one with .bin) to the LPC Flash you will need the
38 lpctool package, now packaged for Debian, starting with Jessie, or available
39 in our git repository : http://git.techno-innov.fr/lpctools (Clone using :
40 git clone http://gitclone.techno-innov.fr/lpctools and then build (make) and
43 lpcprog -d /dev/ttyUSB0 -c id
44 lpcprog -d /dev/ttyUSB0 -c flash app_name.bin
45 See lpctools readme and lpcprog or isp help (-h) or manpages for more
50 SUPPORTED FEATURES and INTERFACES
52 - LPC82x micro-controller definitions
53 - Cortex-M0 specific definitions
54 - Cortex-M0 and LPC82x Registers
56 - ROM based division routines
57 - Utility functions to replace ctz and clz instructions (not present in Cortex M0)
58 - IAP ROM based functions (Not tested on LPC82x)
65 - watchdog (Not tested yet)
66 - clock / PLL config (Tested using internal RC only)
68 - precise msleep and usleep functions (using systick)
73 - strcpy, strncpy, strcmp, strncmp, strchr, strrchr, strlen, strnlen
75 - uprintf for easy debug over UART
77 - Integrated Interface drivers
78 - UART (as UART or RS485)
84 - External Device drivers
85 - TMP101 I²C temperature sensor
86 - WS2812 chainable leds
95 - Test all the GPIO in different modes
98 - Test Watchdog support
101 - More external drivers !