RDB1768 CMSIS-based Example Projects
* Updated - 7 June 2011 *
These examples are for users of Red Suite 4, or earlier. Red Suite 5 users should use the examples provided in the Examples directory of your product install
The example projects for the RDB1768 are designed to quickly get you up and running with the various functions provided by the board and its LPC1768 MCU.
The projects available from this page make use of CMSIS - the Cortex Microcontroller Software Interface Standard - to provide access to the cpu registers and facilities, as well as the LPC peripherals. [The original RDB1768 examples did not use CMSIS.] Further details of CMSIS can be found at: http://www.onarm.com/
For more details of each project, see the readme file contained within the project.
Note: These examples are also included in Red Suite 4 and LPCXpresso. If you have either of those products installed, they may be found in the Examples/NXP/LPC1000/LPC17xx directory.
Code Red Tools version 4.x
Download all RDB1768 CMSIS2.0-based projects as a single zip: RDB1768cmsis2.zip
Code Red Tools version 3.6.x (3.8.x for Linux)
Download all RDB1768 CMSIS1.3-based projects as a single zip: RDB1768cmsis.zip
Download binary images suitable for use with RDB1768v2 Drag2Flash functionality : binaries4drag2flash.zip
Earlier versions of Code Red Tools version (no longer being maintained)
Download all RDB1768 CMSIS1.3-based projects as a single zip: RDB1768cmsis_pre36x.zip
Details of examples
LPC17xx CMSIS files
The LPC17xx CMSIS (version 1.30) files are provided as a library project - all CMSIS-based examples require this library project to exist in the same workspace.
USB Device Stack
This is a port to the RDB1768 of the open source LPCUSB USB stack.
USB HID Example
Provides a simple USB Human Interface Device (HID). Requires the USB Device Stack project to be installed in the same workspace.
USB HID Mouse Example
Provides an extended HID example, which allows the joystick on the board to act as a mouse for the host PC. Requires the USB Device Stack project to be installed in the same workspace.
USB MSC (Mass Storage Controller) Example
Turns the RDB1768 into a mass storage device, allowing a micro-SD card to be plugged in and accessed from the host PC. The micro-SD card is accessed by the MCU via the Serial Parallel Interface (SPI). Requires the USB Device Stack project to be installed in the same workspace. Note that only microSD cards <2GB are supported (none-SDHC)
USB Serial (CDC) Example
Provides UART functionality over USB, allowing a terminal program to be run on the host PC which can then interact with the board. Requires the USB Device Stack project to be installed in the same workspace.
USB Serial (CDC) with LCD Terminal Example
Provides UART functionality over USB, allowing a terminal program to be run on the host PC which can then interact with the board. Input received by the board is displayed on the LCD screen. Requires the USB Device Stack and LCDLib projects to be installed in the same workspace.
USB Bootloader Example
Provides ability to download application binaries to the RDB1768 via a USB mass storage link, rather than using the debug tools. Requires the USB Device Stack and LCDLib projects to be installed in the same workspace.
ADC Potentiometer Example
Show how the potentiometer on the RDB1768 can be read using the analogue to digital convertor built in the the LPC1768 MCU.
'EasyWeb' TCP/IP Webserver Example
Port of Andreas Dannenberg's "easyweb" application to the RDB1768, providing a simple embedded TCP stack and webserver.
'uIP' TCP/IP Webserver Example
Port of Adam Dunkels's "uIP" embedded TCP stack and webserver to the RDB1768. Fixed IP address and DHCP versions of example provided. Requires the LCDLib project to be installed in the same workspace.
This project provides a library of routines for accessing the LCD screen on the RDB1768. In addition to initialization code, a number of primitives for printing text (at absolute positions or by treating screen as "terminal window"), drawing shapes and plotting bitmaps are provided.
This project provides an example of how the routines in the LCD Library project can be invoked. Requires the LCD Library project to be installed in the same workspace.
LED flash Example
This demonstration project show how the user leds, LED_2 to LED_5, of the RDB1768 be accessed.
LED strobe Example
Alternative demonstration project showing how the user leds, LED_2 to LED_5, of the RDB1768 be accessed.
Audio Level Meter Example
This demonstration project provides a simple example that uses the audio facilities provided by the RDB1768, allowing audio input received via the line-in socket to be output though the built-in speaker or the 3.5mm headphones socket. A level meter for the audio being played is displayed on the LCD screen. Requires the LCDLib project to be installed in the same workspace.
This demonstration project allows you to send data to/from the board to your PC to the RDB1768 board over the serial port. Semihosting is used to allow the debugger to act as the console for the target.
UART LCD Example
This demonstration project allows you to send data to/from the board to your PC to the RDB1768 board over the serial port. LCD on board used to display text received from PC, joystick used to cause data to be sent to PC.
UART Printf Example
This demonstration project shows how the Redlib C library functions printf and scanf functions, which normally carry out I/O over the debug "semihosting" mechanism to the debugger console window can be retargeted to instead use the LPC1768/RDB1768 UART instead
This demonstration project shows how the Systick timer built in to the NVIC of the Cortex-M3 processor core contained within the LPC1768 microcontroller can be set up.
This Red Suite project builds NXP Semiconductors and OnChip Technologies LPC1768 "USBHostLite" software, which provides a USB host mass storage class (MSC) example that can be executed on the RDB1768.
Further details of "USBHostLite", including the original source code and a supporting application note, can be found at: http://www.standardics.nxp.com/support/software/usb.host.msc/
External Interrupt Example
This demonstration project shows how the ISP button of the RDB1768 can be used to generate an external interrupt into the LPC1768 MCU. Each time the button is pressed, the state of the user LEDs will invert.
Embedded Filesystems Library Example
This demonstration project, and associated library project, show how the Embedded Filesystems Library (EFSL - http://efsl.be/) can be used on the RDB1768 board to provide access to files on the the microSD card from your own applications. Note that only microSD cards <2GB are supported (none-SDHC) by EFSL. This project also includes the sources for a printf-type function variant (which sits on top of the consoleprint example, below).
This demonstration project provides a consoleprint() function which carries out a "print string to console" using the Code Red semihosting debug channel functionality. Because this can send a full string in one operation, rather than a single character at a time(as using printf will) this will provide faster prints to the console.
Sets up the 4 timers to be found in the LPC1768 MCU, and flashes the LEDs based on when the timers trigger interrupts - one LED per timer interrupt.
Updates to page
7 June 11
Added RDB1768cmsis2.zip file, as shipped with RedSuite 4.0.4. The main change in the examples contained in this is that it now links against CMSIS 2.0 rather than CMSIS 1.3.
11 April 11
Updated to match RedSuite/LPCXpresso 3.6.3. Several filename issues fixed (with respect to building under Linux). Fixed issue with ping not working in EasyWeb example. Fixed several missing project references (which could prevent builds succeeding if projects built in particular order). Updated readmes for several projects.
27 January 11
Most examples updated to use new startup code (and hence be compatible with enhanced linker script mechanism from Code Red tools version 3.6.x (or 3.8.x for Linux).
12 November 10
Examples all updated to use very latest startup code, and projects now configured to automatically generate binaries as well as AXF files (as per Red Suite 3 / LPCXpresso 3.5.6).
29 September 10
Update to UART Printf Example to provide support for building against "Redlib_v2", as used by LPCXpresso for Linux.
6 September 10
Fix to "fast printf" routine in EFSL demo project. ZIP updated to match that supplied in RedSuite/LPCXpresso 3.5.0.
23 August 10
Updated zips to include new RDB1768_timers example (as per RedSuite/LPCXpresso 3.4.6).
8 July 10
Updated usbser.inf in RDB1768cmsis_usb_serial and RDB1768cmsis_usb_serial_LCD projects so that now Windows7_64bit compatible. Minor tweaks to some files to improve cross platform support, but no functional changes.
3 May 10
Missing RDBbmconvert.exe file added to RDB1768cmsis_LCDlib project.
8 Apr 10
Added new RDB1768cmsis_consoleprint, RDB1768cmsis_efsl_demo/lib, RDB1768cmsis_LedStrobe and RDB1768_UART_printf examples. Updated CMSISv1p30_LPC17xx project.
10 Mar 10
Fixed build issue with RDB1768cmsis_usb_hidmouse.
Added ZIP file containing binaries for use with RDB1768v2 drag2flash functionality.
8 Mar 10
Following examples updated to autodetect if running on original RDB1768 or on RDB1768v2 and to take appropriate action: RDB1768cmsis_audiometer, RDB1768cmsis_audiometer_64k, RDB1768cmsis_easyweb, RDB1768cmsis_uIP, RDB1768cmsis_uIP_dhcp, RDB1768cmsis_uIP_dhcp_64K, RDB1768cmsis_usb_hidmouse
29 Jan 10
USB bootloader added, together with variants of the ledflash, uIP_DHCP and audiometer projects configured for use with bootloader. Minor mods to LPCUSB stack, LCDLib and CMSISv1p30_LPC17xx projects.
16 Dec 09