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
No comments:
Post a Comment