MCB1700 User's Guide: MCB1700 User's Guide

Keil, An ARM® Company MCB1700 User's Guide

The MCB1700 User's Guide describes the MCB1700 Board and contains detailed operating instructions for the hardware.

  • Introduction gives an overview of the MCB1700 Evaluation Board, hardware and software requirements, where to find information quickly, and where to find Technical Support.
  • Setup shows the MCB1700 Board components, how to connect, configure, and use the board, and describes the jumpers.
  • Theory of Operation explains the components of the MCB1700 board in detail.
  • Writing Programs describes how to write programs, download to flash, and configure your project for debugging for the MCB1700 board.
  • Example Programs lists example programs available on the installation CD. There are step-by-step instructions on building and running programs on the MCB1700 board.

Revision History

  • February 2009: Preliminary release.
  • April 2014: Updated for MDK V5.

Copyright © Keil, An ARM Company. All rights reserved.


MCB1700 User's Guide: Debugging with ULINK

Debugging with ULINK

Detailed information can be found in the µVision User's Guide in the Debugging topic and in the Getting Started User's Guide (..\Keil\ARM\HLP\GSA.CHM) in the chapter Testing Programs.

Follow these steps to start debugging using the µVision Debugger and the ULINK USB_JTAG Adapter.

  1. Connect the ULINK to the JTAG connector of the MCB1700 Board.
    Note that the red cable marks pin 1 of the JTAG-connector.

    MCB1700 Board Connected to ULINK

    Note

    • The CoreSight debug port in the LPC1700 core is disabled when the device is in Power Down or Idle mode. ULINK stops working if your code puts the Cortex-M3 device into Idle or Power Down mode. Therefore, do not enable either of the power saving modes of the LPC17xx during the software development cycle in your application program.
  2. Power up the MCB1700 Board.
  3. Configure the Debugger in the Project — Options for Target — Debug dialog.

    Options for Target Button Use the Options for Target toolbar button and click the Debug tab to display the Debug dialog.

    Use: ULINK ARM Debugger Select the Use: radio button and then ULINK Cortex Debugger in the drop-down list to choose the ULINK USB-JTAG Adapter as the debugging tool.

    Use: ULINK ARM Debugger Check the Load Application at Startup and the Run to main() options to load your application and execute code up to the beginning of your main() function when the debugger starts.

  4. Click the Settings button to open the ARM Target Driver Setup dialog.

    This dialog displays the IDCODE of the ARM device on the MCB1700 Board.

    Options for Target - Debug - Settings - JTAG Device Display

    Download Options Select the Verify Code Download option under Download Options to compare the loaded application program with the Flash ROM content. You may disable this option to speed up the debugger start.

  5. Start the Debugger.

    Start/Stop Debug Button Use the Start/Stop Debug Session toolbar button to start debugging the program.

    Or

    Use the µVision command, Debug — Start/Stop Debug Session, to start debugging the program.


MCB1700 User's Guide: Debugging Programs

Debugging Programs

µVision IDE offers a very powerful and comprehensive set of debugging tools designed to make program testing easier and reduce the time it takes to produce a working application.

Using the µVision debugger and the embedded ICE capability of the MCB1700, you may set breakpoints and step through your code, and also view the status of on-chip peripherals using the Peripheral dialogs custom-designed for the LPC17xx device.

The required steps for configuring the debugger on the MCB1700 board are described in the topic Debugging with ULINK.


MCB1700 User's Guide: BLINKY

BLINKY

The BLINKY example program toggles the LEDs on GPIO2 using two RTX tasks.

The BLINKY example project demonstrates assembling, compiling, linking, downloading, and debugging using the µVision IDE on the MCB1700 board. The on-board LEDs make it easy to visually verify that the program loads and executes properly.

Loading BLINKY

To load the BLINKY project, select Open Project from the Project menu and open BLINKY.UVPROJX from the folder where the pack Installer copied the BLINKY project. In our example, we used: C:\MyProjects\LPC1700\RTX_Blinky.

Open Project Dialog

Project Workspace When the BLINKY project opens, the µVision Project Workspace window displays the source files that make up the project.

  • Blinky.c contains the application module that monitors analog input, provides the text output, and toggles the LEDs.
  • Abstract.txt; contains documentation about the project.
  • LED.c contains the functions to initialize and manipulate the GPIO ports that control the on-board LEDs.
  • RTX_Conf_CM.c configures the stack, thread and timer settings used by the Keil RTOS.
  • RTX_CM3.lib contains the Keil RTOS library support functions for the Cortex-M3.
  • Startup_LPC17xx.s contains the CPU startup code for the NXP LPC17xx devices.
  • System_LPC17xx.c configures and initializes the target-dependent peripherals.

Editing BLINKY

You may edit Blinky.c or review the source code. Double click on Blinky.c in the Files page of the Project Workspace window. µVision loads and displays the contents of Blinky.c in an editor window.

Running BLINKY

Perform the following four steps to run the BLINKY Example on the MCB1700 Evaluation Board:

  1. Building BLINKY
  2. Downloading BLINKY
  3. Debugging BLINKY
  4. Checking Program Output


MCB1700 User's Guide: Building BLINKY

Building BLINKY

Build the BLINKY example program following this procedure. The executable files are placed in an output folder, ready for downloading.

Build Target Button When you are ready to compile and link your project, use the Build Target command from the Project menu or the Build toolbar.

µVision translates and links the source files and creates an absolute object module that you may load into the µVision debugger for testing. The status of the build process displays in the Build page of the Output Window.

Note

  • The sample projects provided with µVision compile and link without errors.


MCB1700 User's Guide: Debugging BLINKY

Debugging BLINKY

Debug the BLINKY example program following this procedure. The debugged program is ready for the serial output check.

Start/Stop Debug Button Use the Start/Stop Debug Session toolbar button or the µVision command Debug — Start/Stop Debug Session to connect the debugger to the Keil ULINK Adapter. The CPU stops and connects to the CoreSight debug port of the LPC17xx device. For details on the debugging features, refer to the µVision User's Guide.

Note

  • Debugging the BLINKY program using the µVision Debugger requires a ULINK USB-JTAG adapter.

The Peripherals menu allows you to open different dialogs for Peripheral units on the LPC17xx devices. You may view and/or change the state and configuration of on-chip peripherals using these dialogs.


MCB1700 User's Guide: Downloading BLINKY

Downloading BLINKY

Download to Flash Button When the BLINKY program is built, you may download the program to the MCB1700 using the Keil ULINK USB-JTAG Adapter

The BLINKY application starts executing when you press RESET on the MCB1700 board to verify the program downloaded.

Note

  • You may enable the option Update Target before Debugging to download the BLINKY project whenever you start a Debug Session.

The downloaded program is ready for debugging.


MCB1700 User's Guide: Checking Program Output

Checking Program Output

To check the program output from the BLINKY program, start the program running either from the debugger via JTAG or by cycling power on the board. The two RTOS tasks turn LED P1.28 on and off indicating that the program is running normally.


MCB1700 User's Guide: Example Programs

Example Programs

The Keil MDK-ARM Development Tools download includes several example programs that are configured for the Keil MCB1700 Board.

The examples are configured for a number of µVision targets which demonstrate executing code from RAM or Flash memory, and how to use some of the features of the Keil tools.

All examples use the same file structure:

  • Abstract.txt contains a short description of the example.
  • startup_LPC15xx.s contains the startup code for the microcontroller.
  • system_LPC15xx.c contains the system initialization code for the microcontroller.
  • Example dependent source code.

The following example program is included:

  • BLINKY
    This project uses the LEDs and LCD panel to display the current value of the A/D converter input AD0.0 controlled by the on-board potentiometer.

MDK V4 Examples

Each example project is installed automatically and stored in a separate sub-folder of:

  • \KEIL\ARM\BOARDS\KEIL\MCB1700\ for the MCB1700 board.

MDK V5 Examples

The examples provided for MDK V5, are included in the Board Support Pack and my be copied to the folder of your choice using the Pack Installer. To do this:

  1. In uVision V5, click the Pack Installer [image] icon.
  2. Click the Examples tab, and locate the Blinky (MCB1700) example.

  3. Pack Installer: Copy Example

  4. Click the Copy button to copy the example project to a folder of your choice.

  5. Pack Installer: Copy Example Dialog

    The checkboxes retain example project folder structure and open the project in a new instance of uVision.


MCB1700 User's Guide: Programming Flash

Programming Flash

The MCB1700 board supports downloading programs to Flash memory using the ULINK JTAG adapter. The ULINK USB-JTAG Adapter connects the USB port of your PC to the JTAG port of the MCB1700. It supports programming Flash, emulation, and debug capabilities.


MCB1700 User's Guide: ULINK USB-JTAG Adapter

ULINK USB-JTAG Adapter

The ULINK USB-JTAG Adapter allows you to debug and test programs and to program Flash memory on the MCB1700 Evaluation Board. To setup ULINK for Programming Flash within the µVision IDE, you must:

  1. Connect the ULINK to the JTAG connector of the MCB1700 Board.
    Note that the red cable marks pin 1 of the JTAG-connector.

    MCB1700 board connected to the ULINK JTAG Adapter

    Note

    • The CoreSight debug port in the LPC1700 core is disabled when the device is in Power Down or Idle mode. ULINK stops working if your code puts the ARM device into Idle or Power Down mode. Therefore, do not enable either of the power saving modes of the LPC17xx during the software development cycle in your application program.
  2. Power up the MCB1700 Board.
  3. Set the JTAG clock for your ULINK or ULINK2 adapter.
  4. Configure Flash Programming in the Project — Options for Target — Utilities dialog.

    Options for Target Button Click the toolbar button and select the Utilities tab.

    Use Target Driver Option Set the Use Target Driver for Flash Programming option, then select the ULINK Cortex Debugger as the Flash programming tool.

    Update Target Option Check the Update Target before Debugging option to ensure that the Flash ROM gets programmed whenever the debugger starts.

    Settings Button Click the Settings button to open the Flash Download Setup dialog for the next step.

  5. Configure the Flash Download Setup dialog.

    Flash Download — RAM for Algorithm In the RAM for Algorithm section, set the Start: parameter to 0x10000000 and the Size: parameter to 0x0800

  6. Click the Add button and select the LPC1700 IAP2 256kB Flash algorithm.

    Flash Download -- Programming Algorithm

    Finally, click the OK button to save the Flash Download settings.

  7. Download your application to Flash.

    Download to Flash Button Use the Download to Flash toolbar button to download the application program into the LPC1700 device.

    The ULINK-JTAG adapter can also be used for downloading and debugging application code in Flash ROM or in RAM of the LPC1700 microcontroller.


MCB1700 User's Guide: Kit Contents

Kit Contents

The MCB1700 kit includes:

  • The MCB1700 Evaluation Board.
  • A µVision IDE Quick Start Guide.
  • An ARM Development Tools Overview.
  • Example Programs for the MCB1700 Evaluation Board are located in the folder KEIL\ARM\BOARDS\KEIL\MCB1700 for MDK V4 users. MDK V5 users may copy examples included with the the installation of the Keil MCB1700 Device Family Pack (DFP) to a folder of their choice.


MCB1700 User's Guide: Features

Features

The connectors on the MCB1700 evaluation board provide easy access to many of the on-chip peripherals.

  • USB 2.0 Full Speed Interface
    Standard USB connectors for USB Device, USB-OTG, USB Host and UART via USB on the MCB1700 board for applications requiring USB communications.
  • Dual Serial Ports
    Standard DB9 connectors are on the MCB1700 for both of the LPC1700's serial ports. Your application may use either of these ports.
  • Dual CAN Ports
    Standard DB9 connectors are on the MCB1700 board for applications requiring CAN communications. Your application may use either or both of these ports, or they may be disabled with a configuration jumper.
  • 100/10M Ethernet Port
    A standard RJ45 connector on the MCB1700 board connects to an on-board Ethernet transceiver for applications requiring Ethernet communications.
  • LCD Display
    A detachable, 240x320 TFT, color LCD display. You may use this graphic display device to show real-time debug and program status messages.
  • MicroSD Card Connector
    A MicroSD Card connector for developing applications requiring access to MicroSD Cards.
  • Joystick
    A 5-position joystick. Your application may use this to control port pin input.
  • LF Amplifier
    An LF Amplifier on the MCB1700 connects the D/A output of the LPC1700 device to a speaker. You may use this LF Amplifier to generate sound.
  • Analog Voltage Control for ADC Input
    An adjustable analog voltage source is on the MCB1700 board for testing the Analog to Digital output feature of the LPC1700. A configuration jumper enables and disables this feature.
  • JTAG and Cortex/ETM Download and Debug
    The MCB1700 board incorporates both a JTAG interface and a Cortex Debug + ETM interface. When coupled with the ULINK2 USB-JTAG adapter, the Serial Wire JTAG interface allows flash programming and debugging. With the ULINKPro adapter, the Cortex Debug/ETM interface allows flash programming and instruction trace debugging.


MCB1700 User's Guide: Hardware Requirements

Hardware Requirements

To use the MCB1700 Evaluation Kit, you need:

  • The MCB1700 Evaluation Board.
  • A PC with:
    • One USB port for downloading and debugging.
    • Another USB port to provide power to the board.

To download and debug, one of the following:

  • A Keil ULINK2 USB-JTAG Adapter.
  • A Keil ULINK-ME USB-JTAG Adapter.
  • A Keil ULINKpro USB-JTAG Adapter.

Note

  • The ULINK2, ULINK-ME and ULINKpro USB/JTAG adapters are generically referred to in this document as "ULINK".

Plus:

  • 1 USB A-B cable for connecting the ULINK adapter.
  • 1 USB A-B cable to power the board.


MCB1700 User's Guide: Quick Start

Quick Start

Use the following table to locate important information about the MCB1700 board and get started quickly.

To… | See…
Connect power to the MCB1700 board. | Setup
Connect the MCB1700 via ULINK/JTAG to your PC. | Connecting the MCB1700
Read about the default configuration settings. | Configuring the MCB1700
Configure the tool options for the MCB1700 board. | Writing Programs
Learn more about the µVision IDE. | µVision User's Guide
Review the MCB1700 schematics. | Schematics


MCB1700 User's Guide: Software Requirements

Software Requirements

You must install the following required software to use the MCB1700 Evaluation Board:

Windows Operating System

The Keil µVision tool chain runs in these Windows Operating Systems:

  • Microsoft Windows XP
  • Microsoft Windows Vista
  • Microsoft Windows 7
  • Microsoft Windows 8

Tools and Examples

To compile, link and run applications on the MCB1700 Evaluation Board, you must install one of these Keil MDK-ARM product editions:

  • MDK-Lite
  • MDK-Standard
  • MDK-CortexM
  • MDK-Professional

Each edition includes the µVision Debugger and provides several example programs for the MCB1700 board.

Optional

  • The MDK-Professional edition includes the MDK-Standard edition plus middleware libraries such as, TCP/IP Protocol Suite, Flash File system, CAN Driver, and USB Driver. You may use this package to implement applications that connect by CAN, USB, microSD card or GLCD.


MCB1700 User's Guide: Introduction

Introduction

The Keil MCB1700 Evaluation Board allows you to generate and test application programs for the NXP LPC17xx device family. With this hands-on process, you can determine the hardware and software requirements for current and future product development.

This board is populated with the NXP LPC1768 microcontroller.


MCB1700 User's Guide: Theory of Operation

Theory of Operation

The Theory of Operation explains the MCB1700 board hardware. The descriptions help you to understand the MCB1700 board components and how to use the available I/O interfaces.

The MCB1700 is designed to be a very flexible evaluation board for the NXP LPC1700 family of microprocessors. The MCB1700 evaluation board can be expanded to build hardware prototypes.


MCB1700 User's Guide: Writing Programs

Writing Programs

The Writing Programs topics introduce you to the Keil development tools, and show you, step-by-step, the process of using them with the MCB1700 board. You will learn how to use µVision to create, compile, download, debug, and run a program on the MCB1700 board.

Writing programs for the MCB1700 board is easy.

  1. Create the Application Program using the µVision IDE and the ARM C/C++ Compiler.
  2. Download the program to the on-chip Flash of the MCB1700 Board.
  3. Debug the program using µVision Debugger and ULINK.

Note

  • Use the Keil MDK-ARM Lite Edition if no other version is installed on the computer.


MCB1700 User's Guide: Setup

Setup

Setting up the MCB1700 evaluation board is easy. Explanations for the board setup and its components are presented here. Details about the connecting and configuring procedures for the MCB1700 board are also presented, with a separate topic for the connector descriptions. Setup includes using the MCB1700 board with ULINK.

The MCB1700 board requires a USB connection for power and another USB connection for the ULINK-USB adapter between your development PC and the JTAG connector.

Before you start, make sure you have satisfied the hardware and software requirements.


MCB1700 User's Guide: Board Setup

Board Setup

The MCB1700 Evaluation Board is a USB-powered device.

MCB1700 Board with ULINK2

The MCB1700 Evaluation Board connects directly to the Keil µVision Debugger using the Keil ULINK USB-JTAG Adapter, so no additional software is required on the board.

The MCB1700 Evaluation Board connects to a PC via a standard USB cable that provides power.


MCB1700 User's Guide: Board Components

Board Components

The following illustration shows the important interface and hardware components of the MCB1700 board.

MCB1700 Board Components


MCB1700 User's Guide: Configuring the MCB1700

Configuring the MCB1700

The MCB1700 Evaluation Board is configured using the jumpers below. The MCB1700 Board ships with the following configuration:

Jumper | State | Description
E/C | ENET | Connects P2.8 for CAN2 or Ethernet use.
D- | HOST | Configures USB Line D- to HOST mode.
D+ | HOST | Configures USB Line D+ to HOST mode.
SPK | ON | Connects AOUT (P0.26) via LF amplifier to the loudspeaker.
VBAT | ON | Connects the on-board battery to the VBAT pin.
VDDIO | ON | Supplies 3.3 VDC to the VDDIO pin.
VDDREG | ON | Supplies 3.3 VDC to the VDDREG pin.
VBUS | ON | Supplies 5 VDC power to the board from the USB-B connector VBUS pin.
UMODE | ON | Allows soft-connect of the USB device by issuing a software restart via P2.9
AD0.2 | ON | Connects POT1 potentiometer to AD0.2 for analog input.
INT0 | ON | Enables the INT0 Push Button.
RST | ON | Enables Reset via COM0.
ISP | ON | Disables In-System Programming via COM0.
LED | ON | Enables the P1.28, P1.29, P1.31, P2.2 - P2.6 LEDs.
E/U | ON | Connects P2.9 to pin 1 of the UMODE jumper block.

Configuring for the ULINK USB-JTAG Adapter

The default jumper settings (above) on the MCB1700 board are pre-configured for the ULINK USB-JTAG adapter.


MCB1700 User's Guide: Connecting with ULINK

Connecting with ULINK

To use the MCB1700 Evaluation Board with ULINK or ULINK2, you must:

  • Connect the ULINK ribbon connector to the JTAG connector of the MCB1700 board.
  • Connect ULINK to the PC via a standard USB A/B cable.
  • Connect power to the board using a standard USB A/B cable.
  • Set the JTAG clock for your ULINK or ULINK2 adapter.

The following picture shows how to connect ULINK to the MCB1700 board.

MCB1700 Board Connected to the ULINK2 JTAG Adapter

Note

  • If your application program puts the ARM device in idle or power-down mode, the CoreSight debug port in the LPC1700 core (and subsequently the ULINK) stops working. Therefore, do not put the Cortex-M3 device into the power saving modes during the software development cycle.


MCB1700 User's Guide: Setting the JTAG Clock

Setting the JTAG Clock

To get the best performance from your ULINK JTAG adapter, it's important to set the JTAG clock rate for the MCB1700 board. The following steps show you how this is done.

  1. Power up the MCB1700 Board.
  2. In µVision, Configure the Debugger in the Project — Options for Target — Debug dialog.

    Options for Target Button Use the Options for Target toolbar button and click the Debug tab to display the Debug dialog.

    Use: ULINK ARM Debugger Select the Use: radio button and then ULINK Cortex Debugger in the drop-down list to choose the ULINK USB-JTAG Adapter as the debugging tool.

  3. Click the Settings button to open the Cortex-M Target Driver Setup dialog.

    Target Driver Setup - ULINK2 Adapter Check the SWJ checkbox and select the SW option under Port to use the Single Wire mode interface.

    The Max JTAG Clock drop-down list sets the highest JTAG clock rate used to communicate to the target board. When using a ULINK adapter, the 1MHz setting works best with the MCB1700 board.


MCB1700 User's Guide: Jumper Descriptions

Jumper Descriptions

The jumpers used to configure the MCB1700 board are:

  • E/C: connects P2.8 to either on-board CAN or Ethernet hardware.
  • D-: connects the USB Line D- to the DEVICE, HOST or OTG connector.
  • D+: connects the USB Line D+ to the DEVICE, HOST or OTG connector.
  • SPK: D/A Output for loudspeaker: connects the AOUT output to the LF amplifier.
  • VBAT: connects the on-board battery to the VBAT pin..
  • VDDIO: supplies 3.3 VDC to the VDDIO pin.
  • VDDREG: supplies 3.3 VDC to the VDDREG pin.
  • VBUS: Supplies 5 VDC to the board from the USB-B connector VBUS pin.
  • UMODE: USB Device Mode: Positioning this jumper toward the LCD display allows soft-connect of the USB device by issuing a software restart via P2.9. Positioning this jumper toward the speaker requires a power-up sequence for the USB detection.
  • AD0.2: Analog Voltage for AD0.2: connects the potentiometer to the analog input AD0.2.
  • INT0: Enable Push Button INT0: connects the push button INT0 to the CPU I/O pin P2.10 (INT0 input). Pushing the button generates a low signal.
  • RST: Enable Reset via COM0 Port: When RST is set, you may generate a CPU RESET signal using the DTR signal of the COM0 port. An active DTR signal generates a CPU RESET.
  • ISP: Enable for In-System Programming: lets the RTS line of the COM0 port generate a signal on P2.10 (INT0). When RTS is active P2.10 is driven low. This is used to enter In-System Programming (ISP) mode.
  • LED: Enable LED Driver: enables the LED driver connecting the on-board LEDs to GPIO Port 1 pins 28, 29, 31, and Port 2 pins 2 - 6.
  • E/U: Enable Ethernet or USB: Positioning this jumper towards the USB connectors connects P2.9 to pin 1 of the UMODE jumper block. Positioning this jumper towards the MCU (IC1) connects P2.9 to the Ethernet MDIO input.


MCB1700 User's Guide: Block Diagram

Block Diagram

The hardware block diagram displays input, configuration, power system, and User I/O on the board. This visual presentation helps you to understand the MCB1700 board components.

MCB1700 Block Diagram


MCB1700 User's Guide: Push Buttons

Push Buttons

The two push buttons on the MCB1700 board are:

  • The RESET push button connects to the reset circuit. This resets the microcontroller. Removing the RST jumper disables this button.
  • The INT0 push button connects to the external interrupt 0 (INT0) of the microcontroller. Removing the INT0 jumper disables this button.

MCB1700 Board Buttons


MCB1700 User's Guide: CAN Interface

CAN Interface

The dual CAN Interfaces use the TJA1040 CAN driver (IC3 for CAN1 and IC4 for CAN2) and termination resistors (R4 and R6 for CAN1 and R13 and R15 for CAN2) on the MCB1700 board. The driver settings may be changed by the configuration jumpers.

MCB1700 Board CAN

The CAN1 and CAN2 DB9 connectors are wired identically (Pin 2 provides the CANL signal and Pin 7 provides the CANH signal) and each is connected to a TJA1040 CAN driver IC.

MCB1700 CAN DB9 Connector

Note

  • CAN termination resistors make it easy to connect the MCB1700 board to your CAN network but they are not always required. When connecting the MCB1700 Board to a CAN network, you may need to remove the termination resistors.


MCB1700 User's Guide: Microcontroller

Microcontroller

The NXP LPC1768 microcontroller (IC1) provided with the MCB1700 board is a high-end LPC17xx device with advanced ADC, CAN and USB capabilities.

A 12.0 MHz crystal (Q2) provides the clock signal for the CPU.

Note

  • Locations IC2 and Q4 are used instead of IC1 and Q4 when 80-pin LPC1758 variant is used.

MCB1700 Board Microcontroller


MCB1700 User's Guide: Ethernet Interface

Ethernet Interface

The Ethernet Interface on the MCB1700 board uses the 10/100 Fast Ethernet 3.3V National Semiconductor DP83848 (IC12).

MCB1700 Board - Ethernet Interface


MCB1700 User's Guide: ETM Interface

ETM Interface

The ETM Interface connector provides instruction-level trace debugging support for the LPC1700 device at the Cortex Debug+ETM connector.

MCB1700 Board ETM Connector

A 20-pin header (Samtec FTSH-120) is included for connecting to Cortex Debug and ETM Trace hardware.

20-pin ETM Trace Connector Pin Identification

  • The ETM Interface uses the pins P2.2 - R2.6 to output information. These pins are also used to control the LEDs. ETM output and LEDs cannot be used at the same time.


MCB1700 User's Guide: Joystick

Joystick

The 5-position joystick control on the MCB1700 board grounds one of 5 possible port pins depending on how the the joystick control handle is positioned. The control may be positioned left, right, up, down or pushed toward the board (select).

  • The Left joystick position connects pin C to port pin P1.26 of the LPC17xx device to ground.
  • The Right joystick position connects pin B to port pin P1.24 of the LPC17xx device to ground.
  • The Up joystick position connects pin A to port pin P1.23 of the LPC17xx device to ground.
  • The Down joystick position connects pin D to port pin P1.25 of the LPC17xx device to ground.
  • The Select joystick position connects the Cntr pin to port pin P1.20 of the LPC17xx device to ground.

MCB1700 Board Joystick


MCB1700 User's Guide: JTAG Interface

JTAG Interface

The JTAG Interface connector provides debugging and emulator support for the NXP LPC17xx device. The JTAG Interface allows application debugging and programming of on-chip and off-chip Flash devices.

The Cortex Debug connector provides support for Serial Wire JTAG feature of the Cortex-M3 device. Serial Wire JTAG is capable of Serial Wire Output for target debugging in addition to allowing application programming and debugging of on-chip and off-chip Flash devices as in standard JTAG.

The standard JTAG 20-pin connector works with the Keil ULINK and many third party tool vendors. The Cortex Debug connector works with the Keil ULINK2 adapter.

Cortex Debug and JTAG Pin Identification


MCB1700 User's Guide: LCD Panel

LCD Panel

The LCD-TFT color graphics display panel contains a 240x320 pixel screen and connects using a 16-bit interface. The LCD panel connects to MCB1700 board via 30-pin header.

MCB1700 Board LCD Panel


MCB1700 User's Guide: LEDs

LEDs

The LEDs on the MCB1700 board are:

  • The POWER LED indicates that power is present on the board.
  • The 8 Port LEDs marked P1.28, P1.29, P1.31 and P2.2 - P2.6 connect to their respective port pins when jumper LED is installed. These LEDs are useful for indicating program status while testing your applications. Removing Jumper LED disables the LED driver chip (IC9).
  • The 100M LED indicates a 100Mbit Ethernet LAN connection.
  • The ORANGE LED (right/lower) on the Ethernet connector indicates LAN traffic is present.
  • The GREEN LED (left/upper) on the Ethernet connector indicates a good link connection to the LAN.
  • The USC LED indicates a USB soft connect from P2.9.
  • The UGL LED indicates a good USB link.
  • The SD LED indicates that an SD card is detected.

  • The LED pins P2.2 - R2.6 are multiplexed with the ETM Interface. No jumper exists to switch the functionality. ETM output and LEDs cannot be used at the same time.


MCB1700 User's Guide: Potentiometer

Potentiometer

The potentiometer on the MCB1700 board connects to Port 0.25 (AD0.2) when the Jumper AD0.2 is enabled. The voltage range is 0.0-3.3 Volts.

MCB1700 Board with Potentiometer


MCB1700 User's Guide: Power Supply

Power Supply

Power is supplied to the MCB1700 board on your PC using a standard USB B connector, or from an external 6.5 - 9VDC power supply connected at VIN+ and VIN-. The VBUS jumper must be installed to power the board from the PC's USB connector.

When the board is powered from an external power supply at VIN and the USB connector is needed for data exchange, the VBUS jumper should be removed.

The voltage regulators (IC8) and (IC5) generate 3.3 Volts DC and 5.0 Volts DC, respectively. Voltage regulator (IC7) generates 3.3 Volts DC for Analog use (VDDA and VREF). The Power LED indicates power is present on the board.

The CR1220 battery supplies 3.0 Volts DC to power the Real-time Clock peripheral. The VBAT jumper connects this battery to the VBAT pin.

MCB1700 Board Power


MCB1700 User's Guide: Prototyping Area

Prototyping Area

The prototyping area provides blocks for adding components and connecting the address, data, and I/O ports.

MCB1700 Board Prototyping Area

Note

  • All microcontroller signals are brought out to pins and are driven directly by the microcontroller. Exercise caution to avoid overloading these signal lines.


MCB1700 User's Guide: Schematics

Schematics

Detailed schematics are available in large format on the MCB1700 Evaluation Board information section of the Keil web site.

For MDK V5 installations, if you have installed the Keil:MCB1700 Device Family Pack (DFP), you can view the MCB1700 schematic PDF installed on your PC. Open an MCB1700 example project, such as Blinky, click the Books tab in the Project Window, then click the Schematics (MCB1700) in the Board Data Books section.

MCB1700 Base Board Schematics

MCB1700 Display Board Schematics

MCB1700 Display Board Schematics

Copyright © Keil, An ARM Company. All rights reserved.


MCB1700 User's Guide: MicroSD Connector

MicroSD Connector

The MCB1700 board supports one MicroSD memory card connector that allows you to connect a wide range of memory cards.

MCB1700 Board with MicroSD Connector


MCB1700 User's Guide: Serial Ports

Serial Ports

The MCB1700 board connects the ASC0 on-chip serial UART to the ST3232 (IC6), which converts the logic signals to RS-232 voltage levels. The ASC0 UART may be used in bootstrap mode to download other utilities for debugging or downloading flash.

MCB1700 Board Serial Ports

In addition to the standard 3-wire interface, the COM0 DB9 connector is wired to allow a board RESET via the DTR pin, and to enable In-System Programming (ISP) via the RTS pin as shown in the figure below.

DB9 Connector Wiring for RESET and ISP

The COM1 DB9 connector uses the standard 3-wire interface and does not connect the DTR or RTS pins to any board component as shown in the figure below.

DB9 Connector Standard Wiring


MCB1700 User's Guide: Speaker

Speaker

The MCB1700 board includes a speaker controlled by the output of the on-chip D/A converter. The LM386M low voltage power amplifier (IC13) amplifies the D/A output to drive the speaker.

Jumper SPK connects the D/A output (Port 0, pin 26, P0.26/AOUT) to the input of the LM386M amplifier. Removing this jumper disables the speaker.

MCB1700 Board Speaker


MCB1700 User's Guide: Technical Data

Technical Data

Parameter | Description
Supply Voltage | 5V DC (provided by the USB bus of a PC), or or 6.5 - 9 Volts DC from an external power supply.
Supply Current | 65mA typical, 120mA maximum
XTAL Frequency | 12 MHz
Microcontroller | NXP LPC1768
Peripherals | 2 × RS232 Interfaces, 2 × CAN Interfaces, 1 × Ethernet Interface, 1 × JTAG Interface, 1 × ETM Interface, 2 × Cortex Debug Interfaces, 1 × LCD Display, 1 × USB Device/Host/OTG Interface, 1 × Analog Output (connected to speaker by default) 1 × Analog Input (connected to potentiometer by default)
Board Size | 120mm x 120mm (4.75" x 4.75").


MCB1700 User's Guide: USB Interface

USB Interface

The MCB1700 board contains a standard USB "B" connector that supplies power to the board and allows the board to be configured as a USB device.

The MCB1700 boards also include two additional USB connectors:

  • a USB "mini-B" connector for USB-OTG (On-The-Go) applications.
  • a USB Micro AB connector for USB hosting applications.

The D+ and D- Jumpers configure the connectors for for OTG, Device or Host applications.

When the board is powered from an external power supply at VIN and the USB connector is needed for data exchange, the VBUS jumper should be removed.

MCB1700 Board USB Connectors

MCB1700 Board USB Connectors


MCB1700 User's Guide: Building a Program

Building a Program

When the building a program function starts, you may watch the progress in µVision's Command window. The created executable files are placed in an output folder, ready for downloading. The steps and progress are:

  1. Start the build

    Build Button Click on the Build toolbar button to generate your application program. µVision translates all your source files and links the project.

  2. Monitor progress

    The build activity progress (assembling, compiling, and linking) displays in the µVision's Command window. Any errors or warnings detected during the build process also display in this window.

  3. Program Files

    The build creates an Executable File in ELF Format in the Output folder you designated earlier. The ULINK USB-JTAG adapter requires this file for downloading to the MCB1700 board using the JTAG or other emulators.

The program is now built and ready for test.


MCB1700 User's Guide: Creating an MDK V5 Project

Creating an MDK V5 Project

To create a project in MDK V5, you must install the Device Family pack for the MCB1700. Once you have done this, you may create a new project.

Installing the MCB1700 Device Family Pack

If you have not already done so, install the LPC1700 Device Family Pack (DFP) using the Pack Installer. To do this:

  1. In uVision V5, click the Pack Installer [image] icon.
  2. Under the Packs tab, make sure the Keil:LPC1700_DFP pack is installed and Up to Date.

  3. Pack Installer: Select DFP

    If not, click the Install button to the right of the Keil:LPC1700_DFP to install it.

Creating a New Project

Follow the steps below to create a new MDK project using the Keil Run-Time Environment (RTE) and to specify and organize your source (and debug) files that are a part of this project.

  1. Create a New Project File with the µVision menu command Project — New — µVision Project.
    Select a microcontroller from the Device Database®. The MCB1700 Board comes with the NXP LPC1768, however, you may also use it to develop code for other LPC17xx device variants, since the LPC1768 represents a superset of several other LPC17xx devices.
  2. When you select the LPC1768 device for the MCB1700 board from the Device Database, because that device is supported by a Software Pack (as indicated by the colored [image] icon) , the Manage Run-Time Environment dialog displays for the device you selected.
  3. Expand the Board Support folder and select the MCB1700 board you will be using. Then:
    1. Expand the MCB1700 folder to display and select the components on the board you will be using in your application.
    2. Expand and select any File System, Graphics, Network or USB components you will be using in your application.
    3. Click the Resolve button to let uVision resolve as many required components based on your choices.
    4. In Validation Output, double-click any missing components to display them, then select them for your application, until all missing components have been resolved.
  4. Add your own Source Code to the project using the µVision editor (or any editor of your choice) by using one of the many ways to Add Source Files to Your Project.


MCB1700 User's Guide: Creating an MDK V4 Project

Creating an MDK V4 Project

Follow the steps below to create a new project file and to specify and organize your source (and debug) files that are a part of this project.

  1. Create a New Project File with the µVision menu command Project - New Project.
    Select a microcontroller from the Device Database®. The MCB1700 Board comes with the LPC1768, however, you may also use it to develop code for other LPC17xx device variants, since the LPC1768 represents a superset of several other LPC17xx devices.
  2. Add Startup Code from the folder ..\ARM\BOARDS\KEIL\MCB1700\ to your project. After selecting, µVision prompts with the following dialog:

    'Copy MCB1700 Startup Code' Dialog

    Answer Yes since this startup code works with most LPC17xx projects.

  3. Add your own Source Code to the project using the µVision editor (or any editor of your choice) by either:
    • Right clicking the mouse in the Project Window on a group and select Add Files to Group from the context menu.

    • Or

    • Opening the Project — Components, Environment and Books — Project Components dialog.
      Within this dialog, you may create and organize files into groups, or create other project targets with different tool configurations.

      Components, Environments and Books Dialog


MCB1700 User's Guide: Configuring Output Files

Configuring Output Files

Configure the Output Files in the Project — Options for Target — Output dialog. The steps for configuring these files are:

  1. Select Folder for Objects... this allows you to specify sub-folders for the output files.

    Options for Target - Output - Select Folder

  2. Enable Debug Information to store symbolic debug information within the executable file for source level program testing with the µVision debugger.

    Options for Target - Output - Debug Information Selection

  3. Enable Create HEX File to generate an Intel HEX file for Flash programming with external utilities.

    Options for Target - Create HEX File


MCB1700 User's Guide: Setting Target Options

Setting Target Options

You must select the speed and memory configurations for your target hardware. Since these features of the MCB1700 are fixed, copy the settings as shown below. The steps for setting the target options are:

  1. Open the Target Tab of the Project — Options for Target dialog.

    Options for Target - XTAL Type in the XTAL (MHz) of 12.0 for the oscillator frequency.

  2. Enter the memory ROM area for your target system in IROM1.

    Options for Target - IROM1 Enter the starting address of 0x0 in Start and the size of 0x40000 in Size.

    The LPC1768 has on-chip ROM from 0x0 to 0x3FFFF for a total of 0x40000 bytes.

  3. Enter the RAM memory area for your target system in IRAM1.

    Options for Target - IRAM1 Enter the starting address of 0x10000000 in Start and the size of 0x8000 in Size.

    The LPC1768 has on-chip RAM from 0x10000000 to 0x10007FFF for a total of 0x8000 bytes.

Note

  • In the licensed (non-evaluation) version of MDK-ARM, the Memory Areas parameters automatically configure the scatter file for the ARM Linker/Locator.


MCB1700 User's Guide: Creating Application Programs

Creating Application Programs

The required steps for creating application programs are outlined here.

µVision includes a Project Manager that makes it easy for you to design applications quickly. The topics below show you how to create a project, set the target options, configure the output files, compiler and linker options, and build an application program that is ready to download to the MCB1700 board.

The release of MDK-ARM V5.00 allows you to create a new project with the help of a Software Component Pack and the RTE Manager. Start with the Creating an MDK V5 Project step below when creating a project using MDK V5.00 or later.

  1. Creating an MDK V4 Project
    or
    Creating an MDK V5 Project
  2. Setting Target Options
  3. Configuring Output Files
  4. Building a Program

Detailed information can be found in the µVision User's Guide in the Creating Applications chapter.


MCB1700 User's Guide: Keil MDK-ARM

Keil MDK-ARM

To use the MCB1700 Board download the Lite Edition of the Keil Microcontroller Development Kit (MDK-ARM). The MDK-ARM Lite Edition includes:

  • Powerful and easy-to-use µVision IDE that includes editor, project management, and make capability.
  • µVision Debugger with complete CPU, peripheral simulation, and driver for the Keil ULINK USB-JTAG Adapter.
  • ARM Compilation Tools that include ANSI C/C++ Compiler and related utilities.
  • RTX RTOS Kernel for the ARM Compiler.
  • Extensive tutorials and documentation.

The restrictions for the MDK-ARM Lite Edition are:

  • The image ROM size of the generated application is limited to 32KB maximum.
  • The linker does not accept scatter-loading description files for sophisticated memory layouts.
  • The base address for code/constants is restricted to 0xXX000000, 0xXX800000, or 0x00080000 whereby XX stands for 00, 01, ..., FF. This allows memory start address like 0x00000000, 0x12800000 and so on.
  • It is not possible to generate position independent code or data.
  • The compiler does not generate a disassembly listing.


MCB1700 User's Guide: Application Notes

Application Notes

Keil Software provides numerous Application Notes that discuss solutions to special problems. These are available on the Keil web site at: http://www.keil.com/appnotes/

Application Notes are available for various topics like Ethernet Programming, Complex Device Simulation and many more.