Provided by: lpctools_1.07-2_amd64 bug

NAME

       lpcprog - NXP's LPC micro-controllers flasher

SYNOPSIS

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

DESCRIPTION

       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
              115200.

       -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

COMMANDS

       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.

PARTS DESCRIPTION FILES

       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.

USER CODE

       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.

ISP MODE AND CODE READ PROTECTION

       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.

AUTHOR

       Written by Nathael Pajani.

REPORTING BUGS

       Report bugs to bug@techno-innov.fr
       Techno-Innov home page: <http://www.techno-innov.fr/>
       Software Git Repository: <http://git.techno-innov.fr/>

COPYRIGHT

       Copyright  ©  2013  Techno-Innov  License   GPLv3+:   GNU   GPL   version   3   or   later
       <http://gnu.org/licenses/gpl.html>.
       This  is free software: you are free to change and redistribute it.  There is NO WARRANTY,
       to the extent permitted by law.

SEE ALSO

       lpcisp(1)