OnWorks favicon

lpcprog - Online in the Cloud

Run lpcprog in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command lpcprog that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



lpcprog - NXP's LPC micro-controllers flasher


lpcprog -d serial_device -c command [OPTIONS] ... [FILE]


Use ISP protocol to flash LPC micro-controllers over serial line.

For all commands the target micro-controller must be in ISP mode and waiting for
synchronisation ISP command (default state when entering ISP mode). See ISP MODE AND CODE
READ PROTECTION section for more details.

A FILE argument must be given for dump and flash commands. For flash command this file is
the data (program) to be written to LPC internal Flash memory. For dump command, it will
store the actual content of the LPC internal flash memory.

Mandatory arguments to long options are mandatory for short options too.

-p, --parts==PARTS
Use PARTS as parts desription file instead of the default ones. See PARTS
DESCRIPTION FILES section for more information on default parts desription files
and order of precedence.

-d, --device=DEV
Use DEV as host serial line to program the target. Full path must be provided.
Device node files are usually located in /dev/ directory.

-c, --command=COMMAND
Command to execute. COMMAND must be one of id, dump, flash, blank or go. See
COMMANDS section for commands description.

-b, --baudrate=BAUD
Use BAUD as the baudrate for communication with the target device. Defaults to

-t, --trace
Turn on trace output of serial communication with target device

-f, --freq=FREQ
Use FREQ (KHz) as the oscilator frequency of target device. Defaults to 10000 KHz

-n, --no-user-code
Do not compute a valid user code for exception vector 7. See USER CODE section.

-h, --help
Display help information and exit

-v, --version
Display version information and exit


The command must be one of id, dump, flash, blank or go.

id The id command displays the LPC part identification ID, the uid (unique ID), and
the bootloader version of the connected target device.

dump Dump the whole connected target's flash memory content to the given file. This
command requires a file argument.

flash Flash the content of the file given as argument to the beginning of the connected
target's flash memory. Automatic computation of the User Code is made and User Code
is stored in the 7th exception vector. Use -n option to prevent User Code
modification. If you need to write your file to a different flash section, use the
lpcisp tool.

blank Erase the whole flash.

go Unsupported Yet. Reset the target using hardware reset button or power cycle the
device to start the program.


Default parts description files are /etc/lpctools_parts.def or ./lpctools_parts.def The
parts description file is parsed for LPC device description for dump, blank, and flash
commands. If none of the defaults exist and no existing file is supplied using -p option,
these command cannot execute. If the part description is not found in the first found
file, the command will not execute either. If no -p option is provided, the program looks
for lpctools_parts.def in the current directory first, and then in the /etc/ directory.

The content of parts description files is a list of LPC parts description. Each line
holds one part description. Lines starting by # are comments. Refer to the default file
found in the /etc/ directory for more information on the line format.


A valid User Code is requiered by the LPC bootloader to start the internal user program.
User Code is considered valid if the reserved exception vector location 7 (offset 0x 0000
001C in the vector table) contains the 2’s complement of the check-sum of table entries 0
through 6. This causes the checksum of the first 8 table entries to be 0.

If the signature is not valid the LPC enters ISP mode.

The default behavior of lpcprog is to compute a valid code for the 7th exception vector
and modify the programed binary data to include this valid code. You can prevent this by
using -n option.


Code Read Protection is a mechanism that allows "the user" to enable different levels of
"security" in the system so that access to the on-chip flash and use of the ISP can be
restricted. When needed, CRP is invoked by programing a specific pattern in flash location
at 0x0000 02FC. IAP commands are not affected by the code read protection.

If your device Does not enter ISP state, or if some commands do not succeed, it may be
because the CRP mechanism is in use on your device.

Code Read Protection will not be implemented as it goes against the license of this tool
and against the free software philosophy.

Use lpcprog online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 2
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • 3
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Next JS, Webpack, Babel, Node, and
    Express, using GraphQL and Apollo
    Client. WooCommerce Store in React(
    contains: Products...
    Download WooCommerce Nextjs React Theme
  • 4
    Package repo for ArchLabs This is an
    application that can also be fetched
    It has been hosted in OnWorks in...
    Download archlabs_repo
  • 5
    Zephyr Project
    Zephyr Project
    The Zephyr Project is a new generation
    real-time operating system (RTOS) that
    supports multiple hardware
    architectures. It is based on a
    small-footprint kernel...
    Download Zephyr Project
  • 6
    SCons is a software construction tool
    that is a superior alternative to the
    classic "Make" build tool that
    we all know and love. SCons is
    implemented a...
    Download SCons
  • More »

Linux commands