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
bslsh - MSP430 BSL frontend for Linux/Un*x
bslsh is a program to upload code and to inspect the system of MSP430 devices through the BSL interface. You can think of it as a primitive system monitor. bslsh currently features:
The initial public version 2.0 was released 2002-03-17.
To interface the MSP430 hardware you need to build a simple interface for
rs232 to 3.3V voltage conversion. This is a slightly modified version of the
official BSL interface from TI, specially designed for our bslsh program.
We have removed the power supply via PC-RS232 and added a power supply through
the BSL connector. Further we have modified the reset logic, so the MSP430
doesn't get the reset signal if the interface is disconnected from the RS232
Command line options:
--device <dev>|-d <dev> use the serial port <dev> for accessing the target --bsl start BSL upon startup --eraseall erase complete flash memory --flash <file> flash <file> --passwordfile <file> <file> contains 32 bytes that represents the password --go <addr>|"rv" execute at addr or standard reset vector --reset make a reset --debug <level> set debug level to <level> --quiet dont say anything except the data output --verbose do some more output --help | -? show this help
To use bslsh you have to supply the right serial device with the "--device"
parameter. To use the second serial port start bslsh with:
Now you have entered the shell. You can now type the command listed below:
help [<command>] Shows help ? [<command>] Shows help call <addr> Call a function at <addr> cd <dir> change current directory to dir deek <addr> Reads a word from address <addr> disas <addr> [<file>] Disassembles the memory block from <addr> doke <addr> <word> Write a word at address <word> dump <addr> [<file>] Dumps memory at <addr> erase <addr> | "all" Erase a flash segment (handle with care!) fill <addr> <byte> fill memory block with byte flash <filename> ["swap"] flash <filename> into target go <addr>|"rv" Execute code at <addr> or standard reset vector ls [<arg>*] execute the ls program password <file> read password from file and transmit to target peek <addr> Reads a byte from address <addr> poke <addr> <byte> Writes a byte at the address <addr> quiet "on" | "off" enable quiet mode quit Exit this application q Exit this application reset ["bsl"] Resets the target run <addr>|"rv" Execute code at <addr> or standard reset vector status Print status information verbose "on" | "off" enable verbose mode version print version
All numbers are parsed in c-style syntax being decimal by default, except when prefixed with "0x" which indicates a hex or "0" which indicates an octal format.
<addr> is a number indicating a adress in MSP430 memory.
<range> defines a range in MSP430 memory. It may be given in two forms. You can either use two explicit addresses to define the range like "1024 - 0x1FFF". Note that the "-" character must be surrounded by whitespace! Or you can define the range with a start and length syntax "0x400 7168". In this examples both forms define the same range.
Please note that you have to transmit a password when invoking the shell if the password area of the MSP430 is set. You can use the password command in the shell or the command line option to set the password.
We now make a sample session using the bslsl.
You can use the command line interface of bslsh for batch style flashing and upload. To flash and start a program use bslsh as follows:
If the code in test.hex installs a reset vector in the vector table of the MSP430 the program is started with the final "--reset" option.
For further questions, comments, patches and whatever please contact
Links to MSP430 development software