mspdebug man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

mspdebug(1)							   mspdebug(1)

NAME
       MSPDebug - debugging tool for MSP430 MCUs

SYNOPSIS
       mspdebug [options] driver [command ...]

DESCRIPTION
       MSPDebug	 is a command-line tool designed for debugging and programming
       the MSP430 family of MCUs. It supports the  eZ430-F2013,	 eZ430-RF2500,
       Launchpad,  Chronos,  FET430UIF,	 GoodFET,  Olimex MSP430-JTAG-TINY and
       MSP430-JTAG-ISO programming tools, as well as a simulation mode.

       When started with appropriate options, MSPDebug will attempt to connect
       to  the	debugging  tool	 specified and identify the device under test.
       Once connected, the user is presented with a command prompt  which  can
       be used to reflash the device memory, inspect memory and registers, set
       registers, and control the CPU (single step,  run  and  run  to	break‐
       point).

       It  supports a variety of file formats, described in the section BINARY
       FORMATS below. It can also be used as a remote stub for gdb(1).

       On startup, MSPDebug will look for a file called .mspdebug first in the
       current	directory,  and	 then  in the user's home directory. If either
       file exists, commands will be read and executed from this  file	before
       executing any other commands or starting the interactive reader.

       Alternatively,  a  configuration	 file can be explicitly specified with
       the -C option.

COMMAND-LINE OPTIONS
       Command-line options accepted by MSPDebug are described below. If  com‐
       mands  are specified on the end of the command-line, then they are exe‐
       cuted after connecting to the device, and the interactive prompt is not
       started.	 Please	 be  aware  that commands consisting of multiple words
       need to be enclosed in quotation marks, otherwise they are  treated  as
       single  commands.  Thus	the common prog command would be used as "prog
       main.elf".  See the section labelled COMMANDS for more information.

       -q     Start in quiet mode. See the "quiet" option described below.

       -v voltage
	      Set the programming voltage. The voltage should be specified  as
	      an integer in millivolts. It defaults to 3000 (3.0 V).

       -j     Use  JTAG instead of Spy-Bi-Wire to communicate with the MSP430.
	      This option doesn't work with  eZ430  or	eZ430-RF2500  devices,
	      which support Spy-Bi-Wire only.

       -d device
	      Specify  that  the driver should connect via a tty device rather
	      than USB.	 The supported connection methods  vary	 depending  on
	      the driver. See the section DRIVERS below for details.

       -U bus:device
	      Specify  a  particular  USB  device  to connect to. Without this
	      option, the first device of the appropriate type is opened.

       -s serial
	      Specify a particular USB device serial number to connect to. Use
	      this  option to distinguish between multiple devices of the same
	      type.

       -n     Do not process the startup file (~/.mspdebug).

       -C file
	      Specify an alternative configuration file (default is  ~/.mspde‐
	      bug). If -n is specified as well, no file will be read.

       --long-password
	      When  using  the	flash-bsl  driver, send a 32-byte BSL password
	      instead of the standard 16-byte password.

       --help Display a brief help message and exit.

       --fet-list
	      Display a list of chips supported by the FET driver (the	driver
	      used for UIF, RF2500 and Olimex devices).

       --fet-force-id string
	      When  using  a FET device, force the connected chip to be recog‐
	      nised by MSPDebug as one of the given  type  during  initializa‐
	      tion.  This  overrides  the  device  ID returned by the FET. The
	      given string should be a chip name in  long  form,  for  example
	      "MSP430F2274".

       --fet-skip-close
	      When using a FET device, skip the JTAG close procedure when dis‐
	      connecting.  With some boards, this removes the need  to	replug
	      the debugger after use.

       --usb-list
	      List available USB devices and exit.

       --force-reset
	      When  using a FET device, always send a reset during initializa‐
	      tion. By default, an initialization without reset will be	 tried
	      first.

       --allow-fw-update
	      When using a V3 FET device via the TI library, allow the library
	      to perform a firmware update if the FET firmware is incompatible
	      with the library.

       --require-fw-update image.txt
	      When  using  a V3 FET device, or certain Olimex devices, force a
	      firmware update using the given  firmware	 image.	 The  firmware
	      format depends on the driver.

       --version
	      Show program version and copyright information.

       --embedded
	      Start  mspdebug as an embedded subprocess. See the documentation
	      accompanying the source release for more information on embedded
	      mode.

       --bsl-entry-sequence seq
	      Specify  a  BSL entry sequence. Each character specifies a modem
	      control line transition (R: RTS on, r: RTS off, D:  DTR  on,  d:
	      DTR  off).  A  comma  indicates  a  delay.  The  entry  and exit
	      sequences are  separated	by  a  colon.  The  default  value  is
	      dR,r,R,r,R,D:dR,DR, for the flash-bsl driver.

DRIVERS
       For  drivers  supporting	 both  USB and tty access, USB is the default,
       unless specified otherwise (see -d above).

       On Linux, if USB access is used, the kernel driver (if any) is detached
       from  the  tty  device.	If further access to the tty device is needed,
       unloading and re-loading of the driver (e.g. cdc-acm.ko) is required.

       A driver name must be specified on the command  line  for  MSPDebug  to
       connect to. Valid driver names are listed here.

       rf2500 Connect  to  an  eZ430-RF2500, Launchpad or Chronos device. Only
	      USB connection is supported.

       olimex Connect to an Olimex MSP430-JTAG-TINY device. Both USB  and  tty
	      access are supported.

       olimex-v1
	      Connect  to an Olimex MSP430-JTAG-TINY (V1) device. Both USB and
	      tty access are supported. This driver must be  used  instead  of
	      olimex if connecting to a V1 device via a tty interface.

       olimex-iso
	      Connect  to  an  Olimex MSP430-JTAG-ISO device. Both USB and tty
	      access are supported.

       olimex-iso-mk2
	      Connect to an Olimex MSP430-JTAG-ISO-MK2 device.	Both  USB  and
	      tty access are supported.

       sim    Do not connect to any hardware device, but instead start in sim‐
	      ulation mode. A 64k buffer is allocated to simulate  the	device
	      memory.

	      During  simulation,  addresses below 0x0200 are assumed to be IO
	      memory.  Programmed IO writes to and from IO memory are  handled
	      by the IO simulator, which can be configured and controlled with
	      the simio command, described below.

	      This mode is intended for testing of changes  to	MSPDebug,  and
	      for aiding the disassembly of MSP430 binaries (as all binary and
	      symbol table formats are still usable in this mode).

       uif    Connect to an eZ430-F2013 or  a  FET430UIF  device.  The	device
	      argument	should	be the filename of the appropriate tty device.
	      The TI serial converter chips on these devices are supported  by
	      newer  versions  of  the	Linux  kernel,	and  should  appear as
	      /dev/ttyXX when attached.

	      USB connection is supported for this driver. The	USB  interface
	      chip  in	these  devices	is a TI3410, which requires a firmware
	      download on startup. MSPDebug will  search  for  a  file	called
	      ti_3410.fw.ihex in the configured library directory and the cur‐
	      rent directory. You can specify an alternate  location  for  the
	      file via the MSPDEBUG_TI3410_FW environment variable.

       uif-bsl
	      Connect  to  the bootloader on a FET430UIF device. These devices
	      contain  MSP430F1612  chips.  By	sending	 a   special   command
	      sequence,	 you  can  obtain access to the bootloader and inspect
	      memory on the MSP430F1612 in the programming device itself.

	      Currently, only memory read/write and erase are  supported.  CPU
	      control via the bootloader is not possible.

       flash-bsl
	      Connect  to the built-in bootloader in MSP430 devices with flash
	      bootloader memory. Devices with ROM bootloaders require  another
	      driver.  Currently,  this	 driver	 must mass-erase the device in
	      order to gain access. Read, write, and erase operations are sup‐
	      ported.

	      USB  connection  is not supported for this driver. Connection is
	      via serial port, and bootloader entry is	accomplished  via  the
	      RTS and DTR lines.  Connect RTS to the device's TEST pin and DTR
	      to the device's RST  pin.	  Use  an  appropriate	serial	level-
	      shifter  to make the connection, if necessary.  If connecting to
	      a device with non-multiplexed JTAG  pins,	 connect  RTS  to  the
	      device's TCK pin via an inverter.

       gdbc   GDB  client  mode.  Connect to a server which implements the GDB
	      remote protocol and provide an interface	to  it.	 To  use  this
	      driver, specify the remote address in hostname:port format using
	      the -d option.

       tilib  Use the Texas Instruments MSP430.DLL to access the  device.  The
	      library file (MSP430.DLL for Windows, libmsp430.so for Unix-like
	      systems) must be present in the dynamic loader search path.

	      USB connection is not supported for  this	 driver.  This	driver
	      supports	watchpoints.  Note  that the -d option for this driver
	      passes  its  argument  straight	through	  to   the   library's
	      MSP430_Initialize	 function.  Any	 special argument supported by
	      that function is therefore accessible via the -d option.

	      Automatic device discovery works only on Linux and  Windows.  On
	      other  systems,  the appropriate ACM serial node must be explic‐
	      itly specified.

       goodfet
	      Connect to a GoodFET device. JTAG mode must be  used,  and  only
	      tty  access  is  supported.  This	 device can be used for memory
	      access (read, erase and program), but CPU	 control  is  limited.
	      The  CPU	may  be halted, run and reset, but register access and
	      breakpoints aren't supported.

       pif    Connect to a parallel-port JTAG controller. JTAG	mode  must  be
	      used,  and  only tty access is supported. Currently, this driver
	      is only supported on Linux, FreeBSD and DragonFly BSD. A	paral‐
	      lel  port	 device	 (ppdev on Linux, ppi on FreeBSD and DragonFly
	      BSD) must be specified via the -d option.

       gpio   Connect to system gpios. JTAG mode must be used,	and  only  tty
	      access is supported. Currently, this driver is only supported on
	      Linux, FreeBSD and DragonFly BSD. The gpios to used must defined
	      using a string like "tdi=7 tdo=8 tms=9 tck=4" via the -d option.
	      (dont forget the quotes)

       load-bsl
	      Connect to a USB bootloader. The stub bootloader will be used to
	      load a fuller-featured bootloader into RAM for execution.

       ezfet  This  driver  is	for Texas Instruments' eZ-FET devices. It sup‐
	      ports USB and tty access. It does not  support  breakpoint  con‐
	      trol.

       rom-bsl
	      This driver is for the old-style (ROM) bootstrap loader. It sup‐
	      ports tty access only. Entry is attempted via the	 RTS/DTR  sig‐
	      nals.  The  default  sequence  is DR,r,R,r,d,R:DR,r, but you can
	      override this with the --bsl-entry-sequence option.

	      WARNING: this driver unlocks the BSL by performing a mass erase.
	      There  are  reports of this operation causing an erase of info A
	      in some devices. Use at your own risk.

COMMANDS
       MSPDebug can accept commands either through an interactive  prompt,  or
       non-interactively  when	specified  on  the command line. The supported
       commands are listed below.

       Commands take arguments separated by spaces. Any text  string  enclosed
       in  double-quotation  marks is considered to be a single argument, even
       if it contains space characters. Within a quoted string, the  usual  C-
       style backslash substitutions can be used.

       Commands	 can  be  specified  by giving the first few characters of the
       command name, provided that the prefix is  unambiguous.	Some  commands
       support	automatic  repeat.  For	 these commands, pressing enter at the
       reader prompt without typing anything will cause repeat execution.

       ! [command [args ...]]
	      Invoke an interactive operating system shell. If	any  arguments
	      are  specified,  the first one is taken as a command to execute,
	      with the rest of the arguments as the arguments to the command.

	      This command is not yet available on non-POSIX systems.

       = expression
	      Evaluate an address expression and show both its value, and  the
	      result  when  the	 value	is looked up in reverse in the current
	      symbol table. This result is of the  form	 symbol+offset,	 where
	      symbol is the name of the nearest symbol not past the address in
	      question.

	      See the section marked ADDRESS EXPRESSIONS for more  information
	      on the syntax of expressions.

       alias  Show a list of defined command aliases.

       alias name
	      Remove a previously defined command alias.

       alias name command
	      Define a command alias. The text command will be substituted for
	      name when looking up commands. The given command text  may  con‐
	      tain  a command plus arguments, if the entire text is wrapped in
	      quotes when defining the alias. To avoid alias substitution when
	      interpreting  commands,  prefix  the command with \ (a backslash
	      character).

       blow_jtag_fuse
	      Blow the device's JTAG fuse.

	      WARNING: this is an irreversible operation!

       break  Show a list of active breakpoints. Breakpoints can be added  and
	      removed with the setbreak and delbreak commands. Each breakpoint
	      is numbered with an integer index starting at 0.

       cgraph address length [address]
	      Construct the call graph of all functions	 contained  or	refer‐
	      enced  in the given range of memory. If a particular function is
	      specified, then details for that node  of	 the  graph  are  dis‐
	      played. Otherwise, a summary of all nodes is displayed.

	      Information  from	 the  symbol  table is used for hinting at the
	      possible locations of function starts. Any symbol which does not
	      contain a "."  is considered a possible function start.

	      Callers  and  callee names are shown prefixed by a "*" where the
	      transition is a tail-call type transition.

       delbreak [index]
	      Delete one or  all  breakpoints.	If  an	index  is  given,  the
	      selected	breakpoint  is deleted. Otherwise, all breakpoints are
	      cleared.

       dis address [length]
	      Dissassemble a section of memory. Both arguments may be  address
	      expressions. If no length is specified, a section of the default
	      length (64 bytes) is disassembled and shown.

	      If symbols are available, then all addresses  used  as  operands
	      are translated into symbol+offset form.

	      This  command supports repeat execution. If repeated, it contin‐
	      ues to disassemble another block of memory following  that  last
	      printed.

       erase [all|segment|segrange] [address] [size] [segrange]
	      Erase  the device under test. With no arguments, all code memory
	      is erased (but not information or boot memory). With  the	 argu‐
	      ment "all", a mass erase is performed (the results may depend on
	      the state of the LOCKA bit in the flash memory controller).

	      Specify "segment" and a memory address to	 erase	an  individual
	      flash  segment. Specify "segrange", an address, size and segment
	      size to erase an arbitrary set of contiguous segments.

       exit   Exit from MSPDebug.

       fill address length b0 [b1 b2 ...]
	      Fill the memory region of size length starting at	 address  with
	      the  pattern of bytes given (specified in hexadecimal). The pat‐
	      tern will be repeated without padding as many times as necessary
	      without exceeding the bounds of the specified region.

       gdb [port]
	      Start  a	GDB  remote  stub, optionally specifying a TCP port to
	      listen on.  If no port is given, the default port is  controlled
	      by the option gdb_default_port.

	      MSPDebug	will  wait for a connection on this port, and then act
	      as a GDB remote stub until GDB disconnects.

	      GDB's "monitor" command can be used to issue  MSPDebug  commands
	      via the GDB interface. Supplied commands are executed non-inter‐
	      actively, and the output is sent back to be displayed in GDB.

       help [command]
	      Show a brief listing of available commands. If  an  argument  is
	      specified,  show the syntax for the given command. The help text
	      shown when no argument is given  is  also	 shown	when  MSPDebug
	      starts up.

       hexout address length filename
	      Read  the	 specified section of the device memory and save it to
	      an Intel HEX file. The address and length arguments may both  be
	      address expressions.

	      If  the specified file already exists, then it will be overwrit‐
	      ten. If you need to dump memory  from  several  disjoint	memory
	      regions,	you  can  do this by saving each section to a separate
	      file. The resulting files can then be concatenated  together  to
	      form a single valid HEX file.

       isearch address length [options ...]
	      Search over the given range for an instruction which matches the
	      specified search criteria. The search may be narrowed by	speci‐
	      fying one or more of the following terms:

	      opcode opcode
		     Match  the specified opcode. Byte/word specifiers are not
		     recognised, as they are specified with other options.

	      byte   Match only byte operations.

	      word   Match only word operations.

	      aword  Match only address-word (20-bit) operations.

	      jump   Match only jump instructions  (conditional	 and  uncondi‐
		     tional  jumps, but not instructions such as BR which load
		     the program counter explicitly).

	      single Match only single-operand instructions.

	      double Match only double-operand instructions.

	      noarg  Match only instructions with no arguments.

	      src address
		     Match instructions with the specified value in the source
		     operand. The value may be given as an address expression.
		     Specifying this option implies matching of	 only  double-
		     operand instructions.

	      dst address
		     Match instructions with the specified value in the desti‐
		     nation operand.  This  option  implies  that  no-argument
		     instructions are not matched.

	      srcreg register
		     Match  instructions  using	 the specified register in the
		     source operand. This option implies matching of only dou‐
		     ble-operand instructions.

	      dstreg register
		     Match  instructions  using	 the specified register in the
		     destination operand.  This option implies	that  no-argu‐
		     ment instructions are not matched.

	      srcmode mode
		     Match instructions using the specified mode in the source
		     operand. See below for a list of modes  recognised.  This
		     option  implies  matching of only double-operand instruc‐
		     tions.

	      dstmode mode
		     Match instructions using the specified mode in the desti‐
		     nation  operand.  See  below  for	a  list of modes. This
		     option implies  that  no-argument	instructions  are  not
		     matched.

	      For single-operand instructions, the operand is considered to be
	      the destination operand.

	      The seven addressing modes used by the MSP430 are represented by
	      single characters, and are listed here:

	      R	     Register mode.

	      I	     Indexed mode.

	      S	     Symbolic mode.

	      &	     Absolute mode.

	      @	     Register-indirect mode.

	      +	     Register-indirect mode with auto-increment.

	      #	     Immediate mode.

       load filename
	      Program  the  device  under test using the binary file supplied.
	      This command is like prog, but it does not load symbols or erase
	      the device before programming.

	      The CPU is reset and halted before and after programming.

       load_raw filename address
	      Write  the data contained in a raw binary file to the given mem‐
	      ory address.

	      The CPU is reset and halted before and after programming.

       md address [length]
	      Read the specified section of device memory and display it as  a
	      canonical-style  hexdump.	 Both arguments may be address expres‐
	      sions. If no length is  specified,  a  section  of  the  default
	      length (64 bytes) is shown.

	      The  output  is split into three columns. The first column shows
	      the starting address for the line. The second column  lists  the
	      hexadecimal  values  of  the  bytes.  The final column shows the
	      ASCII characters corresponding to printable  bytes,  and	.  for
	      non-printing characters.

	      This  command supports repeat execution. If repeated, it contin‐
	      ues to  print  another  block  of	 memory	 following  that  last
	      printed.

       mw address bytes ...
	      Write  a	sequence  of  bytes  at	 the given memory address. The
	      address given may be an address  expression.  Bytes  values  are
	      two-digit hexadecimal numbers separated by spaces.

       opt [name] [value]
	      Query, set or list option variables. MSPDebug's behaviour can be
	      configured using option variables, described below in  the  sec‐
	      tion OPTIONS.

	      Option  variables	 may  be  of  three types: boolean, numeric or
	      text. Numeric values may be specified as address expressions.

	      With no arguments, this command displays	all  available	option
	      variables.   With	 just  an option name as its argument, it dis‐
	      plays the current value of that option.

       power info
	      Show basic power statistics gathered over the last few sessions.
	      This  includes  total  charge  consumption, run time and average
	      current.

       power clear
	      Clear all recorded power statistics.

       power all [granularity]
	      Show sample data gathered over all sessions. An optional	granu‐
	      larity  can  be specified, in microseconds. For each time slice,
	      relative session time, charge consumption,  current  consumption
	      and approximate code location are shown.

       power session N [granularity]
	      Same  as	power  all, except that data is shown only for the Nth
	      session.

       power export-csv N filename
	      Export raw sample data for the Nth session to the given file  in
	      CSV  format.  For each line, the columns are, in order: relative
	      time in microseconds, current consumption in  microamps,	memory
	      address.

       power profile
	      If  a symbol table is loaded, compile and correlate all gathered
	      power data against the symbol table.  A  single  table  is  then
	      shown  listing,  per  function, charge consumption, run time and
	      average current. The functions are listed	 in  order  of	charge
	      consumption (biggest consumers first).

       prog filename
	      Erase  and reprogram the device under test using the binary file
	      supplied. The file format will be auto-detected and may  be  any
	      of the supported file formats.

	      In  the case of a file containing symbols, symbols will be auto‐
	      matically loaded from the file into the symbol table (discarding
	      any existing symbols), if they are present.

	      The CPU is reset and halted before and after programming.

       read filename
	      Read commands from the given file, line by line and process each
	      one.  Any	 lines	whose  first  non-space	 character  is	#  are
	      ignored. If an error occurs while processing a command, the rest
	      of the file is not processed.

       regs   Show the current value of all CPU registers in the device	 under
	      test.

       reset  Reset (and halt) the CPU of the device under test.

       run    Start running the CPU. The interactive command prompt is blocked
	      when the CPU is started and the prompt  will  not	 appear	 again
	      until the CPU halts. The CPU will halt if it encounters a break‐
	      point, or if Ctrl-C is pressed by the user.

	      After the CPU halts, the current register values	are  shown  as
	      well  as	a  disassembly	of  the	 first few instructions at the
	      address selected by the program counter.

       save_raw address length filename
	      Save a region of memory to a raw binary file.  The  address  and
	      length arguments may both be address expressions.

	      If  the specified file already exists, then it will be overwrit‐
	      ten.

       set register value
	      Alter the value of a register. Registers are specified  as  num‐
	      bers  from  0 through 15. Any leading non-numeric characters are
	      ignored (so a register may be specified as, for example, "R12").
	      The value argument is an address expression.

       setbreak address [index]
	      Add  a  new  breakpoint.	The  breakpoint location is an address
	      expression. An optional index may be specified, indicating  that
	      this  new	 breakpoint  should  overwrite an existing slot. If no
	      index is specified, then the breakpoint will be  stored  in  the
	      next unused slot.

       setwatch address [index]
	      Add  a  new  watchpoint.	The  watchpoint location is an address
	      expression, and an optional index may be specified.  Watchpoints
	      are  considered  to be a type of breakpoint and can be inspected
	      or removed using the break and delbreak commands. Note that  not
	      all drivers support watchpoints.

       setwatch_r address [index]
	      Add a watchpoint which is triggered only on read access.

       setwatch_w address [index]
	      Add a watchpoint which is triggered only on write access.

       simio add class name [args ...]
	      Add  a  new  peripheral to the IO simulator. The class parameter
	      may be any of the peripheral types named in the  output  of  the
	      simio  classes  command.	The  name  parameter  is a unique name
	      assigned by the user to this peripheral instance,	 and  is  used
	      with other commands to refer to this instance of the peripheral.

	      Some  peripheral classes take arguments upon creation. These are
	      documented in the output to the simio help command.

       simio classes
	      List the names of the different types of peripherals  which  may
	      be added to the simulator. You can use the simio help command to
	      obtain more information about each peripheral type.

       simio config name param [args ...]
	      Configure or perform some action on a peripheral	instance.  The
	      param  argument  is  specific  to the peripheral type. A list of
	      valid configuration commands can be obtained by using the	 simio
	      help command.

       simio del name
	      Remove a previously added peripheral instance. The name argument
	      should be the name of the peripheral that was assigned with  the
	      simio add command.

       simio devices
	      List  all peripheral instances currently attached to the simula‐
	      tor, along with their types and interrupt status. You can obtain
	      more  detailed information for each instance with the simio info
	      command.

       simio help class
	      Obtain more information about a peripheral class. The documenta‐
	      tion  given  will	 list  constructor arguments and configuration
	      parameters for the device type.

       simio info name
	      Display detailed status information for a particular peripheral.
	      The  type	 of  information displayed is specific to each type of
	      peripheral.

       step [count]
	      Step the CPU through one or more instructions.  After  stepping,
	      the  new register values are displayed, as well as a disassembly
	      of the instructions at  the  address  selected  by  the  program
	      counter.

	      An optional count can be specified to step multiple times. If no
	      argument is given, the CPU steps	once.  This  command  supports
	      repeat execution.

       sym clear
	      Clear the symbol table, deleting all symbols.

       sym set name value
	      Set  or  alter  the value of a symbol. The value given may be an
	      address expression.

       sym del name
	      Delete the given symbol from the symbol table.

       sym import filename
	      Load symbols from the specified file and add them to the	symbol
	      table.   The file format will be auto-detected and may be either
	      ELF32 or a  BSD-style  symbol  listing  (like  the  output  from
	      nm(1)).

	      Symbols  can  be combined from many sources, as the syms command
	      adds to the existing symbol table	 without  discarding  existing
	      symbols.

       sym import+ filename
	      This  command  is	 similar to sym import, except that the symbol
	      table is not cleared first. By using this command, symbols  from
	      multiple sources can be combined.

       sym export filename
	      Save  all	 symbols currently defined to the given file. The sym‐
	      bols are saved as a BSD-style symbol  table.  Note  that	symbol
	      types  are  not stored by MSPDebug, and all symbols are saved as
	      type t.

       sym find [regex]
	      Search for symbols. If a regular expression is given,  then  all
	      symbols matching the expression are printed. If no expression is
	      specified, then the entire symbol table is listed.

       sym rename regex string
	      Rename symbols by searching for those matching the given regular
	      expression  and  substituting  the  given string for the matched
	      portion. The symbols renamed are displayed, as well as  a	 total
	      count of all symbols renamed.

       verify filename
	      Compare  the  contents of the given binary file to the chip mem‐
	      ory. If any differences are found, a message is printed for  the
	      first mismatched byte.

       verify_raw filename address
	      Compare  the  contents of a raw binary file to the device memory
	      at the given address. If any differences are found, a message is
	      printed for the first mismatched byte.

BINARY FORMATS
       The following binary/symbol formats are supported by MSPDebug:

	      ELF32
	      COFF
	      Intel HEX (program only)
	      BSD symbol table (symbols only)
	      TI Text (program only)
	      SREC (program only)

IO SIMULATOR
       The  IO	simulator  subsystem consists of a database of device classes,
       and a list of instances of those classes. Each device class has a  dif‐
       ferent  set  of	constructor  arguments,	 configuration	parameters and
       information which may be displayed. This section describes  the	opera‐
       tion of the available device classes in detail.

       In  the	list  below, each device class is listed, followed by its con‐
       structor arguments.

       gpio   Digital IO port simulator. This device simulates any of the dig‐
	      ital ports with or without interrupt capability. It has the fol‐
	      lowing configuration parameters:

	      base address
		     Set the base address for this port. Note that  for	 ports
		     without  interrupt	 capability,  the resistor enable port
		     has a special address which is computable from  the  base
		     address.

	      irq vector
		     Enable  interrupt functionality for this port by specify‐
		     ing an interrupt vector number.

	      noirq  Disable interrupt functionality for this port.

	      verbose
		     Print a state change message every time the  port	output
		     changes.

	      quiet  Don't  print  anything  when  the port state changes (the
		     default).

	      set pin value
		     Set the input pin state for the given pin on  this	 port.
		     The pin parameter should be an index between 0 and 7. The
		     value should be either zero (for a low state) or non-zero
		     (for a high state).

       hwmult This  peripheral	simulates  the	hardware multiplier. It has no
	      constructor or configuration parameters, and  does  not  provide
	      any extended information.

       timer [size]
	      This  peripheral	simulators Timer_A modules, and can be used to
	      simulate Timer_B modules, provided that  the  extended  features
	      aren't required.

	      The  constructor	takes a size argument specifying the number of
	      capture/compare registers in this peripheral instance. The  num‐
	      ber of such registers may not be less than 2, or greater than 7.

	      The  IO addresses and IRQs used are configurable. The default IO
	      addresses used are those specified for  Timer_A  in  the	MSP430
	      hardware documentation.

	      base address
		     Alter the base IO address. By default, this is 0x0160. By
		     setting this to 0x0180, a Timer_B	module	may  be	 simu‐
		     lated.

	      irq0 number
		     Set  the TACCR0 interrupt vector number. By default, this
		     is interrupt vector 9.  This interrupt is	self-clearing,
		     and higher priority than the TACCR1/TAIFG vector.

	      irq1 number
		     Set  the  TACCR1/TAIFG interrupt vector. By default, this
		     is interrupt vector 8.

	      iv address
		     Alter the address of the interrupt	 vector	 register.  By
		     default,  this  is	 0x012E.  By setting this to 0x011E, a
		     Timer_B module may be simulated.

	      set channel value
		     When Timer_A is used in capture mode, the CCI bit in each
		     capture  register reflects the state of the corresponding
		     input pin, and can't be altered in software. This config‐
		     uration  command can be used to simulate changes in input
		     pin state, and will trigger the corresponding  interrupts
		     if the peripheral is so configured.

       tracer [history-size]
	      The  tracer  peripheral is a debugging device. It can be used to
	      investigate and record the IO activity of a running program,  to
	      benchmark execution time, and to simulate interrupts.

	      The information displayed by the tracer gives a running count of
	      clock cycles from each of the system clocks, and an  instruction
	      count.  A	 list of the N most recent IO events is also displayed
	      (this is configurable via the history-size argument of the  con‐
	      structor).  Each	IO  event is timestamped by the number of MCLK
	      cycles that have elapsed since the last reset  of	 the  device's
	      counter.

	      The IO events that it records consist of programmed IO reads and
	      writes, interrupt acceptance, and	 system	 resets.  As  well  as
	      keeping  the  IO	events in a rotating buffer, the tracer can be
	      configured to display the events as they occur.

	      Note that since clock cycles don't advance while the  CPU	 isn't
	      running,	this  peripheral  can  be  used to calculate execution
	      times for blocks of code. This can  be  achieved	by  setting  a
	      breakpoint  at  the  end	of the code block, setting the program
	      counter to the start of the code block, clearing the tracer  and
	      running  the code. After the breakpoint is reached, the informa‐
	      tion displayed by the tracer will contain a count of MCLK cycles
	      elapsed during the last run.

	      The configuration parameters for this device class are:

	      verbose
		     Start  displaying	IO  events  as	they occur, as well as
		     recording them in the rotating buffer.

	      quiet  Stop displaying IO events as they occur, and just	record
		     them in the buffer.

	      trigger irq
		     Signal an interrupt request to the CPU. This request will
		     remain raised until accepted by the CPU or cleared by the
		     user.

	      untrigger
		     Clear a signalled interrupt request.

	      clear  Reset  the	 clock	cycle and instruction counts to 0, and
		     clear the IO event history.

       wdt    This peripheral simulates the Watchdog Timer+, which can be used
	      in software either as a watchdog or as an interval timer. It has
	      no constructor arguments.

	      The simulated state  of  the  NMI/RST#  pin  can	be  controlled
	      through  a  configuration parameter. Note that if this pin state
	      is held low with the pin mode selected as a reset (the default),
	      the CPU will not run.

	      The  extended information for this peripheral shows all register
	      states, including the  hidden  counter  register.	 Configuration
	      parameters are:

	      nmi state
		     Set  the  NMI/RST# pin state. The argument should be zero
		     to indicate a low state or non-zero for a high state.

	      irq irq
		     Select the interrupt vector for interval timer mode.  The
		     default is to use interrupt vector 10.

ADDRESS EXPRESSIONS
       Any command which accepts a memory address, length or register value as
       an argument may be given an address expression. An  address  expression
       consists of an algebraic combination of values.

       An address value may be either a symbol name, a hex value preceded with
       the specifier "0x", a decimal value preceded with the  specifier	 "0d",
       or  a  number in the default input radix (without a specifier). See the
       option iradix for more information.

       The operators recognised are the usual algebraic operators: +, -, *, /,
       %, ( and ). Operator precedence is the same as in C-like languages, and
       the - operator may be used as a unary negation operator.

       The following are all valid examples of address expressions:

       2+2
       table_start + (elem_size + elem_pad)*4
       main+0x3f
       __bss_end-__bss_start

OPTIONS
       MSPDebug's behaviour can be configured via the following variables:

       color (boolean)
	      If true, MSPDebug will colorize debugging output.

       fet_block_size (numeric)
	      Change the size of the buffer used to  transfer  memory  to  and
	      from  the	 FET. Increasing the value from the default of 64 will
	      improve transfer speed, but may cause problems with some chips.

       enable_bsl_access (boolean)
	      If set, some drivers will allow erase/program  access  to	 flash
	      BSL memory. If in doubt, do not enable this.

       enable_locked_flash_access (boolean)
	      If set, some drivers will allow erase/program access to the info
	      A segment. If in doubt, do not enable this. Currently, the tilib
	      and uif drivers are affected by this option.

       enable_fuse_blow
	      If  set,	some  drivers  will allow the JTAG security fuse to be
	      blown.

	      WARNING: this is an irreversible operation!

	      If in doubt, do not enable this option.

       gdb_default_port (numeric)
	      This option controls the default TCP port for the GDB server, if
	      no argument is given to the "gdb" command.

       gdb_loop (boolean)
	      Automatically  restart  the  GDB	server after disconnection. If
	      this option is set, then the GDB server keeps running  until  an
	      error occurs, or the user interrupts with Ctrl+C.

       gdbc_xfer_size (numeric)
	      Maximum  size of memory transfers for the GDB client. Increasing
	      this value will result in faster transfers, but may cause	 prob‐
	      lems with some servers.

       iradix (numeric)
	      Default  input radix for address expressions. For address values
	      with no radix specifier, this value gives the input radix, which
	      is 10 (decimal) by default.

       quiet (boolean)
	      If  set, MSPDebug will supress most of its debug-related output.
	      This option defaults to false, but can be set true  on  start-up
	      using the -q command-line option.

ENVIRONMENT
       MSPDEBUG_TI3410_FW
	      Specifies the location of TI3410 firmware, for raw USB access to
	      FET430UIF or eZ430 devices. This	variable  should  contain  the
	      path  to	an Intel HEX file containing suitable firmware for the
	      TI3410.

FILES
       ~/.mspdebug
	      File containing commands to be executed on startup.

       ti_3410.fw.ihex
	      Firmware image for the TI3410 USB interface chip. This  file  is
	      only required for raw USB access to FET430UIF or eZ430 devices.

SEE ALSO
       nm(1), gdb(1), objcopy(1)

BUGS
       If  you	find  any  bugs,  you  should  report  them  to	 the author at
       dlbeer@gmail.com. It would help if you could include a transcript of an
       MSPDebug	 session  illustrating	the  program,  as well as any relevant
       binaries or other files.

COPYRIGHT
       Copyright (C) 2009-2013 Daniel Beer <dlbeer@gmail.com>

       MSPDebug is free software, distributed under the terms of the GNU  Gen‐
       eral Public license (version 2 or later). See the file COPYING included
       with the source code for more details.

Version 0.23			  2 Mar 2015			   mspdebug(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net