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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cd05aa1552fed8e7469f861bea7a0590a9afc7b09f2f40e88b56833a8da1d64
|
|
| MD5 |
22c53d50eaebf06ce44d05ff1ce2f8ae
|
|
| BLAKE2b-256 |
5dd6f0aab0e4b03c08e7595b2fa0c933834134c7658f48178e5b2766b2fbcc65
|
Provenance
The following attestation bundles were made for ispprogrammer-1.3.0.tar.gz:
Publisher:
cd.yml on snhobbs/isp-programmer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ispprogrammer-1.3.0.tar.gz -
Subject digest:
5cd05aa1552fed8e7469f861bea7a0590a9afc7b09f2f40e88b56833a8da1d64 - Sigstore transparency entry: 317999487
- Sigstore integration time:
-
Permalink:
snhobbs/isp-programmer@28a2e4328ae9a6034870a943a7be3e7a755a9792 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/snhobbs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@28a2e4328ae9a6034870a943a7be3e7a755a9792 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce06e31a06d5c2a2c0ef487f88b63ce111842f8730bfdd548f9e7451db59e236
|
|
| MD5 |
0b9b27f5f4acb7db25dfe672546422a1
|
|
| BLAKE2b-256 |
605561aa86b916dd2ab3a16233904ddce4c73255dabaef60ed95c3bf9d35c62f
|
Provenance
The following attestation bundles were made for ispprogrammer-1.3.0-py3-none-any.whl:
Publisher:
cd.yml on snhobbs/isp-programmer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ispprogrammer-1.3.0-py3-none-any.whl -
Subject digest:
ce06e31a06d5c2a2c0ef487f88b63ce111842f8730bfdd548f9e7451db59e236 - Sigstore transparency entry: 317999498
- Sigstore integration time:
-
Permalink:
snhobbs/isp-programmer@28a2e4328ae9a6034870a943a7be3e7a755a9792 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/snhobbs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@28a2e4328ae9a6034870a943a7be3e7a755a9792 -
Trigger Event:
push
-
Statement type: