User Guide - dk6prog#
Warning
dk6prog is a prototype application and it is not tested. To be used at the user’s own risk.
This user’s guide describes how to use dk6prog application. DK6 Programmer Tools allows reading and programming flash memory of DK6 target devices (JN51xx, QN9090, K32W0xx). It’s a Python port of JN51xx Flash Programmer (https://www.nxp.com/docs/en/user-guide/JN-UG-3099.pdf).
Supported devices#
DK6 Board and all compatible modules https://www.nxp.com/products/wireless/multiprotocol-mcus/advanced-development-kit-for-k32w061-and-jn5189-88:IOTZTB-DK006
Backends#
dk6prog tools support four backends (drivers). PYFTDI backend, pure Python implementation of libFTDI. PYLIBFTDI backend, ctypes wrapper for libFTDI. FTD2XX backend, ctypes wrapper for D2XX. PYSERIAL backend for simple UART communication.
Jupyter example#
Visit Jupyter example DK6 Programming tool for more information and examples of usage.
Command line interface#
dk6prog#
Tool for reading and programming flash memory of DK6 target devices.
This is an experimental utility. Use with caution!
dk6prog [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...
Options
- -v, --verbose#
Print more detailed information
- -vv, --debug#
Display more debugging information.
- --version#
Show the version and exit.
- --help#
Show this message and exit.
- -d, --device-id <device_id>#
DK6 Serial device ID, obtained by list command
- -r, --baudrate <baudrate>#
Serial port baudrate. Default baud rate is 115200.
- -b, --backend <backend>#
PYFTDI backend, pure Python implementation of libFTDI. PYLIBFTDI backend. Ctypes wrapper for libFTDI. FTD2XX backend. Ctypes wrapper for D2XX. PYSERIAL backend for simple UART
- Options:
PYFTDI | PYLIBFTDI | FTD2xx | PYSERIAL
- -n, --no-isp#
Do not send ISP sequence
erase#
Erase the memory.
Erase the content of memory at the given <ADDRESS>, for a specified <LENGTH>.
dk6prog erase [OPTIONS] ADDRESS LENGTH [MEMORY_ID]
Options
- -r, --relative#
Use address relative to memory base address
- -v, --verify#
Verify that the data were erase using blank check command
Arguments
- ADDRESS#
Required argument
- LENGTH#
Required argument
- MEMORY_ID#
Optional argument
info#
Prints the information about the connected device.
- param ctx:
click Context
- raises SPSDKError:
When the DEVICE ID is not specified
dk6prog info [OPTIONS]
isp#
Issues ISP sequence as defined in Driver interface.
dk6prog isp [OPTIONS]
listdev#
Prints the information about the connected devices.
DEVICE_ID identifier is a parameter used for identification of device in other commands.
dk6prog listdev [OPTIONS]
read#
Reads the memory and writes it to the file or stdout.
Returns the contents of memory at the given <ADDRESS>, for a specified <BYTE_COUNT>.
dk6prog read [OPTIONS] ADDRESS LENGTH [MEMORY_ID]
Options
- -o, --out-file <FILE>#
Save output to file
- -h, --use-hexdump#
Use hexdump format
- -r, --relative#
Use address relative to memory base address
Arguments
- ADDRESS#
Required argument
- LENGTH#
Required argument
- MEMORY_ID#
Optional argument
write#
Write the memory.
Writes the data to memory.
dk6prog write [OPTIONS] ADDRESS FILE[,BYTE_COUNT] | {{HEX-DATA}} [LENGTH]
[MEMORY_ID]
Options
- -r, --relative#
Use address relative to memory base address
Arguments
- ADDRESS#
Required argument
- FILE[,BYTE_COUNT] | {{HEX-DATA}}#
Required argument
- LENGTH#
Optional argument
- MEMORY_ID#
Optional argument