Driver Suite for Linux
convert PayPal transactions to IIF, OFX, QIF
2out 2in EPP
for Linux and Windows
for 8 bits of sound
Linux drivers for MK3/4 PCI
C exception/signal handling lib
to various software
and small scripts
to lighting stuff
TI MSP430 NotesEvery platform beeing it hardware of software has some oddities you should be aware of for maximum coding pleasure. The advises below are based on our experience we gathered while making the DMX43 Project.
CPUIf you mov some byte values into a register the upper byte of the register will be cleared. This differs from x86 CPUs!. Example:
mov 0x1122, R15 mov.b 0xff, R15
OscilatorsThe MSP430 is very afraid of loosing external oscilator/clock sources. If anything suspicious happens with external clocks the MSP will fall back to its internal clock generators. Upon fall back an osc fail interrupt is triggered. This osc failure is so sensitive that it triggers if you apply an oscilloscope to the clock source and even if you touch the contacts with your finger!
If an osc fail interrupt is triggered you should simply reset the external clock source and the system. A nice solution is the following program layout:
; startup code startup: call #osc_setup ... ; subroutine to set up external clocks osc_setup: bis.b #XTS, &BCSCTL1 ; select XT1 ... ret ; interrupt routine for osc failure, flash violation and nmi osc_failure_interrupt: dint bit.b #OFIFG, &IFG1 jz next1 call #osc_setup jmp return next1: bit.b #NMIIE, &IFG1 jz next2 ... jmp return next2: bit.b #ACCVIE,&IFG1 jz return ... return: eint reti
BSL Bootstrap LoaderSome revisions of the MSP430 have bugs in their internal boot strap loader. BSL version < 1.10 have to be patched to provide write access to addresses > 0x8000. You have to apply this patch every time you issued a write operation into either the ram or flash area of the MSP or subsequent writes will fail.
GCC and binutils for MSP430. They also have a Python BSL.
ASL assembler a powerfull macro assembler for every important processor on earth.
bslsh BSL frontend for un*x OS.
MSP430F149 test board you could use, if you don't want to solder those little smd devices for yourself.