Skip to main content

NXP ISP Cortex-M programming tool

Project description

isp-programmer

ISP Programmer for NXP Cortex-M Chips

Command-line tool for programming NXP microcontrollers via the UART ISP interface.

Features

Secure Write

To prevent bricking the chip during an interrupted write:

  • The checksum in flash is first set to zero, forcing the chip to boot into ISP mode if power is lost.
  • The image is then written from the topmost page down to the first page.
  • The first sector (which contains the valid checksum) is written last.

This ensures that any failure during programming will leave the chip in ISP mode.

Chip Families Supported:

  • LPC80x
    • LPC802
    • LPC804
  • LPC82x
    • LPC822
    • LPC824
  • LPC84x
    • LPC844
    • LPC845

Untested, expected to work

  • LPC81x
    • LPC810
    • LPC811
    • LPC812
  • LPC83x
    • LPC832
    • LPC834
  • LPC86x
    • LPC865

Chips using UU-encoded protocols (e.g., LPC1700 family) are not supported. Other NXP devices with 1 kB sectors may work if added to the lpctools_parts.def file.

The configuration file is identical to that used by the lpctools project.

Installation

From PyPI

pip install ispprogrammer

From Source

git clone https://github.com/snhobbs/isp-programmer.git
cd isp-programmer
pip install .

Default chip definitions are bundled. For custom chips, use the --config-file flag or copy your lpctools_parts.def to /etc/lpctools_parts.def.

Usage

Erase Entire Flash

ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 masserase

Program Flash Image

ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 writeimage --imagein blinky804.hex

Read Chip Info

ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 querychip

Similar Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ispprogrammer-1.3.0.tar.gz (69.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ispprogrammer-1.3.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file ispprogrammer-1.3.0.tar.gz.

File metadata

  • Download URL: ispprogrammer-1.3.0.tar.gz
  • Upload date:
  • Size: 69.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ispprogrammer-1.3.0.tar.gz
Algorithm Hash digest
SHA256 5cd05aa1552fed8e7469f861bea7a0590a9afc7b09f2f40e88b56833a8da1d64
MD5 22c53d50eaebf06ce44d05ff1ce2f8ae
BLAKE2b-256 5dd6f0aab0e4b03c08e7595b2fa0c933834134c7658f48178e5b2766b2fbcc65

See more details on using hashes here.

Provenance

The following attestation bundles were made for ispprogrammer-1.3.0.tar.gz:

Publisher: cd.yml on snhobbs/isp-programmer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ispprogrammer-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: ispprogrammer-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ispprogrammer-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce06e31a06d5c2a2c0ef487f88b63ce111842f8730bfdd548f9e7451db59e236
MD5 0b9b27f5f4acb7db25dfe672546422a1
BLAKE2b-256 605561aa86b916dd2ab3a16233904ddce4c73255dabaef60ed95c3bf9d35c62f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ispprogrammer-1.3.0-py3-none-any.whl:

Publisher: cd.yml on snhobbs/isp-programmer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page