STM32/ARM Programming Tools
MSP430 Programming Tools
This item has been discontinued and may no longer be ordered.
Click on the picture to enlarge.
Our $149 REP430 MSP430 Replicator allows you to quickly program flash MSPs in a production environment.
- Implements the TI replicator appnote SLAA149
- One-button operation
- Program up to 56k of target code
- Once configured, can operate untethered
- We do not recommend using our tools for MSP430X devices
- We do not support the MSP430F5xx devices in any capacity.
back to top
- Get the FETP for parallel port JTAG development.
- Get the USBP for USB port JTAG development.
- Get the ISOFETP for parallel port JTAG programming with 1000v isolation for power-mains projects.
- Get the SB6V for 6v DC lab power use.
- Use with our PA430QFN24 to program the 24-pin QFN (RGE) packages.
- Use with our PA430QFN32 to program the 32-pin QFN (RHB) packages.
- Use with our PA430PW20 to program the 20-pin TSSOP (PW) packages.
- Use with our PA430DW20 to program the 20-pin SOIC (DW) packages.
- Interface the REP430 to SpyBiWire devices with our PASBW.
REP430A Hole Locations
REP430 Process (PDF)
REP430A Schematic (PDF)
back to top
Q1: The buzz is that there is a new REP430A on the street. What changed?
A1: Here at SoftBaugh, when we improve things they actually get better! So, the new REP430A adds:
- Input VCC diode on HOST.2 to avoid frying the JTAG signals if power isn't applied to the replicator before connecting the programming adapter.
- LEDs and GO are brought to a header, along with a UART and VCC/VPP.
- VPP has a jumper to prevent accidental lab fuse blows.
- Port2 is brought to a header.
- Plus a secret-squirrel feature to be announced later. Get your REP430A today and be the first on your block to know when it is announced!
- Firmware compatible with the original TI replicator design.
Q2: What input voltage does the REP430A require?
A2: VIN can be between 6.5v and 9.0v. WARNING! If you use a 9V DC wall adapter,
the open circuit voltage will be about 13 volts. A 6vDC, 200mA wall wart usually works fine, or
buy our SB6V.
Q3: Can I use my FET pod or your FETP to program my REP430?
A3: Absolutely. Make sure that the REP430 is powered before connecting the FET pod or the FETP. Failure
to do so can cause damage to the FET pod, the FETP, or the REP430, depending on the condition of the LPT pins. Not an issue with the REP430A, see above.
Q4: Sometimes I get a fuse-blown error when using the PRGS430 to program the REP430. What can I do?
A4: Under some circumstances, the REP430 needs a hardware reset from the PRGS430. The REP430 has pads
for a zero-ohm resistor on R15 near the F149. If you are experiencing this problem, populate this location
with a zero-ohm resistor, or short it. Newer REP430s are being released with this resistor installed.
Q5: How do I use the REP430?
A5: The TI appnote SLAA149 regarding the replicator contains detailed instructions for how to use the REP430. Don't miss the excitement on page 34!
Q6: How do I selectively erase memory segments?
A6: The replicator firmware provides three erase methods, all of which use the function EraseFlash:
|EraseFlash( ERASE_MASS, 0x1000 )
||Erases main and information flash
|EraseFlash( ERASE_MAIN, 0x1000 )
||Erases main flash only
|EraseFlash( ERASE_SGMT, addr )
||Erases flash segment containing address addr
Q7: How do I selectively check erasure of memory segments?
A7: The replicator firmware provides the EraseCheck function, which can check erasure of any memory block.
Note: The second parameter is the number of WORDs to be checked, not bytes.
Use the following table for a main erase check of the appropriate flash MSP430:
|F110||EraseCheck( 0xFC00, 0x0200 )|
|F1101||EraseCheck( 0xFC00, 0x0200 )|
|F1111||EraseCheck( 0xF800, 0x0400 )|
|F112||EraseCheck( 0xF000, 0x0800 )|
|F1121||EraseCheck( 0xF000, 0x0800 )|
|F1122||EraseCheck( 0xF000, 0x0800 )|
|F1132||EraseCheck( 0xE000, 0x1000 )|
|F122||EraseCheck( 0xF000, 0x0800 )|
|F1222||EraseCheck( 0xF000, 0x0800 )|
|F123||EraseCheck( 0xE000, 0x1000 )|
|F1232||EraseCheck( 0xE000, 0x1000 )|
|F133||EraseCheck( 0xE000, 0x1000 )|
|F135||EraseCheck( 0xC000, 0x2000 )|
|F147||EraseCheck( 0x8000, 0x4000 )|
|F148||EraseCheck( 0x4000, 0x6000 )|
|F149||EraseCheck( 0x1100, 0x7780 )|
|F412||EraseCheck( 0xF000, 0x0800 )|
|F413||EraseCheck( 0xE000, 0x1000 )|
|F435||EraseCheck( 0xC000, 0x2000 )|
|F436||EraseCheck( 0xA000, 0x3000 )|
|F437||EraseCheck( 0x8000, 0x4000 )|
|F447||EraseCheck( 0x8000, 0x4000 )|
|F448||EraseCheck( 0x4000, 0x6000 )|
|F449||EraseCheck( 0x1100, 0x7780 )|
Q8: When using IAR and the FET pod, what do I do about the following warnings?
Download completed, 3962 bytes loaded
Warning: Exit label missing
Warning: No break on program exit
A8: These warnings are of no consequence and can be ignored. Your REP430 will still work fine.
Q9: Why doesn't the REP430 route TCLK to XOUT?
A9: With the newer flash parts, it is no longer necessary to route TCLK to XOUT. TCLK is implemented on TDI instead.
Q10: I don't want the REP430 to power my target. Are there any special precautions I should take?
A10: Yes! The sequencing of power and control between the REP430 and a self-powered target is very important to avoid damage to the REP430 or the target board's JTAG pins. The recommended sequence follows, and assumes that the programming fixture can isolate the REP430's JTAG signals (with relays for example):
1) With the REP430's JTAG signals isolated from the target, ensure the REP430's power supply is plugged in.
2) Hold the REP430 GO/RST line low.
3) Apply power to the target.
4) Connect the JTAG signals between the REP430 and the target.
5) Release the GO/RST line to allow a programming sequence.
6) Read the status LEDs.
7) Isolate the JTAG signals.
8) Power down and remove the target.
Repeat steps 2 through 8 for additional targets.
Q11: I just received a batch of F135s with a "Rev O" on them, and alas, the REP430 no longer works on my board about 2% of the time. What to do?
A11: Change the SPI_DIV in LowLevelFunc.h to 3 or 4 instead of 2. This will slow it down and let the "Rev O" parts work.
Q12: What specifically must I do to blow the fuse on my target chip?
A12: To blow the fuse with the REP430 you must do two things:
a) Connect the VPP jumper on the REP430 to allow fuse blow voltage to reach the target chip, and
b) Uncomment the following two lines of code in replicator.c in the replicator project:
//if (!BlowFuse()) // Blow security fuse
// ShowStatus(STATUS_ERROR, 15); // ***Be careful with this function!***
Q13: The REP430 update for SpyBiWire has three replicator projects in it. Which one should I use?
A13: The three projects are to support different MSP430 subfamilies:
Replicator Project & Sources: All MSP430s except SpyBiWire and MSP430X.
Replicator Project & Sources for SpyBiWire: MSP430s with the SpyBiWire interface, such as the F2013.
Replicator Project & Sources for MSP430X: MSP430Xs, such as the FG4619.
Q14: I generated my .txt file from Code Composer Essentials. When I run FileMaker.exe, why do I get the error Runtime error 9: Sub-script out of range?
A14: Code Composer Essentials generates the .txt file with lower-case hexadecimal addresses. However, the current version of FileMaker.exe that TI is distributing with the REP430 code does not recognize lower-case addresses. Make sure the first character of each address in the file is uppercase. Ex: change @fffe to @Fffe or @FFFE.
Q15: I looked through some documentation and found that updating a REP430 is a process that I would not want to put in the hands of my CM. Can we not program a replicator with a USB
I am hoping that it would be easy to start with firmware in a hex format and use a USB programmer to program the replicators. Our situation is that our firmware design is local and we will be producing products in China. We would like to equip our contract manufacturer with something like 5 replicators and to be able to e-mail them firmware updates as necessary.
A15: A similar thing can be done with the REP430 to get the same result.
The end product of the process above that you looked at is a replicator programmed with a blend of replicator code and target code. One step prior to this end result is a replicator project that contains this blend. This would otherwise be programmed directly onto the replicator from the IDE.
However, by changing the linker output format settings you can cause the IDE to emit this blend as a TI .txt file.
Our USBP can program a .txt or .hex file directly to a target from our PrgUSBP utility. We offer a free version of this utility (PrgUSBP Lite) which can easily program this .txt into your replicators. You can give your CM the REP430s and a USBP and a PrgUSBP .usbprj project file which references YourBlend.txt. Then, all they have to do is overwrite the YourBlend.txt on their PC with the updated version of the blend, open the PrgUSBP utility, open the YourProject.usbprj project file, and hit Execute.
The REP430s will be updated on their end, with all the setup done on your end.
Q16: What MSP430 families do you recommend for use with the REP430?
A16: We prefer that these tools be used with the F1xx and non-MSP430X F2xx/F4xx parts.
Q17: When will you add support for the forthcoming MSP430F5xx family?
A17: We have no current plans to support the MSP430F5xx family in any capacity.
Q18: I'm using a newer MSP430 that has the option of 4-wire mode and SBW mode. 4-wire mode doesn't seem to work. What might be wrong?
back to top
A18: On the dual interface parts, such as the F2274, the 4-wire mode needs to be activated with a reset sequence. So, install R16 on the REP430 to route that signal. Thanks to Andre Chouinard and Mark Jollymore of Amirix Systems for finding this solution!
As SoftBaugh continues efforts to increase features, along with ease of use, we find and consider
feedback and suggestions essential to creating a better product for the customer.
Please note that if your intent is to receive technical support, or you if have general questions regarding
this item, it is best to contact SoftBaugh directly, by phone or e-mail.
back to top
We will gladly accept returns on products as long as you notify us for an RMA number within 30-days and the items are
returned in a re-saleable condition. Non-defective returned products are subject to a 20% restocking fee. Items damaged
due to misuse are not returnable.
back to top