David Brown says...
> You don't even need to touch a line of Python code
> normally - the tools already handle many use-cases.
> There are other ready-made tools and libraries on TI's
> website (not just the Python ones):
I've looked through TI's stuff more than once, and there's
nothing there that addresses the problem. This comes up
repeatedly on the TI forum - Can I flash firmware to an F4xx
(or any of the newer parts) using an FT232 USB-to-UART
adapter with TI's Windows flashing software? Not an
unreasonable question.
And the answer from TI is always - No, we don't support
that. You'll need to use an MSP-FET [$115] or a "Rocket"
[$15]. A generic USB adapter [$1.20] won't work.
As I see it, the problem is really very simple. I don't
need to write a new program. TI has already written and
made available, with source code, software that works
perfectly, so long as you use their proprietary and
expensive hardware interface. Of course there are other
solutions, such as writing your own BSL for the chip. And as
you say, a Python solution may exist. But it just seems
that the obvious solution is to take TI's source code and
make a few minor changes, then recompile, and then it *WILL*
work with those adapters.
I've already done this for the older parts that use BSLDEMO.
It was literally just adding options to invert the polarity
of DTR and RTS. But that was a simple program, written in
C, and I was able to use LCC-Win32 to compile it with a
fairly short learning curve. No BOOST involved.
But BSL-Scripter for the newer parts is more difficult. The
code changes are not really the problem. I think I now
understand the functions that change the state of DTR and
RTS, and last night I finished the changes I needed to add
the option to generate the hardware invoke pattern. It's
just a few lines in four of the 57 source code files. The
problem now is in compiling it.
Here's what I'm up against:
https://github.com/drcrane/bslscripter-windows
I read through the README, and I just have no idea what it
means. The is not LCC, and I don't do this stuff for a
living. I don't have Visual C++, Boost, or any of the other
libraries, nor do I have any idea of how all this works. I
was hoping the process would be less obscure, but I would
spend days, or more likely weeks, learning how all this
works - just to get the existing code to compile, and I
really don't want to do that just for this, particularly
with no prospect of ever needing to use it again.
So maybe the guy who did the repo will compile my changes
for me, but if not, I will probably drop it. If there's an
existing Python solution, people can use that with no input
from me. And there's always a chance that TI will do the
right thing and make this change themselves, which of course
is what really should happen, and which I've asked them to
do.