D/FW

Debug Firmware for MSP-FET430UIF/eZ430U

->Japanese

Introduction

D/FW is an open source, experimental, and unofficial firmware for MSP-FET430UIF and eZ430U debug interface and associated host side control programs. Host side programs are designed to work with any modern UNIX operating systems (e.g. Linux, *BSD).

Two firmwares included in the distribution.

News

5/7/2010(Version 0.19):
DFW for MSP430F2274 (RF2500T).
5/3/2010(Version 0.18):
A new firmware (PTFW) is added. This is a dedicated (no debug) serial port pass through firmware for eZ430u.
5/1/2010(Version 0.17):
It has been reported that dfw-0.17.tgz works on Linux as well.
Please README as well.

Combinations known to work

Host

For hosts with big endian CPU, host side programs need a few changes.

FET

Target

FETDeviceTAPTarget BoardComments(test by)
FETUIFF169JTAGMSP-TS430PM64 
FETUIFF2274JTAGMSP-TS430DA38 
FETUIFF2274SBW MSP-TS430DA38 
FETUIFF2274SBW eZ430-RF2500T  
FETUIFF1612JTAGeZ430U(Rev2.0)Soldered TP7..TP1
FETUIFF2618CPUXV1/JTAGMSP-TS430PM64 
FETUIFF5529CPUXV2/JTAG MSP-TS430PN80USB  
FETUIFF5529CPUXV2/SBW MSP-TS430PN80USB  
FETUIFF6137CPUXV2/SBW eZ430-Chronos  
eZ430U F2012SBW eZ430-T2012  
eZ430U F2274SBW eZ430-RF2500T  
eZ430UF6137CPUXV2/SBW eZ430-Chronos  
F2274F1612JTAGeZ430U(Rev2.0)F2274@R2500T
F2274F2274SBWeZ430-RF2500TF2274@R2500T
FETUIFCC2511CC8051 CC2511DK_Dongle Chipcon RF

F2274/DFW can handle everything FET430UIF/DFW can, while eZ430U/DFW can only do SBW. To use F2274/DFW, you need 3V serial interface to connect host computer. You can use eZ430/PTFW for this purpose.

Demo

Requirements

Preparation

MSP-FET430UIF

  • JTAG connector for FET430UIF.
  • VCCT(pin 7 of J6) is not connected for Rev1.3.
  • Open FET430UIF's enclosure
  • and plug this header to J6.

eZ430U

MSP430F2274(RF2500T)

  • Attach JTAG connector and a jumper for SBW.
  • Pin assignments is in dfw/conf/f2274/uif_f2274.c.
  • See Step5 of this page.

Host command usage examples

dmwt : Dfw Memory WriTer

dmwt command will program target cpu via JTAG/SBW (or CC8051). This is also used to update FET's firmware.

Usage: dmwt [-vdf] [-p /dev/cu.usbmodemXXX] [-c TARGET_OPTIONS] 
            [-b name.txt from-addr] [object]

  ``object'' can be in either ELF, Intel HEX, or TITXT format.

  /dev/cu.usbmodemXXX might be /dev/ttyACMXXX or /dev/ttyXXX 

   $ dmwt                               # will print help message
   $ dmwt -f dfw.fetuif.elf             # update firmware
   $ dmwt -c TARGET_OPTIONS a.out
   $ dmwt -p /dev/cu.usbmodem001 -c "SBW" a.out
   $ dmwt -vc "SBW" a.out               # verbose mode

   $ dmwt -c ""  a.out                  # program a.out with JTAG.
   $ dmwt -c "SBW"  a.out               # program a.out with SBW.
   $ dmwt -c "VCC 3000 UNLOCKA" a.out   # sets VCC 3.0V, unlock INFO_A
   $ dmwt -c "CPUXV1" a.out                   
   $ dmwt -c "CPUXV2" a.out                   
   $ dmwt -c "CC8051" main.hex
examples/*/Makefile has more examples.

gdbproxy

$ msp430-gdbproxy --help uifdfw
$ msp430-gdbproxy --port=2000 uifdfw --c TARGET_OPTIONS
$ msp430-gdbproxy --port=2000 uifdfw --c "CPUXV2" --debug

$ msp430-gdbproxy --port=2000 uifdfw --c "SBW"         # msp430/SBW
$ msp430-gdbproxy --port=2000 uifdfw --c "CPUXV1"      # CPUXV1/JTAG
$ msp430-gdbproxy --port=2000 uifdfw --c "CPUXV2 SBW"  # CPUXV2/SBW
.gdbinit
set remoteaddresssize 64
set remotetimeout 999999
target remote localhost:2000

define reload
  monitor erase
  monitor flash
  load
  monitor memory
  set $pc = *0xfffe
end

TARGET_OPTIONS

TARGET_OPTIONS are common among dfw tools which specifies target cpu's character.
   MSP430    : (default) msp430x1xx, msp430x2xx, msp430x4xx
   CPUXV1    :           msp430x2xx, msp430x4xx with CPUX
   CPUXV2    :           msp430x5xx, cc430x6xx 
   CC8051    :           cc111x, cc251x, etc.  

   VCC xxxx  : sets VCC to XXXX mV (e.g., VCC 3300), FET430UIF only.

   JTAG      : (default)
   SBW       :          

   FastFlash : (default)
   SlowFlash :   for relatively old devices without FastFlash feature
   LOCKA     : (default) locks INFO_A memory
   UNLOCKA   :           unlocks INFO_A memory

   FCTL addr : sets FCTL base address for CPUXV2 target.

   FWS  n    : sets flash word size for CC8051 target.
See cmd.c and target_*.c for details.

bufet : make backup files for target FET

This will make backup files for both EEPROM and FLASH of FET430UIF/eZ430U.
Usage: bufet [-vd] [-p /dev/cu.usbmodemXXX] [-c TARGET_OPTIONS] 
             [fet_eeprom.txt fet_flash.txt]
To make backup file: Then type,
$ ./bufet
or
$ mkdir FET_backup
$ cd FET_backup
$ ../bufet
bufet will create fet_eeprom.txt and fet_flash.txt in the current directory. Those files are in TITXT format. After making backup files, you might want to compress these files using titxt_compress command to save disk space and restore time.

To restore from backup file,

$ ../bufet fet_eeprom.txt fet_flash.txt
Note that reading/writing eeprom is very slow.

Source code

skimu@mac.com