http://homepage.mac.com/skimu/fetuif-0.0.tgz
BOOT FET430UIF's TIUSB3410.
0. Files
boot3410.c : boot TIUSB3410 from USB port
boot430.c : boot MSP430
boot430.h
firm.flat : flat binary for TIUSB3410's firmware
hex.c : Intel hex utility
hex.h
titxt.c : TITEXT->Intel hex
libusbcom/ : Library for USB communication.
tusb3410/ : Sources for firm.flat
libfet430/ : Empty because this is using TI's IP.
main.c :
1. How to play with.
When you plug FET430UIF into your PC (w/o TI's VCP driver)
or Mac, it has only one bulk output port. Then it is the time for
you to load USB3410's firmware with this program.
This program will put firmware into the port according
to Section 11.7 of ``TUSB3410/I Data Manual'' (SLL519D).
If you successfully load firmare to USB3410, FET430UIF will
have both Bulk Input and Bulk output port. Basically you can
assume that these I/O port is MSP430's serial port.
(In another words, USB3410 is now transparent)
On MacOSX, just do,
$ make boot3410
$ ./boot3410
On other system (BSD or Linux)
1. Write code as needed in libusbcom/usbcom_libusb.c
2. What I can do after loading firmware?
You can either,
1. Get FET430UIF's source code from TI,
and write host program to deal with FETUIF.
2. Develop your own FET430UIF's firmware.
As far as circuit diagram from TI goes,
FET430UIF newer than Rev1.4 has ability to bootstrap
by USB3410 (i.e, host computer through USB).
Good thing for 1. is that you do not have to
modify anything on FET430UIF and let TI work
to improve firmware.
Bad thing for 1. is that your can not distribute
your program as free software (like me), even
binary form (violation of GPL).
Good thing for 2. is that you know everything
what's going on inside. Possibly you get much
better gdb interface. You can distribute in binary
form without violating GPL.
(if you link GPLed library such as BFD.)
Bad thing for 2. is your FET430UIF is no longer
work with TI's official environment. (you have to
write back TI's firmware.) There is a good chance
that you have to deal with each device/family's
quirky behavior.
References
SLAU138C
SLAA276
SLAA149A
SLLS519D
SLLC139.zip
--Awk script to split SLLC139.zip
BEGIN { file = "README.txt" }
/^File/ { file = $3; print file }
!/^File/ {print >> file}
--
7/1/2006
Shigenobu Kimura <[email protected]>