Grant Edwards schrieb:
I've long since given up hope on having gdb support for the 23x0 family but now I can't even program flash using smp430-jtag. It was always intermittent. Initially it took an average of about 5 attempts to program a part, and now I can't program some boards at all.
hm. when i added the F2xx support it seems that the mspgcc backed got unstable in some rare conditions. but it's difficult to debug that.
the JTAG code is mostly based on the slau149 app note with some additional code that is able to download a code snipped into the RAM and execute it. That is tricky on some parts that have a bug in the JTAG logic (so the code i refer works around that bug and originally comes wfrom TI).
Can anybody recommend a simple way to get a hex file programmed into an F2330?
as you have problems, it seems that the F23xx are different to other F2xx family members?
well, the spy-bi-wire parts are a bit tricky. spy-bi-wire uses pulse width to encode the data on the TEST pin. now a short pulse in the range of 15..100us is sued to select parallel JTAG mode (instead to spy-bi-wire mode) which is hard to generate from a PC using a "normal" OS like Windoze or Linux (without writing low level drivers).
now the mspgcc backend tries to generate that short pulse that is required to enter the parallel JTAG mode. generating this small pulse is more by luck than anything else. (fell free to review the code in CVS/jtag/msp430/JTAGfunc.c::GetDevice (around line 140). and there was a achneg in CVS/jtag/hardware_access/HIL.c that does not add delays for the special parameters used in the GetDevice code snippet)
so problems can increase if you have high CPU load or if the parallel port is slow (try EPP/ECP modes)
one secure workaround is using the USB programmers, they can generate the short pulses accurately (thus using the TI/3rd party backend) (msp430-jtag needs a patch to select the right mode there, so the public version won't work yet for parallel JTAG on spy-bi-wire devices). but using the spy-bi-wire mode should do.
if someone can contribute a reliable way to generate <100us pulses using the parallel port, fell free to speak up ;-)
as last resort, all MSP430 flash devices have the serial BSL.
I've tried IAR EW, but damned if I can figure out how to program a hex file into a part using that monstrosity.
generate intel hex files (.a43). then you can create a new binary only project and add that file to the project. you should be able to download then.
where i work we use mspgcc and IAR, for IAR we use the command line tools (as we want to automate and insert checksums and such) and do the download as described above. thus downloading a .a43 from any source/tool chain should work.
chris
