The Goodfet is a super versatile tool for debugging and programming.
Once you received your pcb from Trevor you practically only need two integrated circuits and few passives.
The FT232 ic is responsible for usb to serial communication and the MSP430F2618 is the "brain" of the tool.
When the build is completed, simply plug the Goodfet into a free usb port.
Open a console and enter dmesg to find out where the Goodfet is attached to.
> demesg
[ 4225.304042] usb 2-3: new full-speed USB device number 31 using ohci_hcd
[ 4225.610251] ftdi_sio 2-3:1.0: FTDI USB Serial Device converter detected
[ 4225.610327] usb 2-3: Detected FT232RL
[ 4225.610333] usb 2-3: Number of endpoints 2
[ 4225.610339] usb 2-3: Endpoint 1 MaxPacketSize 64
[ 4225.610344] usb 2-3: Endpoint 2 MaxPacketSize 64
[ 4225.610349] usb 2-3: Setting MaxPacketSize 64
[ 4225.623183] usb 2-3: FTDI USB Serial Device converter now attached to ttyUSB0
In this case it is ttyUSB0
Then edit your environment file and add the following lines:
> nano dev/environment
export board=goodfet42
export GOODFET=/dev/ttyUSB0
The next step is to save your info file (important!) because after programming it is
gone.
> board=goodfet42 goodfet.bsl --dumpinfo >info.txt
Use -h for help
Use --fromweb to upgrade a GoodFET.
MSP430 Bootstrap Loader Version: 1.39-goodfet-8
Invoking BSL...
Transmit default password ...
Current bootstrap loader version: 2.13 (Device ID: f26f)
This is what my info.txt file looks like
> nano info.txt
@1000
aa 55 ff 3f cd ab aa 55 34 12 ff ff aa 55 ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff 8b 86 fe 16 ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff 08 10 00 80 01 00 d0 81 ba 0b da 0d 04 82 05 07
4c 08 fe 08 ff ff ff ff ff ff ff ff 01 08 9a 8f a2 8e 95 8d d2 86
q
Next step program the newest firmware to the device
> board=goodfet42 goodfet.bsl --fromweb
Use -h for help
Use --fromweb to upgrade a GoodFET.
MSP430 Bootstrap Loader Version: 1.39-goodfet-8
Invoking BSL...
Transmit default password ...
Current bootstrap loader version: 2.13 (Device ID: f26f)
Checking for info flash... Saved!
Grabbing goodfet42 firmware from http://goodfet.sourceforge.net/dist/goodfet42.hex
Failed to run curl, trying wget
2013-08-01 09:46:07 URL:http://goodfet.sourceforge.net/dist/goodfet42.hex [55933/55933] -> "/tmp/.goodfet42.hex" [1]
Mass Erase...
Transmit default password ...
Invoking BSL...
Transmit default password ...
Current bootstrap loader version: 2.13 (Device ID: f26f)
Program ...
19870 bytes programmed.
Programming info flash...
I also programmed the install info created from the info file, tough I am nut sure this step
is necessary.
> board=goodfet42 make installinfo
goodfet.bsl --speed=38400 -P goodfet.hex -p info.txt || true #MSP430F2xx targets only, inelegant.
MSP430 Bootstrap Loader Version: 1.39-goodfet-8
Invoking BSL...
Transmit password ...
Current bootstrap loader version: 2.13 (Device ID: f26f)
Changing baudrate to 38400 ...
Program ...
256 bytes programmed.
Programming is now completed and you should now own a working Goodfet tool.
To be on the safe side lets invoke a self test.
>board=goodfet42 goodfet.monitor test
Performing monitor self-test.
Self-test complete.
Great a new working Goodfet tool is born.
To see what this tool is capable of lets enter
> board=goodfet42 goodfet.monitor listapps full
GoodFET with f26f MCU
Clocked at 0x8f9a
Build Date: 2013-01-23 16:28
Firmware apps:
Monitor
The monitor app handles basic operations on the MSP430
such as peeking and poking memory, calling functions and
managing the baud rate.
SPI
The SPI app handles the SPI bus protocol, turning
your GoodFET into a USB-to-SPI adapter.
MAXUSB
This allows you to write USB Host or USB Device drivers for
the MAX3421 and MAX3420 chips.
JTAG
The JTAG app handles basic JTAG operations such as
resetting the TAP, resetting the target, detecting
the instruction register width, shifting bits into
both the instruction and data registers.
JTAG430
The JTAG430 app adds to the basic JTAG app
support for JTAG'ing MSP430 devices.
JTAG430
The JTAG430 app adds to the basic JTAG app
support for JTAG'ing MSP430 devices.
JTAG430X2
The JTAG430X2 app extends the basic JTAG app with support
for 20-bit MSP430X2 devices, such as the MSP430F5xx Family.
JTAGARM7
The JTAGARM7 app extends the basic JTAG app with support
for JTAG'ing ARM7TDMI based devices.
OpenOCD
The OpenOCD app handles the OpenOCD bitbang protocol.
CHIPCON
The CHIPCON app adds support for debugging the chipcon
8051 processor.
AVR
The AVR app adds support for debugging AVR based devices.
NRF
The NRF app adds support for the NordicRF register
interface.
If that is not a powerful tool I don't know what is.
I will add some future blogs showing in detail how to use this swiss army knife of
programmers debuggers and tools.
|
Goodfet42 and Goodfet41 |
Links:
Goodfet42