Add some debug help : print pc and lr upon Fault
[dtplug] / README
1 dtplug code repository for the DTPlug gateway from Techno-Innov.
3 It has support for the LPC1764 as used on the DTPlug, and for the peripherals
4 found on the DTPlug board.
5 Support for various other cool stuff is added when we play with it.
7 Example applications are created in the apps directory, with one
8 sub-directory for each application. These are (and must stay) independent.
10 More usefull stuff is up to you. Creating an app is *very* simple. Copy
11 an example from apps/ to the name you want and start coding.
12 ** Please, no spaces (or special characters) in the directory name ! **
15 ********************
16 BUID and FLASH
18 Build has been tested using gcc, and only gcc, in the version provided by
19 Debian GNU/Linux distribution, and a few other binary versions available for
20 download on the Internet, but any ARM gcc toolchain should do.
22 In order to get the debian ARM gcc cross-toolchain you should install the
23 following packaages : gcc-arm-none-eabi, binutils-arm-none-eabi
25 There's no need for the related libc package here, the libc does not fit
26 in our micro-controller memory. Instead have a look at the content of the
27 lib/ directory, and add stuff there.
29 Once done you should build using the provided makefile by running the
30 simple "make" command in the base directory, which will build all apps, or
31 run "make <app_name>" to build a specific application. You can also run the
32 simple "make" command in the specific app subdirectory to compile this
33 application alone.
35 To flash the binary (the one with .bin) to the LPC Flash you will need the
36 lpctool package, now packaged for Debian, starting with Jessie, or available
37 in our git repository : http://git.techno-innov.fr/lpctools (Clone using :
38 git clone http://gitclone.techno-innov.fr/lpctools and then build (make) and
39 use :)
40 Usual command lines :
41    lpcprog -d /dev/ttyUSB0 -c id
42    lpcprog -d /dev/ttyUSB0 -c flash app_name.bin
43 See lpctools readme and lpcprog or isp help (-h) or manpages for more
44 information.
47 ********************
48 SUPPORTED FEATURES and INTERFACES
50 - LPC176x micro-controller definitions
51    - Cortex-M3 specific definitions
52    - Cortex-M3 and LPC176x Registers
53    - Interrupts
54    - Utility functions to access special instructions
55               (endianness swapping, bit operations, ...)
56    - IAP ROM based functions (tested for user flash access only)
58 - Bootstrap
59    - vector table
60    - reset handler
62 - System
63    - flash accelerator configuration
64    - watchdog (stop)
65    - clock / PLL config
66    - systick
67    - precise msleep and usleep functions (using systick)
68    - pio configuration
70 - Simple C Library
71    - memcpy and memset
72    - strcpy, strncpy, strcmp, strncmp, strchr, strrchr, strlen, strnlen
73    - snprintf, vsnprintf
75 - Integrated Interface drivers
76    - UART (as UART or RS485)
77    - I²C
78    - ADC
79    - GPIO
80    - GPIO interrupts
81    - SSP
82    - Counter / Timers
84 - External Device drivers
85    - I²C EEPROM
86    - TMP101 I²C temperature sensor
87    - CC1101 Sub 1GHz RF Transceiver
88    - Epaper display
90 - Other
91    - 8x8 font for use with Epaper display
95 ********************
96 TODO :
98 - Sleep / power-down support.
99 - Test all the GPIO in different modes
100 - Add support for SDCard over SPI
101 - Check PWM config in timer code
102 - RTC Support
103 - DAC support
104 - Watchdog support
105 - Test UART IrDA mode
106 - I2S support
107 - Ethernet support
108 - USB support
109 - CAN support
110 - Repetitive itn timer support
111 - Motor control support
112 - Quadrature encoder interface support
113 - DMA support