> I'm trying to use an Olimex USB debugger ("msp430-jtag-tiny"), running on > w2k, but have run into a few issues. > > If anyone else is trying to use one of these, remember that you have to > download the drivers from Olimex's website and install them first. Then > copy the supplied SiUSBXp.dll, FTD2XX.dll and MSP430.dll into your > mspgcc\bin directory (overwriting the original MSP430.dll). Don't copy the > Olimex HIL.dll - if you do so, your USB FET will work but not old parallel > port FETs. > > Running "msp430-gdbproxy.exe msp430 TIUSB" seems to work fine (using the > latest mspgcc-win version from 20060502), although it appears to have the > "debug" flag always on. > > However, I can't run the python programs (msp430-downloader.py and > msp430-jtag.py) using the USB interface. I can get some contact - for > example, I can do a reset or an erase, but reading and writing memory fails > with "invalid parameter(s)" errors. > > Trying to get contact manually from with a python shell gives me much the > same problems. Calling "jtag.MSP430_Memory(0xc00, buffer, 100)" returns a > status of 1, which is odd - according to the rest of the file, 0 is OK > and -1 is an error. The jtag.MSP430_Error_Number() function returns 0 for > no error, and the buffer has not been read. > > Since downloading with gdb/gdbproxy works fine, I know the interface itself > is working properly. But I'd like to get the python stuff working - it > makes it a lot easier to write user-friendly updater programs. > > > David Brown > System Developer > WestControl a.s > Norway >
I don't want to sound demanding, but has no one tried Olimex's USB debugger with the python tools? What is really frustrating is that gdbproxy appears to work fine with the same hardware, but I can't see how it accesses memory - as far as I can see, the relevant parts of the gdbproxy code are in the secret NDA code. I've made a couple of minor changes to msp430-downloader.py, which I think could be worth putting in the official version. They are so small that it is probably as easy for a maintainer to cut-and-paste rather than using patch: In the list of file types (line 26), the box is a little more user-friendly if we use: typeList=[('Binaries (*.hex, *.elf, *.a43)', '*.hex;*.elf;*.a43'), 'hex', 'elf', 'a43', '*'] I also replaced the confirmation box with a choice of interface, supporting USB on windows: answer = EasyDialogs.AskYesNoCancel("Use Parallel port JTAG or USB JTAG?", default=1, yes="Parallel port", no="USB") if answer == 0: #NO -> USB lpt = 'TIUSB' elif answer == 1: #YES -> Parallel port lpt = '1' else: #CANCEL sys.exit(1) This might need to be optional when running on Linux (until there is support for the USB tools on Linux). Of course, I couldn't test that programming works here - but erasing is working fine... mvh., David