Name | ispprogrammer JSON |
Version |
1.3.0
JSON |
| download |
home_page | None |
Summary | NXP ISP Cortex-M programming tool |
upload_time | 2025-07-27 20:15:18 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | MIT License
Copyright (c) 2020 Simon Hobbs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
isp
nxp
program
uart
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](http://git.techno-innov.fr/?p=lpctools).
## Installation
### From PyPI
```bash
pip install ispprogrammer
```
### From Source
```bash
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
```bash
ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 masserase
```
### Program Flash Image
```bash
ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 writeimage --imagein blinky804.hex
```
### Read Chip Info
```bash
ispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 querychip
```
## Similar Projects
+ [MXLI by JitterCompany](https://github.com/JitterCompany/mxli)
+ [NXP ISP by idreamoferp](https://github.com/idreamoferp/nxp_isp)
+ [NXP ISP Loader by pzn1977](https://github.com/pzn1977/nxp_isp_loader)
+ [LPC81x ISP Tool by laneboysrc](https://github.com/laneboysrc/LPC81x-ISP-tool)
+ [LPC21ISP by Senseg](https://github.com/Senseg/lpc21isp)
+ [Nxpprog by ulfen](https://github.com/ulfen/nxpprog)
Raw data
{
"_id": null,
"home_page": null,
"name": "ispprogrammer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "isp, nxp, program, uart",
"author": null,
"author_email": "Simon Hobbs <simon.hobbs@electrooptical.net>",
"download_url": "https://files.pythonhosted.org/packages/5d/d6/f0aab0e4b03c08e7595b2fa0c933834134c7658f48178e5b2766b2fbcc65/ispprogrammer-1.3.0.tar.gz",
"platform": null,
"description": "# isp-programmer\nISP Programmer for NXP Cortex-M Chips\n\nCommand-line tool for programming NXP microcontrollers via the UART ISP interface.\n\n## Features\n### Secure Write\n\nTo prevent bricking the chip during an interrupted write:\n\n- The checksum in flash is first set to zero, forcing the chip to boot into ISP mode if power is lost.\n- The image is then written from the topmost page down to the first page.\n- The first sector (which contains the valid checksum) is written last.\n\nThis ensures that any failure during programming will leave the chip in ISP mode.\n\n## Chip Families Supported:\n+ LPC80x\n + LPC802\n + LPC804\n+ LPC82x\n + LPC822\n + LPC824\n+ LPC84x\n + LPC844\n + LPC845\n\n### Untested, expected to work\n+ LPC81x\n + LPC810\n + LPC811\n + LPC812\n+ LPC83x\n + LPC832\n + LPC834\n+ LPC86x\n + LPC865\n\nChips using UU-encoded protocols (e.g., LPC1700 family) are not supported.\nOther NXP devices with 1\u202fkB sectors *may* work if added to the `lpctools_parts.def` file.\n\nThe configuration file is identical to that used by the [lpctools project](http://git.techno-innov.fr/?p=lpctools).\n\n## Installation\n\n### From PyPI\n\n```bash\npip install ispprogrammer\n```\n\n### From Source\n```bash\ngit clone https://github.com/snhobbs/isp-programmer.git\ncd isp-programmer\npip install .\n```\n\n> Default chip definitions are bundled. For custom chips, use the --config-file flag or copy your lpctools_parts.def to /etc/lpctools_parts.def.\n\n\n## Usage\n### Erase Entire Flash\n```bash\nispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 masserase\n```\n\n### Program Flash Image\n```bash\nispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 writeimage --imagein blinky804.hex\n```\n\n### Read Chip Info\n```bash\nispprogrammer --device /dev/ttyUSB0 -b 9600 -crystal_frequency 12000 querychip\n```\n\n## Similar Projects\n+ [MXLI by JitterCompany](https://github.com/JitterCompany/mxli)\n+ [NXP ISP by idreamoferp](https://github.com/idreamoferp/nxp_isp)\n+ [NXP ISP Loader by pzn1977](https://github.com/pzn1977/nxp_isp_loader)\n+ [LPC81x ISP Tool by laneboysrc](https://github.com/laneboysrc/LPC81x-ISP-tool)\n+ [LPC21ISP by Senseg](https://github.com/Senseg/lpc21isp)\n+ [Nxpprog by ulfen](https://github.com/ulfen/nxpprog)\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2020 Simon Hobbs\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n ",
"summary": "NXP ISP Cortex-M programming tool",
"version": "1.3.0",
"project_urls": {
"repository": "https://github.com/snhobbs/isp-programmer",
"url": "https://github.com/snhobbs/isp-programmer"
},
"split_keywords": [
"isp",
" nxp",
" program",
" uart"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "605561aa86b916dd2ab3a16233904ddce4c73255dabaef60ed95c3bf9d35c62f",
"md5": "0b9b27f5f4acb7db25dfe672546422a1",
"sha256": "ce06e31a06d5c2a2c0ef487f88b63ce111842f8730bfdd548f9e7451db59e236"
},
"downloads": -1,
"filename": "ispprogrammer-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0b9b27f5f4acb7db25dfe672546422a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 18497,
"upload_time": "2025-07-27T20:15:17",
"upload_time_iso_8601": "2025-07-27T20:15:17.317714Z",
"url": "https://files.pythonhosted.org/packages/60/55/61aa86b916dd2ab3a16233904ddce4c73255dabaef60ed95c3bf9d35c62f/ispprogrammer-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5dd6f0aab0e4b03c08e7595b2fa0c933834134c7658f48178e5b2766b2fbcc65",
"md5": "22c53d50eaebf06ce44d05ff1ce2f8ae",
"sha256": "5cd05aa1552fed8e7469f861bea7a0590a9afc7b09f2f40e88b56833a8da1d64"
},
"downloads": -1,
"filename": "ispprogrammer-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "22c53d50eaebf06ce44d05ff1ce2f8ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 69311,
"upload_time": "2025-07-27T20:15:18",
"upload_time_iso_8601": "2025-07-27T20:15:18.590023Z",
"url": "https://files.pythonhosted.org/packages/5d/d6/f0aab0e4b03c08e7595b2fa0c933834134c7658f48178e5b2766b2fbcc65/ispprogrammer-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 20:15:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "snhobbs",
"github_project": "isp-programmer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ispprogrammer"
}